MagicMirror² v2.13.0 is available! For more information about this release, check out this topic.

Ideas Needed



  • Hi,
    So I build a magic mirror with MMM-AssistantMk2 and it works pretty good. I have the assistant/mirror integrated with the following:

    Roborock vacuumers (1 on each floor)
    Siemens EQ9 automatic coffeemachine
    Hue Lighting
    Video feed from the gate camera (doorbird 101D)

    So, I got the assistant to recognize the open gate “Open Gate” command and respond with “Ok, Opening the front gate”. However, in order to actually open the front gate, a HTTP GET needs to be sent to the gate camera. I can do that with a python script on the Raspberry PI, however in order to get the assistant to call that script I would need to do port forwards in my firewall, which I would rather not.

    I need some way to interact with the mirror, so it calls the python script. It could be a physical button but I am looking for alternatives.

    Does anyone have any ideas?

    Best
    MilkShake



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



  • 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.



  • @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)
    
    

  • Project Sponsor Module Developer

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



  • @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)



  • @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 🙂



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



  • @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.



  • @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.


Log in to reply