OpenHAB auf einer QNAP-NAS installieren

  • Ricotchet
  • Autor
  • Offline
  • Senior Mitglied
  • Senior Mitglied
Mehr
19 Juni 2015 21:23 #21 von Ricotchet
Ricotchet antwortete auf OpenHAB auf einer QNAP-NAS installieren
Das hatte ich versucht jedoch bekomme ich dann ipkg: unbekannter Befehl
hänge jetzt hier Fest siehe QNAP Forum
qnap forum

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Ricotchet
  • Autor
  • Offline
  • Senior Mitglied
  • Senior Mitglied
Mehr
20 Juni 2015 19:52 - 20 Juni 2015 19:54 #22 von Ricotchet
Ricotchet antwortete auf OpenHAB auf einer QNAP-NAS installieren
lynx ist drauf hat aber länger gedauert.
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
Letzte Änderung: 20 Juni 2015 19:54 von Ricotchet.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
20 Juni 2015 19:58 #23 von Jürgen
Das ist Linux-Wissen:

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:
Code:
lynx "http://192.168.179.28:80/postEvent.html?action=input ...... "

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
  • Senior Mitglied
Mehr
21 Juni 2015 00:08 #24 von Ricotchet
Ricotchet antwortete auf OpenHAB auf einer QNAP-NAS installieren
Also wieder ein kleiner Schritt für mich und ein noch kleinerer für die Menschheit :lol:

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 :angry:

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.

Mehr
21 Juni 2015 00:14 #25 von Jürgen
Was steht denn in den Logs?

"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
  • Senior Mitglied
Mehr
21 Juni 2015 00:17 - 21 Juni 2015 00:23 #26 von Ricotchet
Ricotchet antwortete auf OpenHAB auf einer QNAP-NAS installieren
jetzt müsste ich nur noch wissen wo ich die finde :huh:

Habs gefunden ich poste gleich mal
Letzte Änderung: 21 Juni 2015 00:23 von Ricotchet.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Ricotchet
  • Autor
  • Offline
  • Senior Mitglied
  • Senior Mitglied
Mehr
21 Juni 2015 00:44 #27 von Ricotchet
Ricotchet antwortete auf OpenHAB auf einer QNAP-NAS installieren
Da ich ne menge Fehler hatte hab ich zurück die demo Version draufgespielt :
Und diese um folgendes erweitert

Switch 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]" }

in der openhab.log Datei steht bei jedem schalten

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.

Mehr
21 Juni 2015 08:08 - 21 Juni 2015 08:27 #28 von Jürgen
Die Item-Datei scheint korrekt zu sein. Im openhab.log stehen auch keine Fehler.

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:
Code:
root@icinga:/usr/bin# cd /usr/share/openhab/addons/ root@icinga:/usr/share/openhab/addons# ls -la insgesamt 1136 drwxr-xr-x 2 root root 4096 Jun 18 08:25 . drwxr-xr-x 7 root root 4096 Jun 10 21:23 .. -rw-r--r-- 1 root root 80794 Mai 25 22:45 org.openhab.binding.astro-1.7.0.jar -rw-r--r-- 1 root root 63873 Mai 25 22:48 org.openhab.binding.exec-1.7.0.jar -rw-r--r-- 1 root root 19503 Mai 25 22:49 org.openhab.binding.http-1.7.0.jar (usw...)


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:
Code:
root@icinga:~# which lynx /usr/bin/lynx

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":
Code:
root@icinga:~# ps faux | grep openhab root 24718 0.0 0.0 9896 924 pts/0 S+ 08:00 0:00 \_ grep openhab openhab 972 0.2 15.2 2032524 235632 ? Sl Jun19 6:08 /usr/bin/java -Dlogback.configurationFile=/etc/openhab/logback.xml -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.port=8080 -Dopenhab.configfile=/etc/openhab/configurations/openhab.cfg -Dopenhab.configdir=/etc/openhab/configurations -Dopenhab.logdir=/var/log/openhab -Dsmarthome.userdata=/var/lib/openhab -Djetty.home=/usr/share/openhab -Djetty.port.ssl=8443 -Djetty.config=/etc/openhab/jetty -Djetty.logs=/var/log/openhab -Djetty.rundir=/usr/share/openhab -Dfelix.fileinstall.dir=/usr/share/openhab/addons -Dfelix.fileinstall.filter=.*\.jar -Djava.library.path=/usr/share/openhab/lib -Djava.security.auth.login.config=/etc/openhab/login.conf -Dorg.quartz.properties=/etc/openhab/quartz.properties -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar /usr/share/openhab/server/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -configuration /var/lib/openhab/workspace -data /var/lib/openhab/workspace -console 5555

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:
Code:
root@icinga:/usr/bin# which lynx /usr/bin/lynx root@icinga:/usr/bin# cd /usr/bin root@icinga:/usr/bin# ls -la lynx -rwxr-xr-x 1 root root 1489712 Mär 26 2012 lynx root@icinga:/usr/bin# chmod a+x lynx

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)
Letzte Änderung: 21 Juni 2015 08:27 von Jürgen.
Folgende Benutzer bedankten sich: Ricotchet

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Ricotchet
  • Autor
  • Offline
  • Senior Mitglied
  • Senior Mitglied
Mehr
21 Juni 2015 21:03 #29 von Ricotchet
Ricotchet antwortete auf OpenHAB auf einer QNAP-NAS installieren
Hallo Jürgen danke für deine Geduld mit mir.

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.

Mehr
21 Juni 2015 21:27 #30 von Jürgen

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
  • Senior Mitglied
Mehr
21 Juni 2015 21:43 - 21 Juni 2015 21:43 #31 von Ricotchet
Ricotchet antwortete auf OpenHAB auf einer QNAP-NAS installieren

[/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.

Letzte Änderung: 21 Juni 2015 21:43 von Ricotchet.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
21 Juni 2015 22:52 #32 von Jürgen
Der "cat"-Befehl zeigt den Inhalt einer Datei an. In diesem Fall würde mich die Datei /etc/passwd interessieren.

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
  • Senior Mitglied
Mehr
23 Juni 2015 22:46 #33 von Ricotchet
Ricotchet antwortete auf Vorstellung: Visualisierung mit OpenHAB
Gute Idee einen seperaten thread von zu machen

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.

Mehr
24 Juni 2015 08:37 - 24 Juni 2015 08:37 #34 von Jürgen

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)
Letzte Änderung: 24 Juni 2015 08:37 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Ricotchet
  • Autor
  • Offline
  • Senior Mitglied
  • Senior Mitglied
Mehr
24 Juni 2015 22:51 #35 von Ricotchet
Ricotchet antwortete auf Vorstellung: Visualisierung mit OpenHAB
@Jürgen ja Binding ist drauf ;)
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.

Ladezeit der Seite: 0.649 Sekunden