Hallo zusammen,
ich weißt nicht mehr weiter und möchte nun Euch um Hilfe bitten.
Ich haben in OH2 über das EXEC-Binding 2.0 meine 433MHz Funksteckdosen über einzelne sh-Scripts am Laufen. --> Funktiniert!
Nun habe ich ein weiters Skript implementiert, welches per ssh einen GPIO auf einem weiteren RaspberryPi schalten soll. --> funktiniert nicht
Alle Scritps haben die gleichen Rechte (openhab openhabian) und auch die gleichen Dateiberechtigunen (777).
Wenn ich das Script "Pi_garage.sh" per Konsole aufrufe, wird es ausgeführt.
Wenn ich versuche dieses Script über meine Openhab-Oberfläche oder Basic-UI zu starten, passiert nichts.
Im openhab.log wird lediglich angezeigt, das mein String-Schalter "GargenTTor" seinen Status von ON nach OFF und umgekehrt ändert.
Hat einer von Euch eine Idee?
things:
items:
sitemap:
Alternativ habe ich auch beide Script-Aufrufe in eine Rule gepackt wobei auch nur die Funktsteckdose ausgeführt wird.
Pi_garage.sh macht nichts
ich weißt nicht mehr weiter und möchte nun Euch um Hilfe bitten.
Ich haben in OH2 über das EXEC-Binding 2.0 meine 433MHz Funksteckdosen über einzelne sh-Scripts am Laufen. --> Funktiniert!
Nun habe ich ein weiters Skript implementiert, welches per ssh einen GPIO auf einem weiteren RaspberryPi schalten soll. --> funktiniert nicht
Alle Scritps haben die gleichen Rechte (openhab openhabian) und auch die gleichen Dateiberechtigunen (777).
Wenn ich das Script "Pi_garage.sh" per Konsole aufrufe, wird es ausgeführt.
Wenn ich versuche dieses Script über meine Openhab-Oberfläche oder Basic-UI zu starten, passiert nichts.
Im openhab.log wird lediglich angezeigt, das mein String-Schalter "GargenTTor" seinen Status von ON nach OFF und umgekehrt ändert.
Hat einer von Euch eine Idee?
things:
Code:
/************************************************************************** Funksteckdosen **************************************************************************/ Thing exec:command:FSD_A [command="/srv/openhab2-conf/scripts/FSD_1.sh %2$s", interval=0, autorun=true] Thing exec:command:FSD_B [command="/srv/openhab2-conf/scripts/FSD_2.sh %2$s", interval=0, autorun=true] Thing exec:command:FSD_C [command="/srv/openhab2-conf/scripts/FSD_3.sh %2$s", interval=0, autorun=true] Thing exec:command:FSD_D [command="/srv/openhab2-conf/scripts/FSD_4.sh %2$s", interval=0, autorun=true] /************************************************************************** GPIO Garage **************************************************************************/ Thing exec:command:GaragenTor [command="/srv/openhab2-conf/scripts/Pi_garage.sh", interval=0, autorun=true]
Code:
/**************************************************************************
Funksteckdosen <poweroutlet>
**************************************************************************/
String FSD_A <terrace> {channel="exec:command:FSD_A:input"}
String FSD_B <light> {channel="exec:command:FSD_B:input"}
String FSD_C <light> {channel="exec:command:FSD_C:input"}
String FSD_D <light> {channel="exec:command:FSD_D:input"}
/**************************************************************************
GPIO Garage
**************************************************************************/
String GaragenTTor <garagedoor> {channel="exec:command:GaragenTor:input"}
Code:
Switch item=FSD_B label="Leselampe" mappings=[ ON="ON", OFF="OFF" ] Switch item=FSD_C label="Stehlampe" mappings=[ ON="ON", OFF="OFF" ] Switch item=GaragenTTor label="Garagentor" mappings=[ ON="go", OFF="go" ]
Alternativ habe ich auch beide Script-Aufrufe in eine Rule gepackt wobei auch nur die Funktsteckdose ausgeführt wird.
Code:
rule "Garagentor_los"
when
Item GaragenTTor received command
then
executeCommandLine("bash /srv/openhab2-conf/scripts/Pi_garage.sh")
executeCommandLine("bash /srv/openhab2-conf/scripts/FSD_4.sh ON")
logInfo("Regel Garagentor", "Los gehts")
end


penhab). Da der User openhab kein home-Verzeichnis hat, muss der key beim Aufruf mit angegeben werden, mittels
das Exec2 Binding versteht niemand so richtig...
Wenn Du ohnehin das exec Binding verwendest, kannst Du einfach ein Batch Script schreiben, welches einen Parameter erwartet (ON, OFF) und entsprechende Befehle absetzt und passend zurückmeldet. Dann legst Du nur ein Thing an, welches dann die Schalterstellung an das Script übergibt.
Kommentar