I am using a Sonar module on Raspberry Pi to indicate whether someone is in front of the mirror or not. I use MMM-websocket to transfer this information to MagicMirror and it works correctly. Now, when there is nobody in front of the mirror for x seconds, I would like to call a function to reset the module. However, I got an issue on Javascript side:
Currently I have this function for resetting in my module:
userNoLongerInFrontSoReset: function(){
if (this.resetTimeout != null){
clearTimeout(this.resetTimeout);
}
this.resetTimeout = setTimeout(function(){
console.log("resetTimeout setTimeout");
this.myVar = null;
this.myVar2 = null;
this.myVar3 = null;
this.sendNotification("PAGE_CHANGED", 0);
this.updateDom();
}, 3000)
}
I see from the console that resetTimeout setTimeout
is being printed out from the code above, but then it got:
Uncaught TypeError: this.sendNotification is not a function at myOwnModule.js:xxx
So this
is the problem. All those variables myVar
, etc. are not being referred correctly as well as the function sendNotification
. How can I set all myVar
and call sendNotification
from the anonymous function in this case? Or is there a better way to do this?
Thank you,