Closed genestealer closed 10 months ago
Apologies, I should have also added that I noticed that neither LED on the transceiver board are illuminated. I cannot remember if it is normal for at least the power LED to be on as soon as the Pi powers up, without any interaction from the SPI signal.
Verbos output log:
-- Journal begins at Sun 2023-09-24 10:07:54 BST, ends at Sun 2023-12-03 02:18:27 GMT. --
Dec 03 02:17:16 raspberrypi node[2652]: mqtt-energenie ERR! energenie signal handler not initialised, signal "SIGTERM", exiti>
Dec 03 02:17:16 raspberrypi systemd[1]: Stopping Energenie ener314rt MQTT client...
Dec 03 02:17:16 raspberrypi systemd[1]: mqtt-energenie-ener314rt.service: Succeeded.
Dec 03 02:17:16 raspberrypi systemd[1]: Stopped Energenie ener314rt MQTT client.
Dec 03 02:17:16 raspberrypi systemd[1]: mqtt-energenie-ener314rt.service: Consumed 1.900s CPU time.
Dec 03 02:17:16 raspberrypi systemd[1]: Started Energenie ener314rt MQTT client.
Dec 03 02:17:16 raspberrypi node[3048]: mqtt-energenie-ener314rt version 0.6.0: starting
Dec 03 02:17:17 raspberrypi node[3048]: mqtt-ener314rt info MQTT connecting to broker mqtt://192.168.10.21
Dec 03 02:17:17 raspberrypi node[3048]: mqtt-ener314rt info monitor starting monitoring of FSK devices...
Dec 03 02:17:17 raspberrypi node[3048]: mqtt-ener314rt verb MQTT connected to broker "mqtt://192.168.10.21"
Dec 03 02:17:17 raspberrypi node[3048]: mqtt-ener314rt verb MQTT config: {"username":"energenie","password":"xxxxxxxxxxxxxxxxxxxa>
Dec 03 02:17:17 raspberrypi node[3048]: mqtt-ener314rt http MQTT setting availability topic energenie/availability/state to '>
Dec 03 02:17:17 raspberrypi node[3048]: mqtt-ener314rt info discovery discovery enabled at topic prefix 'homeassistant/'
Dec 03 02:17:17 raspberrypi node[3048]: mqtt-ener314rt info MQTT subscribed to energenie/+/+/+/command
Dec 03 02:17:17 raspberrypi node[3056]: mqtt-energenie info energenie child process started
Dec 03 02:17:17 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:17:17 raspberrypi node[3056]: mqtt-energenie WARN energenie failed to initialise ENER314-RT, err=-6, EMULATOR mode >
Dec 03 02:17:17 raspberrypi node[3056]: mqtt-energenie verb energenie cmd: {"cmd":"monitor","enabled":true}
Dec 03 02:17:17 raspberrypi node[3056]: mqtt-energenie WARN energenie monitoring thread cannot be started, ENER314-RT unavail>
Dec 03 02:18:17 raspberrypi node[3048]: mqtt-ener314rt info auto calling discovery
Dec 03 02:18:17 raspberrypi node[3056]: mqtt-energenie verb energenie cmd: {"cmd":"discovery","scan":false}
Dec 03 02:18:17 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:18 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:19 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:20 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:21 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:22 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:23 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:24 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:25 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:26 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Dec 03 02:18:27 raspberrypi node[3056]: ener314rt: can't open /dev/gpiomem or /dev/mem
Update:
Reading your comments on issue: https://github.com/Achronite/mqtt-energenie-ener314rt/issues/27
I tried to debug the issue, which seems to be permissions related:
raspi-config
and rebooted.sudo usermod -a -G gpio $USER
and rebooted.sudo adduser "${USER}" dialout
and rebooted.sudo systemctl stop mqtt-energenie-ener314rt
and then running the app via sudo node app.js
and that worked!!!I have not changed anything on the Pi apart from running rpi-update
which I think has changed something....
Right, fixed it at 3am!
Ref: Access GPIO pins without root. No access to /dev/mem. Try running as root!
So it seems running sudo rpi-update
broke something and running
sudo chown root.gpio /dev/gpiomem
sudo chmod g+rw /dev/gpiomem
This blinking fixed it!
Perhaps something for a FAQ for all your projects?
Ah, if I reboot, the owner of gpiomem reverts back to "root root", but it needs to be "root gpio".
No idea why, need to look into it next week, unless you have seen anything like this before?
Confirmed
Running rpi-update was the issue.
Fixed by running
sudo apt update; sudo apt install --reinstall raspberrypi-bootloader raspberrypi-kernel
To put it back to the latest supported kernel/bootcode.
Looks like you had a late night! Glad you got it sorted.
I'll add something to the wiki.
Wiki details added: https://github.com/Achronite/energenie-ener314rt/wiki/FAQ
Im getting
ener314rt: can't open /dev/gpiomem or /dev/mem
errors andmqtt-energenie WARN energenie failed to initialise ENER314-RT, err=-6, EMULATOR mode >
I have checked and SPI is enabled. I'm not sure if your have seen anything like this before? I did update the firmware on the Pi4 the other say and only just noticed its not working anymore. May be unrelated.
I have another ENER314-RT on order, to rule out a hardware issue.