Achronite / mqtt-energenie-ener314rt

MQTT interface for Energenie ENER314-RT add-on board for the Raspberry Pi, designed for use by Home Assistant.
MIT License
13 stars 5 forks source link

mqtt-energenie ERR! energenie TypeError: data not number #49

Closed genestealer closed 8 months ago

genestealer commented 10 months ago

Code crashes when one or more eTRV radiators maintenance commands are sent:

Error: TypeError: data not number line 160 of energenie.js var res = ener314rt.openThingsCacheCmd(msg.deviceId, msg.otCommand, msg.data);

Steps to reproduce: Set maintenance command to something: image Sometimes you need to set two eTRV's maintenance commands, then the script crashes.

image

Oct 04 11:16:02 raspberrypi systemd[1]: mqtt-energenie-ener314rt.service: Succeeded.
Oct 04 11:16:02 raspberrypi systemd[1]: mqtt-energenie-ener314rt.service: Consumed 1.832s CPU time.
Oct 04 11:20:07 raspberrypi systemd[1]: Started Energenie ener314rt MQTT client.
Oct 04 11:20:07 raspberrypi node[27490]: mqtt-energenie-ener314rt version 0.5.1: starting
Oct 04 11:20:07 raspberrypi node[27490]: mqtt-ener314rt info MQTT connecting to broker mqtt://192.168.10.21
Oct 04 11:20:08 raspberrypi node[27490]: mqtt-ener314rt info monitor starting monitoring of FSK devices...
Oct 04 11:20:08 raspberrypi node[27490]: mqtt-ener314rt http MQTT setting availability topic energenie/availability/state to 'online'
Oct 04 11:20:08 raspberrypi node[27490]: mqtt-ener314rt info discovery discovery enabled at topic prefix 'homeassistant/'
Oct 04 11:20:08 raspberrypi node[27490]: mqtt-ener314rt info MQTT subscribed to energenie/+/+/+/command
Oct 04 11:20:08 raspberrypi node[27529]: mqtt-energenie info energenie child process started
Oct 04 11:20:08 raspberrypi node[27529]: ener314rt: Hardware driver enabled on /dev/spidev0.1
Oct 04 11:20:08 raspberrypi node[27529]: mqtt-energenie info energenie ENER314-RT initialised succesfully
Oct 04 11:20:08 raspberrypi node[27529]: mqtt-energenie info energenie monitoring thread started
Oct 04 11:20:24 raspberrypi node[27490]: mqtt-ener314rt http command {"cmd":"cacheCmd","mode":"fsk","repeat":20,"command":"Maintenance","productId":3,"deviceId":5993,"otCommand":164,"data":false}
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie TypeError: data not number
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie     at process.<anonymous> (/home/pi/mqtt-energenie-ener314rt/energenie.js:160:33)
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie     at process.emit (node:events:513:28)
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie     at emit (node:internal/child_process:946:14)
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie     at processTicksAndRejections (node:internal/process/task_queues:84:21)
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie  uncaughtException: %j, kill(%d,SIGABT) 27529 TypeError: data not number
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie     at process.<anonymous> (/home/pi/mqtt-energenie-ener314rt/energenie.js:160:33)
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie     at process.emit (node:events:513:28)
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie     at emit (node:internal/child_process:946:14)
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie ERR! energenie     at processTicksAndRejections (node:internal/process/task_queues:84:21)
Oct 04 11:20:24 raspberrypi node[27529]: mqtt-energenie info energenie signal "SIGABRT", closing adaptor and monitoring thread...
Oct 04 11:20:34 raspberrypi node[27529]: mqtt-energenie info energenie done - "SIGABRT", exit(3)
Oct 04 11:20:34 raspberrypi node[27490]: mqtt-ener314rt WARN app exit due to terminated energenie process. code=3, signal=null
Oct 04 11:20:34 raspberrypi systemd[1]: mqtt-energenie-ener314rt.service: Succeeded.
Oct 04 11:20:34 raspberrypi systemd[1]: mqtt-energenie-ener314rt.service: Consumed 1.844s CPU time.
Oct 04 11:23:32 raspberrypi systemd[1]: Started Energenie ener314rt MQTT client.
Oct 04 11:23:32 raspberrypi node[28780]: mqtt-energenie-ener314rt version 0.5.1: starting
Oct 04 11:23:33 raspberrypi node[28780]: mqtt-ener314rt info MQTT connecting to broker mqtt://192.168.10.21
Oct 04 11:23:33 raspberrypi node[28780]: mqtt-ener314rt info monitor starting monitoring of FSK devices...
Oct 04 11:23:33 raspberrypi node[28780]: mqtt-ener314rt http MQTT setting availability topic energenie/availability/state to 'online'
Oct 04 11:23:33 raspberrypi node[28780]: mqtt-ener314rt info discovery discovery enabled at topic prefix 'homeassistant/'
Oct 04 11:23:33 raspberrypi node[28780]: mqtt-ener314rt info MQTT subscribed to energenie/+/+/+/command
Oct 04 11:23:33 raspberrypi node[28788]: mqtt-energenie info energenie child process started
Oct 04 11:23:33 raspberrypi node[28788]: ener314rt: Hardware driver enabled on /dev/spidev0.1
Oct 04 11:23:33 raspberrypi node[28788]: mqtt-energenie info energenie ENER314-RT initialised succesfully
Oct 04 11:23:33 raspberrypi node[28788]: mqtt-energenie info energenie monitoring thread started
Oct 04 11:24:19 raspberrypi node[28780]: mqtt-ener314rt http command {"cmd":"cacheCmd","mode":"fsk","repeat":20,"command":"Maintenance","productId":3,"deviceId":4168,"otCommand":165,"data":2}
Oct 04 11:24:19 raspberrypi node[28780]: mqtt-ener314rt http monitor received: {"cmd":"cacheCmd","mode":"fsk","repeat":20,"command":"Maintenance","productId":3,"deviceId":4168,"otCommand":165,"data":2,"retries":10}
Oct 04 11:24:19 raspberrypi node[28780]: mqtt-ener314rt http cached {"cmd":"cacheCmd","mode":"fsk","repeat":20,"command":"Maintenance","productId":3,"deviceId":4168,"otCommand":165,"data":2,"retries":10}
Oct 04 11:24:20 raspberrypi node[28780]: mqtt-ener314rt http command {"cmd":"cacheCmd","mode":"fsk","repeat":20,"command":"Maintenance","productId":3,"deviceId":4168,"otCommand":164,"data":false}
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie TypeError: data not number
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie     at process.<anonymous> (/home/pi/mqtt-energenie-ener314rt/energenie.js:160:33)
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie     at process.emit (node:events:513:28)
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie     at emit (node:internal/child_process:946:14)
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie     at processTicksAndRejections (node:internal/process/task_queues:84:21)
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie  uncaughtException: %j, kill(%d,SIGABT) 28788 TypeError: data not number
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie     at process.<anonymous> (/home/pi/mqtt-energenie-ener314rt/energenie.js:160:33)
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie     at process.emit (node:events:513:28)
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie     at emit (node:internal/child_process:946:14)
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie ERR! energenie     at processTicksAndRejections (node:internal/process/task_queues:84:21)
Oct 04 11:24:20 raspberrypi node[28788]: mqtt-energenie info energenie signal "SIGABRT", closing adaptor and monitoring thread...
Oct 04 11:24:30 raspberrypi node[28788]: mqtt-energenie info energenie done - "SIGABRT", exit(3)
Oct 04 11:24:30 raspberrypi node[28780]: mqtt-ener314rt WARN app exit due to terminated energenie process. code=3, signal=null
Achronite commented 10 months ago

@genestealer I've released a fix for the type error on Maintenance LOW_POWER_MODE. Please pull this from develop and try to reproduce

genestealer commented 10 months ago

Thank you, will try it now.

genestealer commented 10 months ago

@Achronite Thank you fix was successful :) image

Achronite commented 9 months ago

Reopened as this will be auto-closed when released to master.