Read the statement by Michael Teeuw here.
Electricity Bill Module Development
-
Does it help if I tell you that I got everything on my onstart function of the node_helper file?
-
@SopaMaruchan never done it in start.
I usually wait til the module sends it’s 1st request
-
@SopaMaruchan I’m realizing that my my receiveSocketNotification is not being triggered on my MM-Module file:
I logged some text after calling receiveSocketNotification function but there’s no output on console.node_helper:
-
@SopaMaruchan if the send fails like that, not sent
-
@SopaMaruchan
let self=thishas to be inside the getBill() function
otherwise it could be set wrong… -
@SopaMaruchan maybe for debug
inside the request() callback function,
do a
console.log(JSON.stringify(self, null,2))
to see what ‘this’ was pointing to
-
@sdetweil it’s indeed pointing to my module. Here’s the output:
and the huge LOG ends with the last 2 arguments: null & 2 -
problem is that the sockets are not connected at start time. so the sendSocketNotification is a no-op.
u need wait til the module sends a socket message
the module config is not visible to the node_helper, so the module has to send it over/down…
-
@SopaMaruchan Maybe the below example would help or serve as a guide to see if you may have the send call in the wrong place.
module.exports = NodeHelper.create ({ start: function() { console.log('Starting node_helper for module: ' + this.name) }, getLights: async function(payload) { var url = "http://" + payload.bridgeip + "/api/" + payload.userid + "/" + payload.lightsOrGroups; var response = await fetch(url) if (!response.status == 200) { console.error(`Error retrieving data: ${response.statusCode} ${response.statusText}`) return; } var result = await response.json() this.sendSocketNotification("lightsorgroups", result) },````
-
@mumblebaj he is calling from start:
but sockets not setup yet.
he really needs to wait til the module sends the 1st notification down ( what we use to send config info from module to helper)