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.

    Ideas Needed

    Scheduled Pinned Locked Moved General Discussion
    17 Posts 5 Posters 4.7k Views 5 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
      sdetweil @MilkShake
      last edited by

      @MilkShake why do you need a python script to issue a get?

      in javascript in a browser, use the builtin fetch function

      fetch(url).then((info){})
      

      as u have the javascript to issue a message. its a one liner, maybe 5… i don’t know what the python needs to do

      https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      M 1 Reply Last reply Reply Quote 0
      • M Offline
        MilkShake
        last edited by

        It doesn’t really matter how I do it. The point is that it has to be done from LAN, so I need a way to interact with the mirror and get it to fire the script.

        R 1 Reply Last reply Reply Quote 0
        • M Offline
          MilkShake @sdetweil
          last edited by

          @sdetweil this is two lines:

          import requests
          
          x = requests.get('http://USERNAME:PASSWORD@192.168.1.XXX/bha-api/open-door.cgi')
          print(x.status_code)
          
          
          S 1 Reply Last reply Reply Quote 0
          • R Offline
            retroflex Project Sponsor Module Developer @MilkShake
            last edited by

            @MilkShake Isn’t the mirror on the same LAN? In that case you don’t have to do any port forwards.

            M 1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @MilkShake
              last edited by

              @MilkShake right, but now you gotta figure out how to execute it and u can’t do that from the browser, so now you need a node_helper and all that communication, and launching the ting in the background, etc,etc,etc)

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              M 1 Reply Last reply Reply Quote 0
              • M Offline
                MilkShake @sdetweil
                last edited by

                @sdetweil I’m not following your point. I get it that I could do the GET from javascript instead of running a script, but the rest you might elaborate a bit more on :)

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @MilkShake
                  last edited by

                  @MilkShake show me your script that is called when the action occurs

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  M 1 Reply Last reply Reply Quote 0
                  • M Offline
                    MilkShake @sdetweil
                    last edited by MilkShake

                    @sdetweil my whole point is, since the action happens on the google assistant I would need to do port forwards in my firewall to be able to call a LAN URL with a GET method. I guess it would be possible to catch the event locally on the mirror and then call the python script or do the GET method in some other manner, but I don’t know how to do that.

                    One option would be to just add a physical button to the raspberry pi and when pressed it runs the GET method. It just annoys me that you can make the assistant understand a command, but not utilize it locally on LAN.

                    S 1 Reply Last reply Reply Quote 0
                    • M Offline
                      MilkShake @retroflex
                      last edited by

                      @retroflex The mirror and the gate are on the same LAN. The assistant understands the “Open Gate” command and replies with “Ok, Opening the gate”, but if I were to use a Google Action to do the GET, it would come from the internet.

                      I don’t know how to catch the event locally on the mirror. If I did, I would just call the python script and the gate would open.

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @MilkShake
                        last edited by sdetweil

                        @MilkShake the actions run locally on the mirror, they are TRIGGERED from the module… not as callbacks I don’t think
                        (i haven’t done that myself, but it seemed logical before) the old recipe stuff

                        you just create a little script in maybe the new A2D but old assistant had it to to trigger events…

                        here is fiddling with the radio on the mirror

                        https://github.com/bugsounet/MMM-Assistant2Display/wiki/Radio_help

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • BKeyportB Offline
                          BKeyport Module Developer
                          last edited by BKeyport

                          How I do URL calls in python is through urllib.request - import that library then:

                          urllib.request.urlopen("http://pi.hole:60001/remote?action=MONITORTOGGLE")
                          

                          Depends on how far outside you wanna go outside the MM ecosystem.

                          edit: reminds me, I gotta re-write that for the new config, pi-hole and the mirror being two different units now.

                          The "E" in "Javascript" stands for "Easy"

                          S 1 Reply Last reply Reply Quote 1
                          • S Offline
                            sdetweil @BKeyport
                            last edited by

                            @BKeyport but u have to use a helper to launch the python code…
                            way overhead for a fetch or post

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

                            BKeyportB 1 Reply Last reply Reply Quote 0
                            • BKeyportB Offline
                              BKeyport Module Developer @sdetweil
                              last edited by

                              @sdetweil True, if you’re staying in the MM ecosystem - in my case, I couldn’t get the modules I wanted to work the way I wanted, so I wrote up a python script to cover it, and it runs independently of MM

                              He wanted a python method, so I gave him options.

                              The "E" in "Javascript" stands for "Easy"

                              1 Reply Last reply Reply Quote 0
                              • ? Offline
                                A Former User
                                last edited by

                                maybe by using traits (google actions)
                                example of recipes there

                                this doc can help to make it

                                M 1 Reply Last reply Reply Quote 0
                                • M Offline
                                  MilkShake
                                  last edited by

                                  I went the way of dataplicity.io/wormhole, NGINX, IFTTT and MMM-NotificationTrigger. That way I should be able to use a webhook to execute the python script.

                                  1 Reply Last reply Reply Quote 0
                                  • M Offline
                                    MilkShake @Guest
                                    last edited by

                                    @Bugsounet Thanks Bugs! I will look into that when I have time for it.

                                    1 Reply Last reply Reply Quote 0

                                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                    With your input, this post could be even better 💗

                                    Register Login
                                    • 1 / 1
                                    • 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