Befehl auf einem Raspi durch Automation ausführen

Rat und Tat rings um Home Assistant Automationen.


Antworten
Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Befehl auf einem Raspi durch Automation ausführen

Beitrag von Markus »

Hab auf einem eigenen Rapsi eine Volkszähler laufen. Die Überwachung ob er läuft erfolgt mittels Uptime-Kuma.

Es kommts manchmal vor das der Raspi bzw. der Volkszähler darauf sich aufhängt, dh. ein

Code: Alles auswählen

sudo systemctl restart vzlogger

ist erforderlich.

Wie könnte man nun diesen restart durch eine HA-Automation anstoßen ?

Benutzeravatar
carsten_h
Beiträge: 532
Registriert: Mo 2. Aug 2021, 11:07
2
Has thanked: 1 time
Been thanked: 65 times

Re: Befehl auf einem Raspi durch Automation ausführen

Beitrag von carsten_h »

Markus hat geschrieben: Do 9. Nov 2023, 13:35

Wie könnte man nun diesen restart durch eine HA-Automation anstoßen?

Du mußt per ssh auf dem entfernten Rechner einen Befehl in der Automatiserung starten.
Das geht mit der command_line Integration:
https://www.home-assistant.io/integrati ... mand_line/

In dem Kommando muß eben ssh mit der Benutzerkennung und dem eigentlich auszuführenden Befehl stehen. Um ssh so im Kommando auszuführen mußt Du vorher einen ssh Schlüsselpaar erzeugen und den einen Teil auf dem entfernten und den anderen auf dem lokalen Rechner (Home Assistant) ablegen.

Das ist die grobe Vorgehensweise. Bisher habe ich nur Englische Beschreibungen dazu per Suche gefunden.

Hier laufen macOS, iOS, iPadOS, tvOS, watchOS, Home Assistant OS, QTS, Raspberry Pi OS, piCorePlayer und Fire OS

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Befehl auf einem Raspi durch Automation ausführen

Beitrag von Markus »

Da gäbe es eine einfache SSH Integration via Hacs um eine Verbindung zum entfernten Raspi aufzubauen
https://github.com/zhbjsh/homeassistant ... te_command

Die läuft zumindest schon mal, aber wie bringe ich mein command jetzt in die Automation?

Benutzeravatar
carsten_h
Beiträge: 532
Registriert: Mo 2. Aug 2021, 11:07
2
Has thanked: 1 time
Been thanked: 65 times

Re: Befehl auf einem Raspi durch Automation ausführen

Beitrag von carsten_h »

Markus hat geschrieben: Do 9. Nov 2023, 22:07

aber wie bringe ich mein command jetzt in die Automation?

Du hast doch genau den passenden Teil verlinkt. Du mußt bei execute_command in den Daten in command das Kommando in Deiner Automatisierung eintragen.
Unter https://github.com/zhbjsh/homeassistant-ssh#commands steht ja auch wie man das in den Entwicklertools testen kann. Es ist eben der service ssh.execute_command, den Du in der Automatisierung auch nutzen mußt.

Hier laufen macOS, iOS, iPadOS, tvOS, watchOS, Home Assistant OS, QTS, Raspberry Pi OS, piCorePlayer und Fire OS

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Befehl auf einem Raspi durch Automation ausführen

Beitrag von Markus »

Perfekt, danke!

Ein

Code: Alles auswählen

sudo apt-get update && sudo apt-get upgrade -y

ist aber scheinbar nicht möglich?

Code: Alles auswählen

results:
  - device_id: 1xxxxxxxxxx
    device_name: raspberrypi_volkszaehler
    success: true
    command: sudo apt-get update && sudo apt-get upgrade -y
    stdout:
      - OK:1 http://giteduberger.fr rpimonitor/ InRelease
      - OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
      - OK:3 http://archive.raspberrypi.org/debian buster InRelease
      - OK:4 https://repos.influxdata.com/debian stable InRelease
      - OK:5 https://repos.influxdata.com/debian buster InRelease
      - >-
        Holen:6 https://download.docker.com/linux/raspbian buster InRelease
        [33,6 kB]
      - Holen:7 https://packages.grafana.com/oss/deb stable InRelease [5.984 B]
      - Fehl:7 https://packages.grafana.com/oss/deb stable InRelease
      - "  Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 963FA27710458545"
      - Update rpimonitor Packages Status
      - Es wurden 33,6 kB in 3 s geholt (9.977 B/s).
      - Paketlisten werden gelesen...
      - Paketlisten werden gelesen...
      - Abhängigkeitsbaum wird aufgebaut....
      - Statusinformationen werden eingelesen....
      - Paketaktualisierung (Upgrade) wird berechnet...
      - >-
        0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht
        aktualisiert.
    stderr:
      - >-
        W: Während der Überprüfung der Signatur trat ein Fehler auf. Das Depot
        wurde nicht aktualisiert und die vorherigen Indexdateien werden
        verwendet. GPG-Fehler: https://packages.grafana.com/oss/deb stable
        InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil
        ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY
        963FA27710458545
      - >-
        W: Fehlschlag beim Holen von
        https://packages.grafana.com/oss/deb/dists/stable/InRelease Die
        folgenden Signaturen konnten nicht überprüft werden, weil ihr
        öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 963FA27710458545
      - >-
        W: Einige Indexdateien konnten nicht heruntergeladen werden. Sie wurden
        ignoriert oder alte an ihrer Stelle benutzt.
    code: 0
Benutzeravatar
carsten_h
Beiträge: 532
Registriert: Mo 2. Aug 2021, 11:07
2
Has thanked: 1 time
Been thanked: 65 times

Re: Befehl auf einem Raspi durch Automation ausführen

Beitrag von carsten_h »

Markus hat geschrieben: Fr 10. Nov 2023, 12:19

ist aber scheinbar nicht möglich?

Warum nicht? Da sind Fehler aufgetreten, aber die Fehler sind auf dem Zielrechner aufgetreten, da kannst Du aus der Ferne nichts machen.
Hast Du das einmal direkt auf dem Zielrechner probiert?

Hier laufen macOS, iOS, iPadOS, tvOS, watchOS, Home Assistant OS, QTS, Raspberry Pi OS, piCorePlayer und Fire OS

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Befehl auf einem Raspi durch Automation ausführen

Beitrag von Markus »

Stimmt, da gab es einen Fehler am Raspi (Grafana Schlüssel wurde verändert).

Jetzt läuft auch dieser Befehl. Danke!

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Befehl auf einem Raspi durch Automation ausführen

Beitrag von Markus »

Meine Automatisierung für einen Neustart läuft leider nicht mehr und ich finde den Fehler nicht...wo liegt der Hund begraben?

Error: Script requires 'response_variable' for response data for service call ssh.execute_command

Step config

Code: Alles auswählen

service: ssh.execute_command
data:
  command: sudo reboot
target:
  device_id: 123456789
Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Befehl auf einem Raspi durch Automation ausführen

Beitrag von Markus »

hat niemand eine Idee?

Antworten