Hi,
du rufst das *.py zweimal auf? Egal ob on oder off?
wenn du im verzeichnis des skripts mal ein
>ls -l
aufrufst solltest du so etws in der art bekommen:
drwxr-xr-x 2 root root 4096 Mai 9 16:18 addons
drwxr-xr-x 8 root root 4096 Apr 11 11:39 configurations
drwxr-xr-x 2 root root 4096 Apr 11 11:39 contexts
drwxr-xr-x 4 root root 4096 Apr 11 11:39 etc
drwxr-xr-x 2 root root 4096 Mai 19 01:59 logs
-rw-r--r-- 1 root root 277 Mär 6 16:13 ohdev.bat
-rw-r--r-- 1 root root 626 Feb 14 17:31 README.TXT
drwxr-xr-x 6 root root 4096 Mai 16 11:57 server
drwxr-xr-x 2 root root 4096 Apr 11 11:40 sounds
-rw-r--r-- 1 root root 958 Feb 14 17:31 start.bat
-rw-r--r-- 1 root root 1110 Feb 14 17:31 start_debug.bat
-rw-r--r-- 1 root root 1043 Feb 14 17:30 start_debug.sh
-rw-r--r-- 1 root root 880 Feb 14 17:31 start.sh
drwxr-xr-x 5 root root 4096 Apr 19 07:22 webapps
drwxr-xr-x 3 root root 4096 Apr 11 11:40 workspace
Prüfe mal bei deinem Skript die Rechte - am besten gibst du dem skript ein
sudo chmod +x *.py
mit - dann sollten sie für alle user ausführbar sein.
dann nochmals versuchen aus OH heraus.
Ich habe es letzendlich auch nur über den Umweg script hinbekommen:
ITEM:
Switch Light_EG_Kitchen_Corner "Küche AP"
RULE:
rule "KitchenLamp"
when
Item Light_EG_Kitchen_Corner received command
then
if (receivedCommand==OFF){
callScript("kitchenlampOFF")
logInfo("Küche AP Lampe", "OFF")
}
else {
if (receivedCommand==ON){
callScript("kitchenlampON")
logInfo("Küche AP Lampe", "ON")}
else
logInfo("Küche AP Lampe", "NO Value")
}
end
im Verzeichnis Scripts von OH dann zwei neue angelegt mit den Namen
kitchenlampOFF bzw kitchenlampON
Der Inhalt des Skripts sieht dann so aus:
executeCommandLine("sh /opt/openhab/configurations/scripts/kitchenlampOFF.sh")
Hier würdest du den Commandline Aufruf des Phyton script reinnehmen. sie sh files haben bei mir alle einen chmod 777 *.sh mitbekommen um Benutzerrechten aus dem weg zu gehen. Eine Parameterübergabe ans Script habe ich bislang noch nicht hinbekommen.
Grüsse
Karsten
du rufst das *.py zweimal auf? Egal ob on oder off?
wenn du im verzeichnis des skripts mal ein
>ls -l
aufrufst solltest du so etws in der art bekommen:
drwxr-xr-x 2 root root 4096 Mai 9 16:18 addons
drwxr-xr-x 8 root root 4096 Apr 11 11:39 configurations
drwxr-xr-x 2 root root 4096 Apr 11 11:39 contexts
drwxr-xr-x 4 root root 4096 Apr 11 11:39 etc
drwxr-xr-x 2 root root 4096 Mai 19 01:59 logs
-rw-r--r-- 1 root root 277 Mär 6 16:13 ohdev.bat
-rw-r--r-- 1 root root 626 Feb 14 17:31 README.TXT
drwxr-xr-x 6 root root 4096 Mai 16 11:57 server
drwxr-xr-x 2 root root 4096 Apr 11 11:40 sounds
-rw-r--r-- 1 root root 958 Feb 14 17:31 start.bat
-rw-r--r-- 1 root root 1110 Feb 14 17:31 start_debug.bat
-rw-r--r-- 1 root root 1043 Feb 14 17:30 start_debug.sh
-rw-r--r-- 1 root root 880 Feb 14 17:31 start.sh
drwxr-xr-x 5 root root 4096 Apr 19 07:22 webapps
drwxr-xr-x 3 root root 4096 Apr 11 11:40 workspace
Prüfe mal bei deinem Skript die Rechte - am besten gibst du dem skript ein
sudo chmod +x *.py
mit - dann sollten sie für alle user ausführbar sein.
dann nochmals versuchen aus OH heraus.
Ich habe es letzendlich auch nur über den Umweg script hinbekommen:
ITEM:
Switch Light_EG_Kitchen_Corner "Küche AP"
RULE:
rule "KitchenLamp"
when
Item Light_EG_Kitchen_Corner received command
then
if (receivedCommand==OFF){
callScript("kitchenlampOFF")
logInfo("Küche AP Lampe", "OFF")
}
else {
if (receivedCommand==ON){
callScript("kitchenlampON")
logInfo("Küche AP Lampe", "ON")}
else
logInfo("Küche AP Lampe", "NO Value")
}
end
im Verzeichnis Scripts von OH dann zwei neue angelegt mit den Namen
kitchenlampOFF bzw kitchenlampON
Der Inhalt des Skripts sieht dann so aus:
executeCommandLine("sh /opt/openhab/configurations/scripts/kitchenlampOFF.sh")
Hier würdest du den Commandline Aufruf des Phyton script reinnehmen. sie sh files haben bei mir alle einen chmod 777 *.sh mitbekommen um Benutzerrechten aus dem weg zu gehen. Eine Parameterübergabe ans Script habe ich bislang noch nicht hinbekommen.
Grüsse
Karsten
Kommentar