Read the statement by Michael Teeuw here.
How do notifications work?
-
@Sruc91 I’m doing something similar. Take a look at the MMM-Buttons module to see how to capture the button press and send notifications, and then take a look at MMM-Profile switcher to see how it receives notifications.
In my case, I modified MMM-ProfileSwitcher to receive a “CYCLE_PROFILE” notification that cycles through a list of configured profiles. PM me and I can send you my modified version.
-
@Sean That does make sense, thank you. In some modules’ descriptions they are just mentioned but no indication on how one should use them.
@j-e-f-f So I see that in the MMM-Buttons module the notifications are defined in the config file and you can use the needed payload to send information.
So if I understand correctly, if I send a notification from MMM-Buttons like so:
this.sendNotification('CURRENT_PROFILE', 'DESIRED_PROFILE_NAME_HERE');
Do I just send the desired notification with the payload of the desired profile and the ProfileSwitcher will understand it?
-
@Sruc91 as i know, you are right.
Or you can build your ‘translator’ module which send CURRENT_PROFILE message when BTN_PRESSED message is coming between btn module and prflswtchr module… Its better to keep original legacy codes. -
@Sruc91 well yeah, but the way MMM-Buttons works, it would send the same payload each time. So if you configured the button press to send the notification ‘CURRENT_PROFILE’ with the payload ‘Jeff’, each button press would be a request to show Jeff’s profile.
So you need something that always receives the same notification/payload pair to do something different each time with it. That’s what my modification to ‘MMM-ProfileSwitcher’ does, or you can do as @Sean says and write another module to keep track of which profile is next and relay the ‘CURRENT_PROFILE’ notification to the MMM-ProfileSwitcher.
-
@j-e-f-f That makes sense, thank you very much.
Is there any way that I can track those notifications? Like for example, if I send a notification with the MMM-Buttons, is it registered anyway that I can check?
-
@Sruc91 you’ll see output in Electron’s console when the event is broadcast.
-
console.log(your output);