Ist es möglich durch ein Switch ITEM auf einem anderen RasPi eine .sh datei ausführen zulassen ?
Ich habe auf einem anderen RasPi eine funktionierende Rolladensteuerung die über verschiedene .sh dateien verschiedene python skripte startet und damit GPIO Pins schaltet. Das würde ich gerne mit über das OpenHabian System steuern können.
Hat jemand eine Idee oder sowas ähnliches schon mal selber gemacht ?
Oder eventuell nur einen Denk anstoss für mich ?
gruß
Orakel
datei auf einem anderen RasPi ausführen
-
- Beiträge: 24
- Registriert: 30. Jul 2018 05:56
Re: datei auf einem anderen RasPi ausführen
Spontan würde mir da Mqtt einfallen, womit das realisierbar wäre.
Meine Bewässerung im Testaufbau funktioniert im Prinzip so, nur dass ich keinen Rpi steuere sondern einen Arduino.
Ich habe ein Programm mit timer-basierten Interrupts, dass meine Mqtt-Subscriptions auswertet, bei bedarf GPIOs schaltet und dann ebenfalls per Mqtt antwortet.
Das dürfte auf nem Rpi auch leicht umzusetzen sein.
Meine Bewässerung im Testaufbau funktioniert im Prinzip so, nur dass ich keinen Rpi steuere sondern einen Arduino.
Ich habe ein Programm mit timer-basierten Interrupts, dass meine Mqtt-Subscriptions auswertet, bei bedarf GPIOs schaltet und dann ebenfalls per Mqtt antwortet.
Das dürfte auf nem Rpi auch leicht umzusetzen sein.
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: datei auf einem anderen RasPi ausführen
Ja, dafür gibt es verschiedene Möglichkeiten.
Entweder Du nutzt das Exec Binding, dann musst Du halt einen Aufruf von ssh verwenden, um auf den Remote Raspberry zu kommen.
dafür musst Du einen Public/Private Key Pair auf dem remote Raspberry erzeugen, welches nicht mit Passwort gesichert ist. Den Private Key hinterlegst Du dann auf dem Raspberry, auf dem openHAB (nicht openHABian!) läuft. Dann richtest Du auf dem openHAB Raspberry ein Script ein, welches per ssh und dem Private Key den gewünschten Befehl auf dem Remote Raspberry ausführt. Dieses Script rufst Du mit dem Exec Binding auf.
Eine Alternative ist es, auf dem Remote Raspberry ein kleines (python) Script zu schreiben, welches als MQTT Client auftritt. Es gibt dafür eine Library, ist sehr einfach umzusetzen. Ich hab das verwendet, um einen Dimmer zu steuern, der an einem Remote Raspberry angeschlossen ist. Da der Rechner gerade nicht läuft, kann ich aber erst in den nächsten Tagen mal nachschauen, wie ich das umgesetzt habe.
Das Python Script läuft dann als daemon auf dem Remote Raspberry. Es bietet sich in dem Fall an, die GPIO Steuerung direkt zu integrieren.
Jedenfalls reicht es anschließend, auf dem openHAB System mosquitto zu installieren und in openHAB MQTT als Protokoll einzusetzen.
Beide Varianten sind nicht ohne Aufwand zu bekommen, die MQTT Variante ist aber deutlich flexibler. Eventuell hast Du eh schon MQTT im Einsatz oder möchtest Dir z.B. Sonoff Funkschalter zulegen, die einfach z.B. auf Tasmota zu flashen sind und anschließend auch MQTT sprechen.
Entweder Du nutzt das Exec Binding, dann musst Du halt einen Aufruf von ssh verwenden, um auf den Remote Raspberry zu kommen.
dafür musst Du einen Public/Private Key Pair auf dem remote Raspberry erzeugen, welches nicht mit Passwort gesichert ist. Den Private Key hinterlegst Du dann auf dem Raspberry, auf dem openHAB (nicht openHABian!) läuft. Dann richtest Du auf dem openHAB Raspberry ein Script ein, welches per ssh und dem Private Key den gewünschten Befehl auf dem Remote Raspberry ausführt. Dieses Script rufst Du mit dem Exec Binding auf.
Eine Alternative ist es, auf dem Remote Raspberry ein kleines (python) Script zu schreiben, welches als MQTT Client auftritt. Es gibt dafür eine Library, ist sehr einfach umzusetzen. Ich hab das verwendet, um einen Dimmer zu steuern, der an einem Remote Raspberry angeschlossen ist. Da der Rechner gerade nicht läuft, kann ich aber erst in den nächsten Tagen mal nachschauen, wie ich das umgesetzt habe.
Das Python Script läuft dann als daemon auf dem Remote Raspberry. Es bietet sich in dem Fall an, die GPIO Steuerung direkt zu integrieren.
Jedenfalls reicht es anschließend, auf dem openHAB System mosquitto zu installieren und in openHAB MQTT als Protokoll einzusetzen.
Beide Varianten sind nicht ohne Aufwand zu bekommen, die MQTT Variante ist aber deutlich flexibler. Eventuell hast Du eh schon MQTT im Einsatz oder möchtest Dir z.B. Sonoff Funkschalter zulegen, die einfach z.B. auf Tasmota zu flashen sind und anschließend auch MQTT sprechen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 24
- Registriert: 30. Jul 2018 05:56
Re: datei auf einem anderen RasPi ausführen
danke erstmal für eure antworten,
ich glaube das ganze wird mir zu aufwendig ,bzw. das werde ich in meiner todo liste mal nach ganz unten schieben.
ich hab auf dem raspi mit der rolladensteuerung das ganze über eine kleine website zum steuern eingerichtet und lasse mir diese jetzt erstmal in der sitemap anzeigen ist immer hin besser als nichts.
gruß
orakel
ich glaube das ganze wird mir zu aufwendig ,bzw. das werde ich in meiner todo liste mal nach ganz unten schieben.
ich hab auf dem raspi mit der rolladensteuerung das ganze über eine kleine website zum steuern eingerichtet und lasse mir diese jetzt erstmal in der sitemap anzeigen ist immer hin besser als nichts.
gruß
orakel