Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
kann mir jemand beanworten ob diese Steckdosenleiste mit OH2 funktioniert.
Aktuell nutze ich diese mit OH1.8. Unter folgendem Link wird beschrieben was in OH1.8 nötig war um diese zu betreiben.
Ich versuche gerade die Leiste via OH2 zu schalten. Über die Konsole funktioniert das ohne Probleme, ich glaube meine commands passen nicht wirklich.
Muss man in OH2 was beachten in Bezug auf die Syntax der exec:commands?
Ja, das Binding funktioniert auch unter openHAB 2.x. Allerdings wird die energenie.cfg nicht automatisch angelegt. Wenn man die Datei manuell erstellt und die entsprechenden Einträge aus einer 1.x openhab.cfg Datei kopiert ( energenie: am Zeilenanfang entfernen), dann sollte es gehen. Bei mir funktioniert es. Sobald ich etwas mehr Zeit habe, werde ich das Binding nach OH2 portieren.
1.) Warum wird der Status des Items und das ensprechende Icon (rot - grün) nicht auf aktualisiert?
2.) Gibt es eine Möglichkeit das ganze in einen Switch zu packen?
Das Ganze sah unter OH1.8 folgendermaßen aus:
Switch GB01{ exec=">[OFF:sudo sispmctl -d 1 -f 1] >[ON:sudo sispmctl -d 1 -o 1]"
So, wie es aussieht, solltest Du eine Zwischenschicht einziehen, also ein bash Script anlegen, in dem die beiden Kommandos ausgeführt werden. Dieses Kommando sollte dann mit ON oder OFF als Parameter aufgerufen werden können. Mehr oder weniger so:
Dieses Script speicherst Du irgendwo ab und rufst es dann von openHAB aus per exec Binding auf, statt ON oder OFF schreibst Du aber status in den Befehlsaufruf, den Switch definierst Du dann nur einmal, dann wird beim Betätigen des Switches jeweils das Script mit dem Parameter ON oder OFF aufgerufen, je nachdem, wie der Switch dann steht.
Eine Schwierigkeit könnte noch mit dem sudo einher gehen, es kann gut sein, dass das so nicht funktioniert. Entweder erlaubst Du mittels visudo das Benutzen ohne Passwort (hmm...), oder Du sorgst Dafür, dass sispmctl auch ohne sudo funktioniert (vielleicht muss der User, der den Befehl aufruft, nur in einer bestimmten Gruppe sein)
In dem Eintrag für das Item muss doch noch wie du geschrieben hast der status eingebaut werden, richtig?
Leider funktioniert hier die Syntax aus Openhab 1.8 nicht mehr die wie folgt aussah:
Wenn Du das Exec2 Binding verwendest, musst Du ein Thing anlegen. Nehmen wir an, Du hast ein bash-Script ähnlich dem, was ich im Vorpost skizziert habe unter dem Namen egswitch.sh, dann musst Du diese Script im Thing aufrufen:
Wichtig ist noch, dass das Script im Suchpfad liegt, sonst musst Du halt den kompletten Pfad angeben. Zum testen bietet es sich an, im Script selbst z.B. ein echo `date` $1 >> /tmp/egswitch einzubauen, ganz am Anfang, dann kannst Du leicht über das Vorhandensein dieser Datei (und im Zweifel über deren Inhalt) überprüfen, dass openHAB das Script auch korrekt aufgerufen hat.
Wenn ich das Script über das Terminal direkt aufrufe, sprich via ./GB_01_01.sh ON bzw. OFF funktioniert alles so wie es sein sollte. Leider funktioniert das aktuell nur über das Terminal und noch nicht aus Openhab heraus.
openhab> log:tail zeigt folgendes an:
12:35:31.598 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'GB_01_01' received command ON
12:35:31.623 [INFO ] [marthome.event.ItemStateChangedEvent] - GB_01_01 changed from OFF to ON
12:35:31.630 [INFO ] [marthome.event.ItemStateChangedEvent] - GB_01_01 changed from ON to OFF
12:35:31.640 [INFO ] [marthome.event.ItemStateChangedEvent] - GB_01_01 changed from OFF to ON
Die Steckdose wird nicht eingeschaltet, lediglich das Item erhält den command.
um zu überprüfen, ob das Script überhaupt aufgerufen wurde.
Und nicht vergessen, das sudo solltest Du versuchen los zu werden, oder Du musst dem User, unter dem openHAB läuft (also normalerweise openhab) in der Datei /etc/sudoers (mittels visudo! sonst könntest Du Dich leicht aussperren) das Ausführen des Befehls sispmctl ohne Passworteingabe erlauben.
Hi, ja das habe ich gemacht.
Es scheint so als würde das Thing nicht greifen, sprich ich erhalte in der Datei, welche durch das Echo generiert wird keinen Eintrag sobald ich über OH schalte.
Ich will damit sagen, dass das Script über OH nicht angesprochen bzw. ausgeführt wird.
Der Eintrag erscheint sobald ich manuell über das Terminal schalte.
Der Eintrag sieht wie folgt aus:
Tue Feb 20 11:34:35 CET 2017 ON
[ERROR] [hab.binding.exec.handler.ExecHandler] - An exception occurred while formatting the command line with the current time and input values : 'Format specifier '%2$s''^C
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar