• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

MMM-Remote-Control API Questions

Scheduled Pinned Locked Moved Troubleshooting
17 Posts 3 Posters 3.3k Views 3 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    sgarg15 @sdetweil
    last edited by sgarg15 Apr 19, 2020, 6:38 PM Apr 19, 2020, 6:38 PM

    @sdetweil If possible could you please give me an example of how i would do it, i dont know much about js. and i looked at the MMM-Swipe but i couldnt understand much

    S 1 Reply Last reply Apr 19, 2020, 6:58 PM Reply Quote 0
    • S Away
      sdetweil @sgarg15
      last edited by sdetweil Apr 19, 2020, 7:02 PM Apr 19, 2020, 6:58 PM

      @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)
      });
      

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      S 1 Reply Last reply Apr 19, 2020, 8:41 PM Reply Quote 0
      • S Offline
        sgarg15 @sdetweil
        last edited by Apr 19, 2020, 8:41 PM

        @sdetweil This may be a stupid question, but is there any way i can test this on my laptop, without the raspberry pi?

        S 1 Reply Last reply Apr 19, 2020, 11:02 PM Reply Quote 0
        • S Away
          sdetweil @sgarg15
          last edited by sdetweil Apr 19, 2020, 11:06 PM Apr 19, 2020, 11:02 PM

          @sgarg15 of course. See my comments in .txt file include
          https://forum.magicmirror.builders/topic/555/txt-file-include/57

          Not the actual node_helper but the code inside. Of course u can install mm on your PC as well

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          S 3 Replies Last reply Apr 19, 2020, 11:05 PM Reply Quote 0
          • S Offline
            sgarg15 @sdetweil
            last edited by Apr 19, 2020, 11:05 PM

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • S Offline
              sgarg15 @sdetweil
              last edited by Apr 19, 2020, 11:09 PM

              @sdetweil

              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?

              S 1 Reply Last reply Apr 19, 2020, 11:21 PM Reply Quote 0
              • S Offline
                sgarg15 @sdetweil
                last edited by Apr 19, 2020, 11:12 PM

                @sdetweil Also how do i make it so that the python file is always running?

                1 Reply Last reply Reply Quote 0
                • S Away
                  sdetweil @sgarg15
                  last edited by Apr 19, 2020, 11:21 PM

                  @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

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  S 1 Reply Last reply Apr 19, 2020, 11:24 PM Reply Quote 0
                  • S Away
                    sdetweil @sdetweil
                    last edited by Apr 19, 2020, 11:24 PM

                    @sgarg15 your python PGM has to loop somehow. I don’t do python

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      sgarg15
                      last edited by Apr 20, 2020, 12:14 AM

                      @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?

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 1 / 2
                      1 / 2
                      • First post
                        9/17
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy