Hallo Woller
Wenn du nur einen einzelnen Befehl ausführen möchtest, kann man das bei ExecStart=, ExecStop= und Co. direkt mit angeben, da muß man nicht unbedingt ein Bash- oder Python-Script erstellen. DefaultDependencies=no sollt man m.M.n auch sehr vorsichtig verwenden.
Mein Vorschlag für eine Service-Unit ohne Schnickschnak würde dann z.B. so aussehen (Ich habs mal relais.service genannt):
cat /etc/systemd/system/relais.service
[Unit]
Description=Relais ausschalten
[Service]
RemainAfterExit=yes
ExecStop=i2cset -y 1 0x10 0x01 0x00
[Install]
WantedBy=multi-user.target
Alles anzeigen
Auf Tippfehler und andere Probleme kann man eine selbstgeschriebene Systemd-Unit überprüfen mit:
sudo systemd-analyze verify relais.service
Keine Ausgabe heißt kein Fehler gefunden.
Dann sudo systemctl daemon-reload zum Neuladen der Änderungen und systemctl reenable --now relais.service
Ob die Service-Unit das macht, was man möchte, kann man ja einfach testen durch einen Stop der Unit:
sudo systemctl stop relais.service
und dann im Journal nachsehen mit sudo journalctl -eu relais.service ob etwas passiert ist.
Wenns soweit funktioniert, wieder einschalten: sudo systemctl start relais.service und Pi neu starten.
Was beim Shutdown passiert ist, kann man sich z.B. mit sudo journalctl -b -1 -e -u relais.service anzeigen lassen.
Gruß Martin