bkbilly / mqtt_fingerprint_pi

☝️ Read and write fingerprints through R503 sensor and send the result as MQTT messages.
3 stars 2 forks source link

Doesnt start after reboot #3

Closed AxelHoss closed 1 year ago

AxelHoss commented 1 year ago

The service wont start after reboot. `pi@rpi:~ $ sudo systemctl status mqtt_fingerprint_pi.service ● mqtt_fingerprint_pi.service - MQTT Fingerprint PI Loaded: loaded (/etc/systemd/system/mqtt_fingerprint_pi.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2023-08-25 17:43:14 CEST; 1min 48s ago Process: 396 ExecStart=/usr/bin/python3 /opt/mqtt_fingerprint_pi/run.py (code=exited, status=1/FAILURE) Main PID: 396 (code=exited, status=1/FAILURE) CPU: 872ms

Aug 25 17:43:13 rpi python3[396]: sock = self._create_socket_connection() Aug 25 17:43:13 rpi python3[396]: File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 3546, in _create_socket_connect> Aug 25 17:43:13 rpi python3[396]: return socket.create_connection(addr, source_address=source, timeout=self._keepalive) Aug 25 17:43:13 rpi python3[396]: File "/usr/lib/python3.9/socket.py", line 843, in create_connection Aug 25 17:43:13 rpi python3[396]: raise err Aug 25 17:43:13 rpi python3[396]: File "/usr/lib/python3.9/socket.py", line 831, in create_connection Aug 25 17:43:13 rpi python3[396]: sock.connect(sa) Aug 25 17:43:13 rpi python3[396]: OSError: [Errno 101] Network is unreachable Aug 25 17:43:14 rpi systemd[1]: mqtt_fingerprint_pi.service: Main process exited, code=exited, status=1/FAILURE Aug 25 17:43:14 rpi systemd[1]: mqtt_fingerprint_pi.service: Failed with result 'exit-code'. `

After sudo systemctl start mqtt_fingerprint_pi.service it starts: `pi@rpi:~ $ sudo systemctl status mqtt_fingerprint_pi.service ● mqtt_fingerprint_pi.service - MQTT Fingerprint PI Loaded: loaded (/etc/systemd/system/mqtt_fingerprint_pi.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2023-08-25 17:46:23 CEST; 16s ago Main PID: 675 (python3) Tasks: 2 (limit: 1595) CPU: 785ms CGroup: /system.slice/mqtt_fingerprint_pi.service └─675 /usr/bin/python3 /opt/mqtt_fingerprint_pi/run.py

Aug 25 17:46:23 rpi systemd[1]: Started MQTT Fingerprint PI.`

bkbilly commented 1 year ago

You could edit the file /etc/systemd/system/mqtt_fingerprint_pi.service to look like this:

[Unit]
Description=MQTT Fingerprint PI
After=network-online.target

[Service]
Restart=on-failure
RestartSec=5s
Type=simple
User=root
WorkingDirectory=/opt/mqtt_fingerprint_pi
ExecStart=/usr/bin/python3 /opt/mqtt_fingerprint_pi/run.py

[Install]
WantedBy=multi-user.target

Once edited, you should reload the systemd and restart the service:

sudo systemctl daemon-reload
sudo systemctl restart mqtt_fingerprint_pi.service

Let me know if it works.

AxelHoss commented 1 year ago

it works. Thank you for your help.

bkbilly commented 1 year ago

Fixed on the newest commit.