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

Sending notifications from python to MM



  • Hi,

    I have a touch phat that I’d like to use to interact with modules, but the libraries for it are python only.
    That’s fine as I’m familiar with python, but I have no java script experience.
    The interactions that I’m thinking of are similar to those of the MMM-ModuleScheduler, e.g. hiding and displaying etc.

    I think my best bet is to make use of the notifications system and send post requests using the MMM-API module (though I’d be happy to receive other suggestions).

    My problem is that I can’t figure out what the post request should look like.
    The readme on the MMM-API gives this example :
    http://MAGIC_MIRROR_IP:PORT/api/v1/modules/MODULE_NAME/ACTION?payload1key=payload1value&payload2key=payload2value
    but I can’t figure out what the payloadxkey and payloadxvalues should be for, say, hiding or showing a module.
    I’ve looked at js of the MMM-ModuleScheduler and the MMM-Remote-Control but I can’t figure it out.

    Could someone provide me with example post request urls to hide and show the calendar module please, or suggest a better method please?


  • Module Developer

    @bream
    Hi,
    what are you trying to do with your buttons?

    Here are some sample links for MMM-Remote-Control:

    Change Pages (to use with MMM-Pages):
    http://MAGIC_MIRROR_IP:PORT/remote?action=NOTIFICATION& notification=PAGE_DECREMENT
    http://MAGIC_MIRROR_IP:PORT/remote?action=NOTIFICATION& notification=PAGE_INCREMENT

    Some MM Basic Operations:
    http://MAGIC_MIRROR_IP:PORT/remote?action=REBOOT
    http://MAGIC_MIRROR_IP:PORT/remote?action=SHUTDOWN

    Some Display Operations:
    http://MAGIC_MIRROR_IP:PORT80/remote?action=MONITORON
    http://MAGIC_MIRROR_IP:PORT/remote?action=MONITOROFF

    Hope that helps.

    AxLED



  • @AxLed
    Hi, thanks for replying. That’s helpful to see spelled out.

    I’m trying to hide or show the newsfeed module at the moment and trying to figure out the url to do that.

    Based on your post and what I can figure out from the MMM-Remote-Control readme, I’ve tried the following, but they don’t work
    http://MAGIC_MIRROR_IP:PORT/remote?action=HIDE&payload={%22name%22:%22newsfeed%22}
    http://MAGIC_MIRROR_IP:PORT/remote?action=HIDE&payload=NEWSFEED
    http://MAGIC_MIRROR_IP:PORT/remote?action=HIDE& notification=newsfeed

    I’m obviously not interpreting the info in the readme correctly. Can you suggest a url that will hide the module?


  • Module Developer

    @bream

    The link has to look like:
    http://MAGIC_MIRROR_IP:PORT/remote?action=HIDE&module=module_7_newsfeed

    You have to use the right module name, in my case it is “module_7_newsfeed”, you can find this out by opening your MM in your firefox browser and use F12 Button and check the HTML source, what the name of your newsfeed module is.

    Hope this helps.

    AxLED



  • @axled said in Sending notifications from python to MM:

    You have to use the right module name, in my case it is “module_7_newsfeed”, you can find this out by opening your MM in your firefox browser and use F12 Button and check the HTML source, what the name of your newsfeed module is.

    It does - the buttons work as required now. Thank you 🙂
    So that looks like it’s the position of the module in the config file so it’ll remain static unless I change the config for some reason.
    I really appreciate that. Thanks again.



  • And how to trigger an alert from python or bash (curl)?
    Is possible to show an image in the alert popup?



  • @cyberdie
    From python, the following will result in an alert

    >>> import requests
    >>> url = 'http://MAGIC_MIRROR_IP:PORT/remote?action=SHOW_ALERT&title="This is the title"&message="And this is the message"'
    >>> requests.get(url)
    

    I can’t answer as to how you’d place an image within the alert though



  • Thanks @bream !