Read the statement by Michael Teeuw here.
How do notifications work?
-
Finally, let’s see how to make showing module one by one by pressing button.
The easist way is to make your module by your self, not a joke.
MMM-Button only broadcasts BTN_PRESSED message. And MMM-ProfileSwitcher doesn’t understand that message. Therefore if you want to use these two modules, you should modify both of them to send and receive proper Message and payload to carry profile informations. That modification is ideally equal to make it from scratch by yourself. -
@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);