My emonbase suddenly stopped logging from my emontx a couple of days ago. Tried rebooting several times and a full update but it just keeps showing emonhub service failed. Don’t know what else to try. A day before it stopped working I tweaked some of the input processes, including adding ‘Publish to MQTT’ but it was working fine for a day after those changes.
Server Information
-----------------------
Services
emonhub : Failed Failed
emoncms_mqtt : Active Running
feedwriter : Active Running - sleep 300s 0 feed points pending write
service-runner : Active Running
emonPiLCD : Inactive Dead
redis-server : Active Running
mosquitto : Active Running
demandshaper : Active Running
Emoncms
Version : low-write 10.2.3
Modules : Administration | App v2.1.6 | Backup v2.2.3 | EmonHub Config v2.0.5 | Dashboard v2.0.7 | DemandShaper v1.2.5 | Device v2.0.5 | EventProcesses | Feed | Graph v2.0.9 | Input | Postprocess v2.1.4 | CoreProcess | Schedule | Network Setup v1.0.0 | sync | Time | User | Visualisation | WiFi v2.0.2
Git :
URL : https://github.com/emoncms/emoncms.git
Branch : * stable
Describe : 10.2.3
Server
OS : Linux 4.19.75-v7+
Host : emonpi | emonpi | (192.168.1.128)
Date : 2020-06-16 21:16:07 BST
Uptime : 21:16:07 up 8 min, 0 users, load average: 0.00, 0.09, 0.08
Memory
RAM : Used: 15.11%
Total : 975.62 MB
Used : 147.4 MB
Free : 828.22 MB
Swap : Used: 0.00%
Total : 100 MB
Used : 0 B
Free : 100 MB
Write Load Period
Disk
/ : Used: 53.09%
Total : 3.92 GB
Used : 2.08 GB
Free : 1.65 GB
Write Load : 5.17 KB/s (7 mins)
/boot : Used: 20.55%
Total : 252.05 MB
Used : 51.79 MB
Free : 200.26 MB
Write Load : 1.17 B/s (7 mins)
/var/opt/emoncms : Used: 0.79%
Total : 9.98 GB
Used : 80.53 MB
Free : 9.39 GB
Write Load : 0 B/s (7 mins)
/var/log : Used: 81.56%
Total : 50 MB
Used : 40.78 MB
Free : 9.22 MB
Write Load : n/a
HTTP
Server : Apache/2.4.38 (Raspbian) HTTP/1.1 CGI/1.1 80
MySQL
Version : 5.5.5-10.3.17-MariaDB-0+deb10u1
Host : localhost:6379 (127.0.0.1)
Date : 2020-06-16 21:16:07 (UTC 01:00)
Stats : Uptime: 3503 Threads: 13 Questions: 923 Slow queries: 0 Opens: 48 Flush tables: 1 Open tables: 40 Queries per second avg: 0.263
Redis
Version :
Redis Server : 5.0.3
PHP Redis : 5.0.2
Host : localhost:6379
Size : 199 keys (806.10K)
Uptime : 0 days
MQTT Server
Version : Mosquitto 1.5.7
Host : localhost:1883 (127.0.0.1)
PHP
Version : 7.3.9-1~deb10u1 (Zend Version 3.3.9)
Modules : apache2handlercalendar Core ctype curl date dom v20031129exif fileinfo filter ftp gd gettext hash iconv json v1.7.0libxml mbstring mosquitto v0.4.0mysqli mysqlnd vmysqlnd 5.0.12-dev - 20150407 - $Id: 7cc7cc96e675f6d72e5cf0f267f48e167c2abb23 $openssl pcre PDO pdo_mysql Phar posix readline redis v5.0.2Reflection session shmop SimpleXML sockets sodium SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter xsl Zend OPcache zlib
Pi
Model : Raspberry Pi 3 Model B Rev 1.2 - 1GB (Sony UK)
Serial num. : D36428FD
CPU Temperature : 48.31°C
GPU Temperature : 48.3°C
emonpiRelease : emonSD-17Oct19
File-system : read-write
Client Information
-----------------------
HTTP
Browser : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
Language : en-GB,en-US;q=0.9,en;q=0.8
Window
Size : 1684 x 706
Screen
Resolution : 1280 x 720
There is an issue with the update that it seems the system repositories are not updated so it fails. Once it has failed it is then on the wrong branch. I think this should fix it
If you can SSH in
First please do
systemctl status emonhub.service
git branch -vv
and paste the output - it will help with debugging.
Then try
sudo apt update
then
cd /opt/openenergymonitor/EmonScripts/install
./emonhub.sh
cp /etc/emonhub/emonhub.conf /etc/emonhub/emonhub.conf.bak
cd /opt/openenergymonitor/emonhub
./install.sh
Any issues copy the emonhub config back to how it was
After logging in I entered the following:
$ sudo touch /boot/ssh
$ sudo reboot
then
$ systemctl status emonhub.service
it reported:
Start request repeated too quickly
Failed with result exit-code
Failed to start emonhub service description
then I tried again with the same output, then I entered
$ git branch -vv
fatal: not a git repository (or any of the parent directories): .git
$ sudo apt-update
command not found
Managed to do the ‘sudo apt update’.
Managed to do the copy and change directory
Managed to do the systemctl status emonhub.service - see attachment
git branch -vv reported:
fatal: Failed to resolve HEAD as a valid ref.
So I didn’t attempt ./install. Should I?
Can you not connect from a PC/computer via SSH? It will be easier as you can copy and paste the commands then. You are directly connected to the Pi are you not?
Managed to logon using putty.
Changing git branch didn’t work (fatal: Failed to resolve HEAD as a valid ref.)
./install didn’t work (No such file or directory)
See listings below.
pi@emonpi:~ $ sudo apt update
Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
147 packages can be upgraded. Run 'apt list --upgradable' to see them.
pi@emonpi:~ $ systemctl status emonhub.service
? emonhub.service - emonHub service description
Loaded: loaded (/opt/openenergymonitor/emonhub/service/emonhub.service; enabl
Active: failed (Result: exit-code) since Wed 2020-06-17 22:54:03 BST; 20min a
Process: 512 ExecStartPre=/bin/mkdir -p /var/log/emonhub/ (code=exited, status
Process: 513 ExecStartPre=/bin/chgrp -R emonhub /var/log/emonhub/ (code=exited
Process: 514 ExecStartPre=/bin/chmod 775 /var/log/emonhub/ (code=exited, statu
Process: 515 ExecStart=/usr/local/bin/emonhub/emonhub.py --config-file=/etc/em
Main PID: 515 (code=exited, status=203/EXEC)
Jun 17 22:54:03 emonpi systemd[1]: emonhub.service: Service RestartSec=100ms exp
Jun 17 22:54:03 emonpi systemd[1]: emonhub.service: Scheduled restart job, resta
Jun 17 22:54:03 emonpi systemd[1]: Stopped emonHub service description.
Jun 17 22:54:03 emonpi systemd[1]: emonhub.service: Start request repeated too q
Jun 17 22:54:03 emonpi systemd[1]: emonhub.service: Failed with result 'exit-cod
Jun 17 22:54:03 emonpi systemd[1]: Failed to start emonHub service description.
pi@emonpi:~ $ cd /opt/openenergymonitor/emonhub
pi@emonpi:/opt/openenergymonitor/emonhub $ git branch -vv
fatal: Failed to resolve HEAD as a valid ref.
pi@emonpi:/opt/openenergymonitor/emonhub $ ./install
-bash: ./install: No such file or directory
pi@emonpi:/opt/openenergymonitor/emonhub $
I am in the emonhub folder after typing:
“cd /opt/openenergymonitor/emonhub”
I can see I am in the correct folder from the prompt.
I keep typing
“git branch -vv”
but it keeps responding:
“fatal: Failed to resolve HEAD as a valid ref.”
When I try “git status” it responds:
No commits yet
Changes to be committed:
(use “git rm --cached …” to unstage)
new file: .gitattributes
new file: .gitignore
new file: README.md
new file: conf/default/emonhub
new file: conf/emonhub.conf
new file: conf/emonpi.default.emonhub.conf
new file: conf/interfacer_examples/bmw/bmw.emonhub.conf
new file: conf/interfacer_examples/bmw/readme.md
new file: conf/interfacer_examples/directserial-serialtx3e/readme.md
new file: conf/interfacer_examples/directserial/readme.md
new file: conf/interfacer_examples/graphite/graphite.emonhub.conf
new file: conf/interfacer_examples/graphite/readme.md
new file: conf/interfacer_examples/modbus/modbusTCP.emonhub.conf
new file: conf/interfacer_examples/modbus/readme.md
new file: conf/interfacer_examples/smasolar/readme.md
new file: conf/interfacer_examples/smasolar/smasolar.emonhub.conf
new file: conf/interfacer_examples/smilices/readme.md
new file: conf/interfacer_examples/smilices/smilics.emonhub.conf
new file: conf/interfacer_examples/vedirect/bmv700.vedirect.emonhub.conf
new file: conf/interfacer_examples/vedirect/mppt.vedirect.emonhub.conf
new file: conf/interfacer_examples/vedirect/readme.md
new file: conf/nodes/10
new file: conf/nodes/11
new file: conf/nodes/12
new file: conf/nodes/13
new file: conf/nodes/14
new file: conf/nodes/15
new file: conf/nodes/16
new file: conf/nodes/19
new file: conf/nodes/20
new file: conf/nodes/21
new file: conf/nodes/22
new file: conf/nodes/23
new file: conf/nodes/24
new file: conf/nodes/25
new file: conf/nodes/26
new file: conf/nodes/5
new file: conf/nodes/6
new file: conf/nodes/7
new file: conf/nodes/8
new file: conf/nodes/9
new file: conf/nodes/Readme.md
new file: conf/nodes/emonpi_auto_add_nodes.sh
new file: conf/old.default.emonhub.conf
new file: configuration.md
new file: examples/control_sender.py
new file: examples/mqtt_reader.py
new file: install.sh
new file: service/emonhub
new file: service/emonhub.default.conf
new file: service/emonhub.service
new file: src/Cargo.py
new file: src/emonhub.py
new file: src/emonhub_buffer.py
new file: src/emonhub_coder.py
new file: src/emonhub_interfacer.py
new file: src/emonhub_setup.py
new file: src/interfacers/EmonHubBMWInterfacer.py
new file: src/interfacers/EmonHubEmoncmsHTTPInterfacer.py
new file: src/interfacers/EmonHubGraphiteInterfacer.py
new file: src/interfacers/EmonHubJeeInterfacer.py
new file: src/interfacers/EmonHubMqttInterfacer.py
new file: src/interfacers/EmonHubPacketGenInterfacer.py
new file: src/interfacers/EmonHubSMASolarInterfacer.py
new file: src/interfacers/EmonHubSerialInterfacer.py
new file: src/interfacers/EmonHubSocketInterfacer.py
new file: src/interfacers/EmonHubTemplateInterfacer.py
new file: src/interfacers/EmonHubTeslaPowerWallInterfacer.py
new file: src/interfacers/EmonHubTx3eInterfacer.py
new file: src/interfacers/EmonHubVEDirectInterfacer.py
new file: src/interfacers/EmonModbusTcpInterfacer.py
new file: src/interfacers/__init__.py
new file: src/interfacers/tmp/EmonFroniusModbusTcpInterfacer.py
new file: src/interfacers/tmp/EmonHubSmilicsInterfacer.py
new file: src/smalibrary/SMABluetoothPacket.py
new file: src/smalibrary/SMANET2PlusPacket.py
new file: src/smalibrary/SMASolar_library.py
new file: src/smalibrary/__init__.py
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git checkout – …” to discard changes in working directory)
Thanks for helping but still no joy I’m afraid. No deliberate changes. I may have disconnected the power without shutting down, whist swapping plugs. Perhaps that has corrupted something
pi@emonpi:/opt/openenergymonitor/emonhub $ git reset --hard HEAD
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
pi@emonpi:/opt/openenergymonitor/emonhub $ git fetch origin
error: cannot lock ref 'refs/remotes/origin/MQTTSubscriberInterfacer': unable to resolve reference 'refs/remotes/origin/MQTTSubscriberInterfacer': reference broken
From https://github.com/openenergymonitor/emonhub
! [new branch] MQTTSubscriberInterfacer -> origin/MQTTSubscriberInterfacer (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/SDS011': unable to resolve reference 'refs/remotes/origin/SDS011': reference broken
! [new branch] SDS011 -> origin/SDS011 (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/emon-pi': unable to resolve reference 'refs/remotes/origin/emon-pi': reference broken
! [new branch] emon-pi -> origin/emon-pi (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/env_example': unable to resolve reference 'refs/remotes/origin/env_example': reference broken
! [new branch] env_example -> origin/env_example (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/lanip-status': unable to resolve reference 'refs/remotes/origin/lanip-status': reference broken
! [new branch] lanip-status -> origin/lanip-status (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/master': unable to resolve reference 'refs/remotes/origin/master': reference broken
! [new branch] master -> origin/master (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/redis_config_interface': unable to resolve reference 'refs/remotes/origin/redis_config_interface': reference broken
! [new branch] redis_config_interface -> origin/redis_config_interface (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/stable': unable to resolve reference 'refs/remotes/origin/stable': reference broken
! [new branch] stable -> origin/stable (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/unitless_decoder': unable to resolve reference 'refs/remotes/origin/unitless_decoder': reference broken
! [new branch] unitless_decoder -> origin/unitless_decoder (unable to update local ref)
error: cannot lock ref 'refs/tags/2.1.3': unable to resolve reference 'refs/tags/2.1.3': reference broken
! [new tag] 2.1.3 -> 2.1.3 (unable to update local ref)
pi@emonpi:/opt/openenergymonitor/emonhub $
First if you are posting code, please put 3 ‘backticks’ (top left of keyboard) on a line before and a line after so it formats properly.
Second, I am away from home so cannot check the commands.
It seems to me the repository has got completely confused, so I suggest we completely delete it and reinstall from scratch. It isn’t as bad as it sounds.
So
cd /opt/openenergymonitor/
rm -r emonhub/*
That command might need to be a capital R and might need a sudo in front.
Once deleted, change to the EmonScripts folder (check the case if it complains)
Looks like it needed something from the emonhub folder.
pi@emonpi:/opt/openenergymonitor/emonhub $ cd /opt/openenergymonitor/
pi@emonpi:/opt/openenergymonitor $ rm -r emonhub/*
pi@emonpi:/opt/openenergymonitor $ dir
avrdude-rpi data emonhub emonpi EmonScripts RFM2Pi
pi@emonpi:/opt/openenergymonitor $ cd emonhu
-bash: cd: emonhu: No such file or directory
pi@emonpi:/opt/openenergymonitor $ cd emonhub/
pi@emonpi:/opt/openenergymonitor/emonhub $ dir
pi@emonpi:/opt/openenergymonitor/emonhub $ cd..
-bash: cd..: command not found
pi@emonpi:/opt/openenergymonitor/emonhub $ cd ..
pi@emonpi:/opt/openenergymonitor $ cd /opt/openenergymonitor/EmonScripts/install
pi@emonpi:/opt/openenergymonitor/EmonScripts/install $ ./emonhub.sh
-------------------------------------------------------------
emonHub install
-------------------------------------------------------------
- emonhub repository already installed
fatal: not a git repository (or any of the parent directories): .git
ERROR: /opt/openenergymonitor/emonhub/install.sh script does not exist
/opt/openenergymonitor/EmonScripts/sudoers.d/emonhub-sudoers: parsed OK
emonhub service control sudoers entry installed
pi@emonpi:/opt/openenergymonitor/EmonScripts/install $ dir
apache.sh emoncms_modules.sh firmware.sh main.sh readme.md
config.ini emonhub.sh init_resize.sh mosquitto.sh redis.sh
digital-ocean-install.md emonpilcd.sh init.sh mysql.sh rpi-install.md
emoncms_core.sh emonsd.config.ini install-scripts.md non_emonsd.sh wifiap.sh
emoncms_emonpi_modules.sh emonsd.sh load_config.sh php.sh
Sorted!! The install command said the repository already existed but was a (fatal) invalid repository. This was because the rm command hadn’t removed the hidden .git index folders and files. I went through and deleted them manually. It still didn’t work until I rmdir’d the emonhub folder itself. Then the install worked. Now logging again. Thanks for all your help guys. @borpin@TrystanLea