Hallo Hille,
bei mir habe ich SSH Scripte um 433 MHz Steckdosen zu schalten, der Sender hängt an einem entfernen PI, auf den ich mich via SSH Verbinde.
Meine Lösung sieht wie folgt aus, vllt hilft es dir ja noch zu optimieren:
Code: Alles auswählen
Thing exec:command:wohnzimmer_mediatv_strom_ein "Wohnzimmer MediaTV Strom Ein" @ "Wohnzimmer" [command="/srv/openhab_scripts/funksteckdosen_schalten.sh 11101 A ON", interval=0, timeout=10]
Thing exec:command:wohnzimmer_mediatv_strom_aus "Wohnzimmer MediaTV Strom Aus" @ "Wohnzimmer" [command="/srv/openhab_scripts/funksteckdosen_schalten.sh 11101 A OFF", interval=0, timeout=10]
Es gibt also zwei Exec Things, einmal ein und einmal aus, hier liegt ein SSH Script hinter, welches auf dem PI ausgeführt wird auf dem OpenHAB läuft, in diesem Script wird dann entsprechend eine SSH Verbindung zum externen PI aufgebaut und dort das Script zum Senden ausgeführt.
Code: Alles auswählen
Switch Wohnzimmer_mediatv_Strom "Wohnzimmer MediaTV Strom"
Switch Wohnzimmer_mediatv_Strom_ein_RUN "Wohnzimmer MediaTV Strom EIN" { channel="exec:command:wohnzimmer_mediatv_strom_ein:run" }
Switch Wohnzimmer_mediatv_Strom_aus_RUN "Wohnzimmer MediaTV Strom AUS" { channel="exec:command:wohnzimmer_mediatv_strom_aus:run" }
In der Item Definition gibt es dann 3 Items.
1. Switch für die Darstellung des aktuellen Zustandes und zum antriggern der Items zum wirklichen schalten via Exec Binding
2. Switch fürs Einschalten via Exec
3. Switch fürs Ausschalten via Exec
Und dazu gibt es dann eine Rule die das ganze entsprechend umsetzt:
Code: Alles auswählen
/* Media Strom Exec Rules */
rule "Wohnzimmer Media Strom - Ein"
when
Item Wohnzimmer_Media_Strom changed from OFF to ON
then
Wohnzimmer_mediatv_Strom_ein_RUN.sendCommand(OFF)
end
rule "Wohnzimmer Media Strom - Aus"
when
Item Wohnzimmer_Media_Strom changed from ON to OFF
then
Wohnzimmer_mediatv_Strom_aus_RUN.sendCommand(OFF)
end
Gruß iBot