@alexyak @tyho I was able to get my sleep and wake up function to work using tyho’s code as well as able to find a way to turn the LED on. However, I cannot seem to turn it off once on. I am driving the switch with a gpio pin and transistor. It seems that after the pi executes the action, it wont listen for anything else. Example is if I tell it to turn the LED on, it does so. Then i say go to sleep, and it won’t. I go for the reboot and try again and start with the sleep command first. Then I try to turn the LED on and it won’t do that. Is there a way to have the function in tyho’s node_helper.js loop back again to the beginning? I feel like it get’s stuck once it executes a function. I also have an issue with the screen being yellow and zoomed in when i wake up the mirror after sleep. Don’t think it is a hardware issue, but I haven’t swapped HDMI cables yet.
For reference:
Code for modified node_helper.js:
socketNotificationReceived: function(notification) {
if (notification === “CONNECT”) {
clearTimeout(timer);
this.autosleep();
}
if (notification === ‘go_to_sleep’) {
exec(“/opt/vc/bin/tvservice -o”, null);
clearTimeout(timer);
=}
if (notification === ‘wake_up’) {
exec(“/opt/vc/bin/tvservice -p”, null);
exec(“/bin/fbset -depth 8 && /bin/fbset -depth 16 “, null);
exec(”/usr/bin/xrefresh”,null);
clearTimeout(timer);
this.autosleep();
}
if (notification === ‘lights_on’) {
exec(“echo ‘18’ > /sys/class/gpio/export”, null);
exec(“echo ‘out’ > /sys/class/gpio/gpio18/direction”, null);
gpio.setup(‘sys’);
gpio.digitalWrite(18,1);
clearTimeout(timer);
}
if (notification === ‘lights_off’) {
exec(“echo ‘18’ > /sys/class/gpio/export”, null);
exec(“echo ‘out’ > /sys/class/gpio/gpio18/direction”, null);
gpio.setup(‘sys’);
gpio.digitalWrite(18,0);
clearTimeout(timer);
}
},
autosleep: function(){
var self = this;
timer=setTimeout(function(){
exec(“/opt/vc/bin/tvservice -o”, null);
self.sendSocketNotification(“autosleep”, {});
}, 10601000);
}
});
Any help is greatly appreciated.