Thatās good to hear. If you just want to run emonHub and not a local version of Emoncms then maybe DietPi could be a good solution. Iāve split out the DietPi discussion to a new topic.
I just installed this image to work with my own custom version of the emonBase (some pins swapped, some features added/removed). Nice work!
One thing I noticed though is that there is an automatic firmware flasher. I donāt want my firmware flashed because emonPiās firmware is not compatible with my custom board. Is there a way to stop the automatic updates from happening in the future?
Hi:
I would like to update the new software for 30Oct18. My version was an emonpi with emonSD-26Oct17.
Can I rebuild the SD card of the 30Oct18, start the system, and then do a emoncms-upload to get my data/dashboard, etc?
Thanks for any helpā¦
Hi,
I upgraded my emoncms to version 9.9.4 successfully with emonSD-26Oct17 image on my emonPi. Iām now wondering if it is possible to migrate to the emonSD-30Oct18 image directly from my computer through my wifi network, or if it is necessary to open the case of my emonPi to flash the SDcard with Etcher.
Regards
Gerard
The key difference is that the new imageās base OS is a āStretchā image (old one was āJessieā i.e. different versions of Raspbian/Debian).
To make the upgrade, you do need to reflash the SD Card - personally, Iād buy a new card so you have a path back if it is not successful.
You will need to backup the data and the import it. As you have upgraded to 9.9.4 that should be less of a hassle.
I would suggest you
- First update the existing setup to 9.9.4.
- Backup / export data
- Flash new image to (new) SD Card
- Install card, get system up and running (wifi etc).
- Update EmonCMS system (image is not on latest).
- Restore data (which will include dashboards etc (hopefullyā¦)
By using a new card, you have a route back to where you were if something goes wrong.
Thank you for the is list - I need to run through this listā¦
āFirst update the existing setup to 9.9.4.ā - I have Version low-write 9.8.31 | 2018.06.21 - so I need to update. Should I use āemonpi Updateā or āemonBase Updateā button? Iām not clear what each does this instance. Alternative I could ssh and then a ā.shā?
Similarly the line āUpdate EmonCMS system (image is not on latest).ā - does that also use āemonpi Updateā or āemonBase Updateā button? etcā¦
Yes āemonpi updateā is the best method in both instances. The emonbase update updates the firmware on the rflink (I think - not an emonpi user).
Take a backup first - there are a number of threads on baking up / exporting data.
My crib notes say:
Update EmonPi Button or Update EmonBase Button? - #15 by pb66
And in rather more detail (all courtesy of @pb66)
Updating emonPi sketch:
If you do want to change the firmware, itās best to compile the Arduino sketch on your PC then transfer the .hex to the emonPi and upload directly from the RaspberryPi using avrdude. Emonhub will need to be stopped to free up the serial port. See example script to upload .hex emonpi/update at master Ā· openenergymonitor/emonpi Ā· GitHub
#!/bin/bash
sudo service emonhub stop
avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:/home/pi/emonpi/firmware/compiled/latest.hex
sudo service emonhub start
Not updating the emonPi sketch:
EmonPi AC-AC input - #13 by pb66
āIf you use the āupdate RFM69Piā button rather than the āupdate emonPiā button it will update in exactly the same way but when it tries to upload the firmware at the wrong upload baud it will fail and the existing firmware will remain intact. This works as the 16MHz emonPi has a different bootloader to all the 8MHz RFM2Pi type devices.ā
If you have an emonPi with a totally stock sketch you are best using āupdate emonpiā to keep up to date.
If you have an emonPi with a modified sketch you are best using āupdate emonbaseā to avoid overwriting.
If you have an emonBase and you know your RFM2Pi or RFM69Pi is rfm69 based and has a totally stock sketch you are best using āupdate emonBaseā to keep it updated
If you have an emonBase with a rfm69 based RFM2Pi or RFM69Pi running a modified sketch OR if you have a rfm12 based RFM2Pi OR you are unsure what RFM2Pi you have you should use āupdate emonpiā to avoid over-writing the firmware.
Aside from the firmware differences, there is no difference, both buttons fully update the emonSD used in both the emonPi and emonBases. There is no emonHub update button, emonhub is updated along with emoncms and other softwares in that same emonSD update.
Thanks for your advices. Buying a new card is probably a safer solution.
This was discussed in great length already, and thereās a link to the discussion in Glynās first post in this thread. Have a read through that discussion - the argument has already been lost
Iāve not been able to revive a couple of inputs - i.e. those from Robinās Mk2 pv diverter. The standard emontx and emonth nodes have been picked up and are updating, but not these additional ones. The imported backup file has these nodes (basically node ā12ā and ā13ā) listed in inputs, but null values. The log file shows an error:
2018-11-14 00:44:16.296|ERROR|phpmqtt_input.php|ErrorException: Undefined index: nodeid in /var/www/emoncms/Modules/input/input_model.php:206
but Iām on the edge of my knowledge hereā¦do I need to edit the script on the diverter (which I presume is still transmitting the data with the same format) or do I need to try and find these nodes in the php script?
Fixed it - basically needed to edit the emonHub config nodes and delete the old ones
Thanks everyone. I did a full backup for everything in keep in case of trouble, butā¦
The backup/SDcard2018/import works fine.
The one issue which might be nothing is that I the āaverdudeā I updated.
At the end of the procedure it saidā¦
=============================================
avrdude-original: safemode: lfuse reads as 0
avrdude-original: safemode: hfuse reads as 0
avrdude-original: safemode: efuse reads as 0
avrdude-original: safemode: Fuses OK (E:00, H:00, L:00)
strace: |autoreset: Broken pipe
strace: |autoreset: Broken pipe
strace: |autoreset: Broken pipe
strace: |autoreset: Broken pipe
strace: |autoreset: Broken pipe
avrdude-original done. Thank you.
strace: |autoreset: Broken pipe
Is that just then drop the connection? In which case nothing to worried aboutā¦
Thanks for everyone for the adviceā¦
I think that error just means that the firmware upload tool could not connect to the emonpi board, did you share the details of your system? Is it an emonpi?
Thatās nothing to worry about. The FW updated successfully this strace error happens when avrdude finishes. Itās due to our modified avrdude with āauto resetā to auto toggle a GPIO pin on a RasPi to reset the AVR controller.:
I did try and track this message down in the past but didnāt manage to fix it. Agree it would be best if the error wasnāt there! But nothing to worry about.
I have just reboot my emonpi and i am getting:
Canāt connect to database, please verify credentials/configuration in settings.php
Error message: Connection refused
in the log file I am seeing
Nov 18 21:48:52 emonpi systemd[1]: Started Emoncms MQTT Input Script.
Nov 18 21:48:52 emonpi mqtt_input[11753]: PHP Fatal error: Uncaught ErrorException: mysqli::__construct(): (HY00$
Nov 18 21:48:52 emonpi mqtt_input[11753]: Stack trace:
Nov 18 21:48:52 emonpi mqtt_input[11753]: #0 [internal function]: exceptions_error_handler(2, 'mysqli::__const...$
Nov 18 21:48:52 emonpi mqtt_input[11753]: #1 /var/www/emoncms/scripts/phpmqtt_input.php(61): mysqli->__construct($
Nov 18 21:48:52 emonpi mqtt_input[11753]: #2 {main}
Nov 18 21:48:52 emonpi mqtt_input[11753]: thrown in /var/www/emoncms/scripts/phpmqtt_input.php on line 61
Nov 18 21:48:52 emonpi mqtt_input[11753]: Fatal error: Uncaught ErrorException: mysqli::__construct(): (HY000/200$
Nov 18 21:48:52 emonpi mqtt_input[11753]: Stack trace:
Nov 18 21:48:52 emonpi mqtt_input[11753]: #0 [internal function]: exceptions_error_handler(2, 'mysqli::__const...$
Nov 18 21:48:52 emonpi mqtt_input[11753]: #1 /var/www/emoncms/scripts/phpmqtt_input.php(61): mysqli->__construct($
Nov 18 21:48:52 emonpi mqtt_input[11753]: #2 {main}
Nov 18 21:48:52 emonpi mqtt_input[11753]: thrown in /var/www/emoncms/scripts/phpmqtt_input.php on line 61
Glyn
Thanks for the info. I may have missed it but how do I get the new card into the pi?