At the moment I am just getting a plugin working that has a web page to allow the user to say which of the notifications they want to receive, and what the MQTT topic should be for each notification. I am also extending your stubs to send a plain text message. When that works I will then look at the payload will be for each type of notification. So it is good we discuss it now.
Sending a python dictionary object containing the elements covered would make it easy to use that and send those elements in the payload. Maintaining the dictionary could be a problem, unless it could be automatically generated. I wonder if that is possible?
I wasn’t too concerned about the traffic as these events are relatively rare. eg Once OSPI is configured, the main events would be stations turning on and off, and these are a few per week, or in the worst case per day. If the python gv object was sent, anyone using it could simply replace all values. This is easy to write and maintain at both ends. However when I get to that stage I will do some tests.
Of course this will only improve performance if the apps making HTTP calls are modified to take advantage of it.