Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19002160/2061 - Virtual HUE Device for Alexa

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • shortyle
    antwortet
    ja, LBS19002160 hat im Moment dauerhaft eine 1 an E1 bei mir.

    Ich muss ja zugeben, ich habe halt gar keine Ahnung von LBS schreiben und sonstigen Linux/Centos Sachen, kann somit auch nicht wirklich mehr als Ausführen, Wass ich irgendwo aufschnappe beim lesen.

    Hat es denn ggf. etwas mit dem ".htaccess" und dem "AllowOverride all" oder ist dieser Punkt positiv erledigt, da ich eine Ausgabe bei /api/description.xml und /api/edomi/lights/ erhalte.
    Vielmehr als das und die Anpassung im Quelltext des LBS muss man ja eigentlich nicht machen.

    Einen Kommentar schreiben:


  • Winni
    antwortet
    Nur ne dumme Frage: den LBS19002160 hast du während der Suche aktiviert?

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    Zitat von philipp900 Beitrag anzeigen
    Ist das Leerzeichen hier "homeautom ation" wirklich vorhanden oder kommt das vom Forum?
    Und wieso sind bei der uniqueid Kleinbuchstaben drin EE:dD (Keine Ahnung ob das Auswirkungen hat).
    Was steht nun im access_log?
    Was bringt /api/edomi/lights/1
    Das Leerzeichen kommt durch das Forum. Und das "d" habe ich manuell angepasst und die Smileys ": D" zu umgehen. also es steht schon korrekt mit Großbuchstaben im Output.

    /api/edomi/lights/1 bringt folgendes (1:1 kopiert ohne manuelle Anpassungen)
    Code:
    {"manufacturername":"Edomi","modelid":"EdoSwitch", "name":"testlampe","state":{"mode":"homeautomation ","on":true,"reachable":true},"swversion":"2010"," type":"On/Off plug-in unit","uniqueid":"EE:DD:00:EE:DD:00:EE:DD-01"}
    "on":true steht da, da ich im LBS bei Power state testweise eine 1 eingetragen habe.

    im access_log steht ganz aktuell folgendes (zusammengekürzt)
    Code:
    10.0.xxx.xxx - - [15/Jan/2021:07:00:02 +0100] "GET /api/edomi/lights/1 HTTP/1.1" 200 218 "-"
    10.0.xxx.xxx - - [15/Jan/2021:07:00:02 +0100] "GET /favicon.ico HTTP/1.1" 404 209 "http://10.0.xxx.xxx/api/edomi/lights/1"
    10.0.xxx.xxx - - [15/Jan/2021:07:00:16 +0100] "GET /api/edomi/lights/1 HTTP/1.1" 200 218 "-"
    10.0.xxx.xxx - - [15/Jan/2021:07:00:16 +0100] "GET /api/edomi/lights HTTP/1.1" 200 224 "-"
    Die IP zu Beginn der Zeile, ist immer jene vom Laptop.

    Bei Winni klappt es nun. Irgendwo fehlt bei mir noch ein Schritt

    Bisher erledigt:
    - .htaccess Datei in /usr/local/edomi/www hinzugefügt
    - Anpassung der /etc/httpd/conf/httpd.conf
    - service neugestartet
    - Anpassung des Quelltest von LBS19002161 gem. Post #32
    - LBS neu eingelesen
    - Edomi Server neugestartet
    Zuletzt geändert von shortyle; 15.01.2021, 07:18.

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Zitat von Winni Beitrag anzeigen
    Die Pfadangabe, wollte statt deinem fixen Vorschlag eigentlich was mit MAIN_PATH machen, hat aber nicht funktioniert, evtl. hab ich mich auch nur vertippt... Bin erstmal froh dass es funktioniert.
    Müsste vermutlich auch mit relativem Pfadangaben funktionieren ../../
    Ich wollte eigentlich das tmp Verzeichnis verwenden um nicht bei jeder Statusänderung auf die SSD zu schreiben bzw. SD-Karte bei denen die einen Raspberry verwenden.

    Einen Kommentar schreiben:


  • Winni
    antwortet
    Zitat von philipp900 Beitrag anzeigen
    Woran lags schlussendlich bei dir?
    Die Pfadangabe, wollte statt deinem fixen Vorschlag eigentlich was mit MAIN_PATH machen, hat aber nicht funktioniert, evtl. hab ich mich auch nur vertippt... Bin erstmal froh dass es funktioniert.
    Zitat von philipp900 Beitrag anzeigen
    Hast du echt mehr als 255 Geräte?
    Naja, ich glaub in 1Home habe ich aktuell knapp über hundert, da sind aber alle mein Tasmota- / Dect-Devices nicht enthalten und auch noch nichts mit Heizung. Aktuell hat's mich erstmal nur interessiert.

    E5-E9 ist mir dann auch klar, danke

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Zitat von Winni Beitrag anzeigen
    Nun wird das Device sauber gefunden und funktioniert ! Klasse!
    Das freut mich zu hören. Hatte mich schon gewundert wieso das niemand zum Laufen bekommt.
    Woran lags schlussendlich bei dir?

    Könnte man mit einer zweiten Bridge das Limit von 255 übergehen?
    Hast du echt mehr als 255 Geräte?
    Ich verwende aktuell einfach das letzte Byte der uniqueid um die Devices zu unterscheiden. Mit dem aktuellen Code würde dir eine zweite Bridge nichts bringen.
    Vermutlich könnte man aber einfach mehr als 1 Byte verändern. So im Detail habe ich mich mit dem HUE Protokoll jedoch nicht befasst.

    Was mir noch nicht klar ist: Wozu dienen die Eingänge E5-E9? Alexa lässt doch keine Statusabfrage zu, oder sehe ich das falsch?
    Über Sprache glaube ich nicht, aber in der App siehst du dann immer den korrekten Status.
    Außerdem ist der Status hilfreich wenn du Prozentwerte oder Farben relativ verändern willst.
    "Verringer Licht um 20%" "Licht wärmer", ...

    Zuletzt geändert von philipp900; 15.01.2021, 00:07.

    Einen Kommentar schreiben:


  • Winni
    antwortet
    So, konnte jetzt mal nachziehen und hab den Pfad angepasst. Antwort auf /api/edomi/lights:

    {"55":{"manufacturername":"Edomi","modelid":"Ed oLi ght","name":"WINKLER","state":{"mode":"homeautoma t ion","on":true,"reachable":true},"swversion":"379 2 ","type":"On/off light","uniqueid":"EED:00:EED:00:EED-37"}}

    (nette Interpretation)

    Nun wird das Device sauber gefunden und funktioniert ! Klasse! Könnte damit nun praktisch mein 1Home ablösen, ist halt jede Menge Konfigurationsaufwand. Könnte man mit einer zweiten Bridge das Limit von 255 übergehen? Jetzt sollten ja auch zwei laufen.
    Was mir noch nicht klar ist: Wozu dienen die Eingänge E5-E9? Alexa lässt doch keine Statusabfrage zu, oder sehe ich das falsch?

    Winni
    Zuletzt geändert von Winni; 14.01.2021, 23:48.

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Ist das Leerzeichen hier "homeautom ation" wirklich vorhanden oder kommt das vom Forum?
    Und wieso sind bei der uniqueid Kleinbuchstaben drin EE:dD (Keine Ahnung ob das Auswirkungen hat).
    Was steht nun im access_log?
    Was bringt /api/edomi/lights/1
    Zuletzt geändert von philipp900; 14.01.2021, 22:36.

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    Also wir kommen etwas voran

    2x "/tmp/.alexa-hue-status.json" mit "/usr/local/edomi/www/admin/lbs/alexa/alexa-hue-status.json" ersetzt. Die beiden Zeilen aus #20 wieder gelöscht.

    /api/description.xml -> klappt
    /api/edomi/lights -> klappt
    Code:
    {"1":{"manufacturername":"Edomi","modelid":"EdoSwitch","name":"testlampe","state":{"mode":"homeautom ation","on":false,"reachable":true},"swversion":"2 010","type":"On/Off plug-in unit","uniqueid":"EE:dD:00:EE:dD:00:EE:dD-01"}}
    ABER: noch immer keine Devices gefunden

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    "light State: " ist bei dir leer. Das heißt die Datei "/tmp/.alexa-hue-status.json" kann bei dir nicht eingelesen werden.
    Eventuell ist bei deiner Webserverkonfiguration gesperrt dass du auf Dateien außerhalb des www Verzeichnisses zugreifen darfst.
    Probier mal "/usr/local/edomi/www/admin/lbs/alexa/alexa-hue-status.json" statt "/tmp/.alexa-hue-status.json". (Einmal im LBS und einmal im EXEC Teil ändern)

    Die anderen Fehler sind klar, da du mit deiner zusätzlichen echo Ausgabe das xml Format zerstört hast.
    Also danach die 2 eingefügten Zeilen wieder löschen.

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    Ja die Alexa IP ist es in der Tat.

    Habe im 2161 nun den Teil, an der vorgeschlagenen Stelle ergänzt und es erscheint dann im Browser folgendes

    Code:
    Request URL: /api/edomi/lights light State:
    Allerdings werden noch immer keine Devices gefunden.
    Und zu allem Übel erscheint nun bei http://10.0.xxx.xxx/api/description.xml folgendes

    Code:
    [B]This page contains the following errors:[/B]
    error on line 1 at column 1: Document is empty
    [B]Below is a rendering of the page up to the first error.[/B]
    Ich muss mich allerdings berichtigen. In der access_log taucht die IP der Alexa nicht auf. Lediglich die IP meines Laptop von dem aus ich arbeite.
    Zuletzt geändert von shortyle; 14.01.2021, 22:03.

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Wenn die GET requests auf /api von einer Alexa IP kommen funktioniert die Bridge.
    Wenn /api/edomi/lights allerdings nur eine leere Seite bringt passt im webserver oder im 2161 was nicht.
    Jetzt scheinst du gleich weit zu sein wie Winni.

    Bitte ändere mal den Code wie in Post #20 vorgeschlagen und ruf die Seite nochmal mit dem Browser auf.
    Ich muss wohl noch mehr logging einbauen.

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    http://10.0.xxx.xxx/api/edomi/lights

    liefert lediglich eine weiße Seite.

    im Anschluss habe ich nochmal im access_log geschaut mit folgenden Output (habe es jetzt auch mal etwas zusammengekürzt

    Code:
    10.0.xxx.xxx - - [14/Jan/2021:21:24:22 +0100] "GET /api/description.xml HTTP/1.1" 200 1122 "-"
    10.0.xxx.xxx - - [14/Jan/2021:21:24:31 +0100] "GET /api/edomi/lights HTTP/1.1" 200 - "-"
    10.0.xxx.xxx - - [14/Jan/2021:21:24:31 +0100] "GET /favicon.ico HTTP/1.1" 404 209 "http://10.0.xxx.xxx/api/edomi/lights"
    10.0.xxx.xxx - - [14/Jan/2021:21:24:42 +0100] "GET /api/edomi/lights HTTP/1.1" 200 - "-"
    10.0.xxx.xxx - - [14/Jan/2021:21:24:44 +0100] "GET /api/ HTTP/1.1" 200 - "-"
    10.0.xxx.xxx - - [14/Jan/2021:21:24:49 +0100] "GET /api/description.xml HTTP/1.1" 200 1122 "-"
    10.0.xxx.xxx - - [14/Jan/2021:21:24:57 +0100] "GET /api/description.xml HTTP/1.1" 200 1122 "-"
    10.0.xxx.xxx - - [14/Jan/2021:21:24:59 +0100] "GET /api/ HTTP/1.1" 200 - "-"
    10.0.xxx.xxx - - [14/Jan/2021:21:25:02 +0100] "GET /api/edomi/lights HTTP/1.1" 200 - "-"
    Was mich irritiert sind die fehlenden POST Einträge, was vermutlich auf die Bridge zurückzuführen ist.
    Zuletzt geändert von shortyle; 14.01.2021, 21:39.

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Bei dir scheint es sich um ein anderes Problem wie bei Winni zu handeln.
    Im access_log scheint bei dir kein einziger Eintrag zu /api auf. Sollte eigentlich so wie in Post #16 aussehen
    Das bedeutet die Bridge läuft nicht richtig oder wird nicht gefunden.
    Ruf mal /api/edomi/lights im Browser auf und schau ob das zumindest funktioniert.

    Einen Kommentar schreiben:


  • shortyle
    antwortet
    Zitat von philipp900 Beitrag anzeigen
    Du musst auch das Apache modul mod_rewrite aktiviert haben.
    Ist wohl standardmäßig aktiviert, sagt zumindest der passende Eintrag
    Code:
    LoadModule rewrite_module modules/mod_rewrite.so
    in der Datei
    Code:
    /etc/httpd/conf.modules.d/00-base.conf
    .

    Habe jetzt aber den Fehler gefunden. In der
    Code:
    /etc/httpd/conf/httpd.conf
    gibt es zwei Absätze die sich mit den Verzeichnis "/usr/local/edomi/www" befassen.
    Ich hatte die Anpassung in folgendem vorgenommen, was jedoch nicht geklappt hat

    Code:
    # Relax access to content within /var/www.
    #
    <Directory "/usr/local/edomi/www">
    AllowOverride [COLOR=#e74c3c]none[/COLOR]
    # Allow open access:
    Require all granted
    </Directory>
    stattdessen muss im zweiten Absatz die entsprechende Änderung vorgenommen werden
    Code:
    # Further relax access to the default document root:
    <Directory "/usr/local/edomi/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride [COLOR=#e74c3c]All[/COLOR]
    #
    # Controls who can get stuff from this server.
    #
    Require all granted
    </Directory>
    #
    Nun klappt es auch mit der XML. Jedoch findet er noch immer keine neuen Geräte. Testweise ein "sw" und ein "on" Gerät mit je einem LBS 2161 konfiguriert.
    Woran könnte das noch liegen?

    edit: in der Datei .alexa-hue-status.json werden die Devices auch aufgelistet, soweit passt alles schon einmal.
    und hier die einzigen beiden Einträge nach einem Server Neustart und anschließender Gerätesuche auf der Alexa

    Code:
    10.0.xxx.xxx - - [14/Jan/2021:20:32:18 +0100] "GET /data/log/CUSTOMLOG_Virtual_HUE_Bridge-LBS19002160.htm?20210114203216 HTTP/1.1" 200 5002 "http://10.0.xxx.xxx/admin/?login=xxx&pass=xxx" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15"
    
    10.0.10.188 - - [14/Jan/2021:20:32:18 +0100] "GET /favicon.ico HTTP/1.1" 404 209 "http://10.0.xxx.xxx/data/log/CUSTOMLOG_Virtual_HUE_Bridge-LBS19002160.htm?20210114203216" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15"
    Zuletzt geändert von shortyle; 14.01.2021, 21:26.

    Einen Kommentar schreiben:

Lädt...
X