Closed maltejahn closed 1 year ago
@maltejahn
It seems that you're using it more like a script (connect -> doing running some commands -> disconnect). It would be better if you start the connection in the morning and disconnect (for example) at midnight. You can still use the trigger for running some commands when needed (but without doing a connect and disconnect).
Thanks for your really fast reply.
So, the node should be connected all day . I provoked e.g. a daily disconnect (provider) by connect/disconnect using a timer in node red. So the same should occur when the povider disconnects. Doing alot connect/disconnect like i did, getting disconnected by the provider or connect/disconnect at fixed time should lead to the same behavior - in my opinion (on the otherhand you are using it for quite a while without issues like that)
And howto check if the Flow is connected ? When triggering e.g. BatteryInfo and it isnt connected, there is no output which informs me about this (which i could use to connect then..). Ok, the information is, that there was no output. I could use this to try to reconnect.
But, what makes me wonder: When deploying something in NodeRed it starts from beginning. So with deploying, it seems to "flush the buffer". Hard to explain..
So, after playing around i do it like this:
I works till now. Lets see what happens after a few days. And this filtering for e.g. BatteryInfo, ChargeState and using alot of switches, functions etc. i hope one day i will be able to do it a little smarter.
I still struggle to get the "status" of the connection which I could use for a reconnect.
Why don't you use the Status-Node to check for the status ("Connecting...", "Connected" or "Disconnected")?
Because... i just learned how to use the status node (didnt know the "status.text" attribute...). Thanks for the pictures.
It seems to work. As it detects the disconnect state, it connects again. I will add a little delay. I now stop play fiddling around and see if the error from the beginning ("MaxListenersExceededWarning: Possible EventEmitter memory leak detected") again occurs
Thanks till now!
As the error hasnt occured for the last days, I close it
@maltejahn could you please share your node red flow? Would help me alot.
Is there an existing issue for this?
The problem
Hi,
I think I am using this NodeRed Flow the wrong way:
I wanted to create a trigger which connects, do a little 10s delay and then disconnect (the easiest way to get all data without the need to know if the deebot is connected or not). This should be done every minute. This works in general, but by doing so every message from the Deebot occurs one more time. So, after doing Connect/Disconnect for 3 times e.g. "BatteryInfo" appears 3 times(and every other entry)
This wouldnt be a issue if this only happens in the debug screen. But i will get a syslog message:
| (node:461) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 CurrentCustomAreaValues listeners added to [EcovacsXMPP_XML]. Use emitter.setMaxListeners() to increase limit
If i just Connect + get Data it works fine. But how should I know if the Deebot is still connected? -> so again, I think I am using this the wrong way
With which model does the problem occur?
Deebot OZMO 930
Which "other" models are you using?
No response
Which version of the ecovacs-deebot node are you using?
0.4.8
Which version of Node-RED you have installed?
0.3.2
Which version of Node.js are you using?
16.2
Anything in the logs that might be useful?
No response
Additional information
Raspberry 3B