- Beiträge: 69
- Dank erhalten: 1
OpenHAB auf einer QNAP-NAS installieren
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
hänge jetzt hier Fest siehe QNAP Forum
qnap forum
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
- Beiträge: 69
- Dank erhalten: 1
Leider funktioniert der http Befehl nicht einer ne Idee?
[~] # lynx http://192.168.179.28:80/postEvent.html?action=input&STM=0&MOD=16&C>
[29] 3575
[30] 3576
[31] 3577
[32] 3578
[~] #
Er scheint die & Zeichen irgend wie zu interpretieren
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
-
- Offline
- Moderator
-
Wenn in einem Befehl ein "&"-Zeichen enthalten ist, wird Linux diesen Befehl als Hintergrund-Job ausführen.
Wenn du lynx auf der Kommandozeile aufrufst, musst du den http-Befehl in Anführungszeichen setzen:
In der OpenHAB-Item-Konfiguration darfst du die Anführungszeichen aber nicht benutzen!
Gruß
Jürgen
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
- Beiträge: 69
- Dank erhalten: 1
Unter der Console funktioniert der folgende Befehl und mein Büro lich t wechselt den zustand:
lynx "http://192.168.179.28:80/postEvent.html?action=input&STM=0&MOD=16&CHA=0&EVT=2"
ich habe diesen Befehl imOpenhab und es passiert nichts

Switch EG_Buro_Licht_Decke "Decke1" { exec=">[*:lynx http://192.168.179.28:80/postEvent.html?action=input&STM=0&MOD=16&CHA=0&EVT=2]" }
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
-
- Offline
- Moderator
-
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
- Beiträge: 69
- Dank erhalten: 1
Habs gefunden ich poste gleich mal
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
- Beiträge: 69
- Dank erhalten: 1
Und diese um folgendes erweitert
in der openhab.log Datei steht bei jedem schaltenSwitch Light_GF_Corridor_Ceiling "Ceiling" (GF_Corridor, Lights) { exec=">[*:lynx http://192.168.179.28:80/postEvent.html?action=input&STM=0&MOD=16&CHA=0&EVT=2]" }
Switch Light_GF_Kitchen_Ceiling "Ceiling" (GF_Kitchen, Lights) { exec=">[*:lynx http://192.168.179.28:80/postEvent.html?action=input&STM=0&MOD=16&CHA=0&EVT=2]" }
Switch Light_GF_Kitchen_Table "Table" (GF_Kitchen, Lights) { exec=">[*:lynx http://192.168.179.28:80/postEvent.html?action=input&STM=0&MOD=16&CHA=0&EVT=2]" }
2015-06-21 00:39:46.769 [WARN ] [t.i.s.MapTransformationService] - Could not find a mapping for '-' in the file 'en.map'.
und in der Events.log Datei
2015-06-21 00:39:05 - Light_GF_Corridor_Ceiling received command ON
2015-06-21 00:39:15 - Light_GF_Corridor_Ceiling received command OFF
2015-06-21 00:39:36 - Light_GF_Corridor_Ceiling received command ON
2015-06-21 00:39:46 - Light_GF_Corridor_Ceiling received command OFF
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
-
- Offline
- Moderator
-
Erste Frage: Ist das EXEC-Binding unter Openhab überhaupt installiert? Gehe mal in das ADDON-Verzeichnis von Openhab (Unterverzeichnis der Openhab-Installation) und prüfe, ob die Datei "org.openhab.binding.exec-1.7.0.jar" vorhanden ist:
Jetzt wirds schwierig. Da ich deine QNAP - bzw. deren Betriebssystem und Openhab-Installation nicht kenne - kann ich allenfalls Tipps geben, wie man unter Linux vorgehen würde. Vielleicht kommst du dann auf die Problem-Ursache.
Meine erste Annahme ist, dass Du auf der QNAP als Benutzer "root" - also mit sämtlichen Rechten ausgestattet - angemeldet bist.
Du hast ja schon Tests gemacht mit dem lynx-Aufruf. Lynx ist also installiert. Wie bei DOS/Windows werden Programme über einen so genannten "Pfad" gefunden. Da jeder User aber ein anderes "Environment" (=Umgebungsvariablen und somit Pfad-Angabe) haben kann, Könnte es ganz einfach sein, dass lynx gar nicht gefunden wird. Mein erster Versuch wäre also lynx mit komplettem Pfad aufzurufen.
Unter Linux erhält man mit dem Befehl "which lynx" den Speicherort (oder die Speicherorte falls es mehrere gibt) zurück:
In meinem Fall also unter "/usr/bin"
Erster Versuch wäre also im EXEC-Binding den Programmaufruf voll qualifiziert mit Pfadangabe zu machen: "[*:/usr/bin/lynx http://192.168.179.28...."
Falls das dann immer noch nicht funktioniert, würde sich mir die Frage stellen, ob der User unter dem Openhab läuft auch Berechtigt ist, lynx zu starten.
Mit dem "ps"-Befehl kann man nachschauen, ob und unter welchem User Openhab läuft. Da die Ausgabe sehr lang wird (sämtliche Prozesse werden angezeigt), kann man einen Filter setzen durch die Angabe von "| grep openhab":
Das Ergebnis liefert zwei Zeilen zurück. Die erste ist einfach meine Kommandozeile mit der Suche - die zweite der eigentliche Openhab-Daemon. In meinem Fall läuft Openhab unter einem User "openhab" (siehe Anfang der Zeile).
Nun würde ich schauen, ob dieser User überhaupt berechtigt ist lynx zu starten.
Dazu schaue ich mir mal die Attribute von lynx an:
Ich wechsle also in das Verzeichnis wo lynx gespeichert ist und zeige mir mit "ls" mal das Inhaltsverzeichnis an. In der ersten Spalte "-rwxr-xr-x" stehen die Attribute. Das "x" steht für "Ausführen". Da sollte 3 mal ein "x" stehen. Falls nicht, kann man das als Benutzer "root" mit dem "chmod"-Befehl setzen.
So das war mal eine schnelle Linux-Fehlereingrenzung. Das sind auf jeden Fall die Hauptursachen für dein Problem. Probier das mal aus. Grundsätzlich wäre es aber auch wichtig, sich gewisse Grund-Linuxkenntnisse anzueignen. :whistle:
Gruß
Jürgen
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
- Beiträge: 69
- Dank erhalten: 1
Also du hattest gleich mehrmals recht.
1. Das Exec binding war nicht drauf hatte es vertauscht mit "org.openhab.persistence.exec-1.7.0"
2. Lynx muss mit kompletten Pfad ausgeführt werden.
in meinem Fall /opt/bin/lynx
dann kommt im openhab log:
2015-06-21 20:54:01.516 [INFO ] [.o.b.exec.internal.ExecBinding] - executed commandLine '/opt/bin/lynx http://192.168.179.28:80/postEvent.html?action=input&STM=0&MOD=16&CHA=0&EVT=2'
2015-06-21 20:54:01.763 [WARN ] [t.i.s.MapTransformationService] - Could not find a mapping for '-' in the file 'en.map'.
So nun zum Benutzer:
[/opt/bin] # ps | grep openhab
32149 admin 548 S grep openhab
[/opt/bin] # ls -la lynx
-rwxr-xr-x 1 admin administ 1141424 Feb 17 2012 lynx*
[/opt/bin] #
ist doch OK der Benutzer admin sollte es ausführen können,
Leider geht das Licht immer noch nicht an.
Hast du noch einen Tipp und ja du hast recht wird Zeit für Linux :blush:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
-
- Offline
- Moderator
-
Ricotchet schrieb: dann kommt im openhab log:
2015-06-21 20:54:01.516 [INFO ] [.o.b.exec.internal.ExecBinding] - executed commandLine '/opt/bin/lynx http://192.168.179.28:80/postEvent.html?action=input&STM=0&MOD=16&CHA=0&EVT=2'
2015-06-21 20:54:01.763 [WARN ] [t.i.s.MapTransformationService] - Could not find a mapping for '-' in the file 'en.map'.
So nun zum Benutzer:[/opt/bin] # ps | grep openhab
32149 admin 548 S grep openhab[/opt/bin] # ls -la lynx
-rwxr-xr-x 1 admin administ 1141424 Feb 17 2012 lynx*
[/opt/bin] #
Ich fange mal von Hinten an. Die Rechte von lynx scheinen in Ordnung zu sein. Bei der Prozessanzeige wird nur dein eigener ps-Befehl angezeigt. Du musst ps mit Parameter aufrufen: "ps faux | grep openhab" (siehe mein Beispiel im vorherigen Post).
Was ich selbst nicht weiß: Ob die WARN-Meldung mit dem fehlenden Mapping irgendwelche negativen Auswirkungen hat.
Grundsätzlich glaube ich aber, dass das Problem noch irgendwas mit fehlenden oder falschen Rechten zu tun hat. Es gibt ja auch Befehle, die ein "normaler" User einfach nicht ausführen darf. Beispiel Befehl "shutdown" - das darf nur der Chef-User ... und der ist bei Linux-Systemen immer der Benutzer "root". Auf deiner NAS bewegst Du dich aber als Benutzer "admin". Nun könnte es sein, dass hier der User "admin" quasi dem "root" entspricht. Oder aber, dass es auch noch einen Benutzer "root" gibt.
Linux-Quick-Tipp:
- Befehl "whoami" zeigt an, als was für ein User du gerade angemeldet bist.
- Mit dem Befehl "su" (Switch User) kann der Benutzer gewechselt werden. Ein "su" ohne weitere Angabe wechselt normalerweise zum Benutzer "root" (meistens mit einer Passwortaufforderung)
Probier doch mal ein su und anschließend ein whoami. Mich würde es nur interessieren, ob es auch einen Benutzer "root" gibt.
Du könntest auch mal ein "cat /etc/passwd" machen. Dann werden alle im System verfügbaren User aufgelistet. Hier wird der User "admin" auftauchen und auch alle anderen.
Gruß
Jürgen
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
- Beiträge: 69
- Dank erhalten: 1
[/etc] # ps faux | grep openhab
18754 admin 544 S grep openhab
[/etc] #
[/] # whoami
admin
[/] # su
-sh: su: command not found
Den Nachfolgnden Satz konnte ich nicht nachvollziehen meinjst du ich soll in den ordner "cat /etc/passwd" den gibt es nicht
Du könntest auch mal ein "cat /etc/passwd" machen. Dann werden alle im System verfügbaren User aufgelistet. Hier wird der User "admin" auftauchen und auch alle anderen.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
-
- Offline
- Moderator
-
Wir bewegen uns jetzt allerdings in einem Bereich, wo die QNAP sich anders verhält, wie ein Standard-Linux. (Stichwort root-User).
Da wird die Fehlersuche etwas schwierig. Beim "ps"-Befehl wird bei dir auch nicht der OpenHAB-Prozess angezeigt. Vermutlich fehlen dem Benutzer "admin" die Rechte dafür.
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
- Beiträge: 69
- Dank erhalten: 1
Also ich hab mal gute Nachrichten mittlerweile läuft openhab auf meinem NAS
die schlechte ich habe nichts verändert einzig ein Neustart war die Lösung.
Zu beobachten ist das sobald ich die OpenHAB Applikation über das Web Interface neu starte openhab nicht mehr funktioniert startet man das NAS dann jedoch neu geht wieder alles.
damit kann ich aber erst mal leben.
Das nächste was ich mal untersuchen werde ist warum das Binding direkt über HTTTP nicht richtig funktioniert.
Danke für die Hilfe
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
-
- Offline
- Moderator
-
Ricotchet schrieb: Also ich hab mal gute Nachrichten mittlerweile läuft openhab auf meinem NAS
die schlechte ich habe nichts verändert einzig ein Neustart war die Lösung.
Zu beobachten ist das sobald ich die OpenHAB Applikation über das Web Interface neu starte openhab nicht mehr funktioniert startet man das NAS dann jedoch neu geht wieder alles.
damit kann ich aber erst mal leben.
Das freut mich. Alte IT-Weisheit: "Reboot tut gut"
Ricotchet schrieb: Das nächste was ich mal untersuchen werde ist warum das Binding direkt über HTTTP nicht richtig funktioniert.
Das war auch mein erster Ansatz. Wie in folgendem Beitrag beschrieben ( phc-forum.de/index.php/forum/visualisier...indung-an-openhab#64 ) hatte ich mittels Wireshark den Netzwerktraffic abgegriffen (das kannst du auf der QNAP wahrscheinlich nicht machen ...) und festgestellt, dass dann mehrfache HTTP-Befehle (HTTP-GET) verschickt werden. Je nachdem dann eine gerade oder ungerade Anzahl von Befehlen unterwegs waren, hat der Schaltvorgang funktioniert oder nicht (ein - aus - ein - aus ...).
Nach dem "Workaround" über lynx habe ich das aber nicht weiter verfolgt.
Bin mal gespannt, ob du da noch was herausfindest. Das richtige Binding hast du ja sicherlich schon installiert ... :whistle:
Gruß
Jürgen
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Autor
- Offline
- Senior Mitglied
-
- Beiträge: 69
- Dank erhalten: 1

dasmit mehmaligen senden habe ich auch festgestellt. ich vermute das es was mit dem bestätigen des Get Befehls auf sich hat und da dies scheinbar nicht klappt wird der befehl erneut gesendet.
Ich werde wohl mein alten Hub wieder in Gag bringen und ein paar Wireshark aufnahmen machen.
Interessant ist ob dies bei "jeden Webserver" auftritt oder nur bei der PHC Steuerung
Bitte Anmelden oder Registrieren um der Konversation beizutreten.