Hallo an alle,
Ich programmiere gerade eine Umfangreiche Steuerung für meinen Camper. Basis ist ein Pi mit Openhab. Am Pi hängen unter anderem einige Tinkerforge Bricks und Briklets. Um Strom zu sparen schalte ich mit einem Bildschirmschoner das Display über ein IO-4 Bricklet 2.0 und einen daran angeschlossenen Mosfet ab. Vor einem reboot oder shutdown des Pis soll dieser aber wieder zugeschaltet werden. Dafür versuche ich systemd zu verwenden, was mir schon seit 2 Wochen Kopfzerbrechen bereitet.
Mein Service (DisplayOn.service) sieht momentan wie Folgt aus:
[Unit]
Description=Display einschalten wenn RPi reboot
Before=reboot.target halt.target shutdown.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/bin/bash -c "/usr/local/bin/tinkerforge call io4-v2-bricklet G7z set-monoflop 0 true 20"
ExecStartPost=/usr/bin/sleep 2
[Install]
WantedBy=multi-user.target
/bin/bash -c "/usr/local/bin/tinkerforge call io4-v2-bricklet G7z set-monoflop 0 true 20" kann ich über die Kommandozeile ausführen.
Ich denke wenn der Service aufgerufen wird ist TF nicht mehr erreichbar, denn das journalctl gibt folgendes aus:
Mai 11 21:04:48 Primaballerina systemd[1]: Started Display einschalten wenn RPi reboot.
Mai 11 21:04:55 Primaballerina systemd[1]: Stopping Display einschalten wenn RPi reboot...
Mai 11 21:05:08 Primaballerina bash[3947]: tinkerforge call io4-v2-bricklet <uid> set-monoflop: error: [Errno 111] Connection refused
Mai 11 21:05:01 Primaballerina systemd[1]: DisplayOn.service: Control process exited, code=exited, status=23/n/a
Mai 11 21:05:01 Primaballerina systemd[1]: DisplayOn.service: Failed with result 'exit-code'.
Mai 11 21:05:01 Primaballerina systemd[1]: Stopped Display einschalten wenn RPi reboot.
Wisst ihr vielleicht auf welche Systemd Unit ich reagieren kann, sodass Tinkerforge zur Zeit der Ausführung noch erreichbar ist??
Ich wäre euch extrem Dankbar für Hilfe!!
Erst wenn ich das Programm fertig habe, kann ich die Steuerung einbauen. Und das ist der Letzte Schritt...
Schöne Grüße!