Read the statement by Michael Teeuw here.
MMM-Remote-Control API Questions
-
@sgarg15 swipe isn’t a good example after all, uses a library which hides all that… nor PIR…
your python script needs to run forever and put out messages for each movement it sees…
then you use the nodejs Python_Shell library to launch it
import {PythonShell} from 'python-shell'; let pyshell = new PythonShell('my_script.py'); // < --- whatever your script name, in the module folder // the .on handler gets called each time the pythin script writes a message to stdout pyshell.on('message', function (message) { // received a message sent from the Python script (a simple "print" statement) console.log(message); // send info up to modulename.js this.sendSocketNotification("movement", message) });
-
@sdetweil This may be a stupid question, but is there any way i can test this on my laptop, without the raspberry pi?
-
@sgarg15 of course. See my comments in .txt file include
https://forum.magicmirror.builders/topic/555/txt-file-include/57Not the actual node_helper but the code inside. Of course u can install mm on your PC as well
-
This post is deleted! -
var dataFile=["Archer S01E02Someshow.tv", "Archer S01E03Someshow .tv", "Archer S01e02Someshow .tv", "Archer S01E04Someshow .tv", "Archer S01E05someshow .tv", "Archer s01E02Someshow .tv", "Archer S01E09Someshow .tv", ] var counter1=10 if(dataFile){ var output_list= []; // should make this a config variable by adding to module defaults // then would be this.config.counter // get display limit, 10 if not specified in defaults var counter=counter1 || 10 // setup regex, no i no g (only once, and case sensitive) var splitRegExp = /.*[S][(0-9)]+[E][(0-9)]+/; // loop thru the list of filenames for(filename of dataFile) { // if the name is not zero length (split could have returned for just linefeed if(filename.length >0 && counter >0) { // get the filename prefix var split = splitRegExp.exec(filename); // save name to the output list, as a table entry // remove space after the ->< , the forum hides everything after unless a space // table has a row, output_list.push("<tr><td>") // with data if(split) output_list.push(split) else output_list.push('name not matched '+ filename) // end of data and row output_list.push("</td></tr>") counter--; } } } // insert the table into the wrapper console.log( "<table>" + output_list.join('')+ "</table>");
This correct?
-
@sdetweil Also how do i make it so that the python file is always running?
-
@sgarg15 that was the example of running a little js app on the command line node js_filename
The exact code here doesn’t help you, but the prior code I posted is what u want to try. Altho I don’t know how u will hook it to the sensors on your pc
-
@sgarg15 your python PGM has to loop somehow. I don’t do python
-
@sdetweil so, i have my python script running in the background, and in my nodeHelper.js i would have
import {PythonShell} from 'python-shell'; let pyshell = new PythonShell('Swiping.py'); // < --- whatever your script name, in the module folder // the .on handler gets called each time the pythin script writes a message to stdout pyshell.on('message', function (message) { // received a message sent from the Python script (a simple "print" statement) console.log(message); // send info up to modulename.js this.sendSocketNotification("movement", message) });
could you explain what movement and message mean in the
sendSocketNotification
? -
If you could help me achieve this, or give me some info that could help me do this i would really appreciate it