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.

    Python in to the magic mirror.

    Scheduled Pinned Locked Moved Solved Troubleshooting
    43 Posts 4 Posters 19.4k Views 4 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.
    • P Offline
      paulvanderheijden90 @Guest
      last edited by

      @sean
      Hello Sean,
      The problem is not the python project. But I think the buffer is filling up ore something.

      At this point all the massages are displayed on the mirror and after 15 min the mirror is freeze.

      So im looking in to it.

      1 Reply Last reply Reply Quote 0
      • P Offline
        paulvanderheijden90 @sdetweil
        last edited by

        @sdetweil fixed sorry

        S 2 Replies Last reply Reply Quote 0
        • S Away
          sdetweil @paulvanderheijden90
          last edited by sdetweil

          @paulvanderheijden90 i don’t see the python module

          you can add it to the directory and repo temporarily, then remove it later

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • S Away
            sdetweil @paulvanderheijden90
            last edited by

            @paulvanderheijden90 so far I don’t see the same crash error…

            I did have to make some minor changes…

            Module name to match the git repo name
            path to a python script
            and change the display handling…
            rule is ONLY content change location is getDom()…
            other routines should store data and call updateDom(0 to signal that there ARE changes to display

            I’m gonna let it run for a while…

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            P 1 Reply Last reply Reply Quote 0
            • P Offline
              paulvanderheijden90 @sdetweil
              last edited by

              @sdetweil
              hello ! Thank you for your help so far.

              The python project is running fine on it selfs.

              But wenn I use it with the magic mirror the buffer of the magic mirror is filling. And freezes.

              the python project is made in combination with a Antenna.
              Setup looks like https://nl.oneguyoneblog.com/2016/08/09/p2000-ontvangen-decoderen-raspberry-pi/#comment-488

              so you’ll need to have data from the Multimom to get different information to send to the mirror

              S 1 Reply Last reply Reply Quote 0
              • S Away
                sdetweil @paulvanderheijden90
                last edited by

                @paulvanderheijden90 I wrote a little hello world python script to send data. All that is working as expected so far

                How big is the data buffer your python script sends?

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                P 1 Reply Last reply Reply Quote 0
                • P Offline
                  paulvanderheijden90 @sdetweil
                  last edited by paulvanderheijden90

                  @sdetweil
                  it is almost 50 char long. Im making a screen movie to let you see what I meen so it will become clear.
                  Send it you in a couple of minutes

                  Please see the full movie and notice the fail at 1:41
                  https://www.youtube.com/watch?v=VBYL1j4p2aI&feature=youtu.be

                  S 1 Reply Last reply Reply Quote 0
                  • cowboysdudeC Offline
                    cowboysdude Module Developer
                    last edited by

                    Very interested in this project… I have a python script to control my thermostat and was wondering how to get port it over…this may give me some answers :)

                    1 Reply Last reply Reply Quote 0
                    • S Away
                      sdetweil @paulvanderheijden90
                      last edited by

                      @paulvanderheijden90 i submitted a pull request to your repo. this code runs for hours and hours…
                      tiny changes from yours…

                      the biggest is that the module filename is changed to match the name of the project
                      (but that isn’t why it hung)… I actually don’t know the cause on your side…

                      please download my code and try it out… let me know

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      P 1 Reply Last reply Reply Quote 0
                      • P Offline
                        paulvanderheijden90 @sdetweil
                        last edited by

                        @sdetweil @Sean
                        Hello Guys Thank you for your vallueed help!

                        I found out that the spawn function is called every time. so in a couple of minuts the spawn function has called 100 python projects. and this is blocking the raspberry

                        I changed is to this: and now im going to Import the project of sdetweil in the software. But it is no more blocking.
                        thank you guys

                        /// node_helper.js
                        
                        
                        
                        const spawn = require("child_process").spawn
                        
                        
                        
                        var NodeHelper = require("node_helper")
                        
                        
                        var process = spawn("python", ["/home/pi/src/P2000.py"])
                        
                        
                        
                        
                        module.exports = NodeHelper.create({
                        
                        
                        
                          socketNotificationReceived: function(notification, payload) {
                        
                        
                        
                            switch(notification) {
                        
                        
                        
                              case "GIVE_ME_DATA":
                        
                        
                        	
                        
                                this.job()
                        
                        
                        
                                break
                        
                        
                        
                            }
                        
                        
                        
                          },
                        
                        
                        
                          job: function() {
                        
                        	
                            
                            process.stdout.on("data", (data)=>{
                        
                              console.log(data)
                        
                              var result = String.fromCharCode.apply(null, new Uint16Array((data)))
                        
                              this.sendSocketNotification("HERE_IS_DATA", result)
                        
                        
                        
                            })
                        
                        
                        
                          }
                        
                        
                        
                        })
                        
                        
                        
                        ? 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 4 / 5
                        • First post
                          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