Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für das hue2 Plugin

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

  • jonny7792
    antwortet
    Hallo himself

    Ich bin gerade dabei deine Erkenntnisse nachzustellen, jedoch habe ich eine Frage:

    Welche IP hast du eingetragen ? die von SHNG oder von der Bridge?


    Danke

    Einen Kommentar schreiben:


  • himself
    antwortet
    weiteres Update: Ich habe die ip manuell in dem discover_bridges.py script gesetzt (bei discovery methode mdns):

    Code:
            ip = '192.168.178.137' #socket.gethostbyname(service.server)
    jetzt hat er sie gefunden und alles läuft. Behebt den Fehler natürlich nicht, dafür reichen meine python Fähigkeiten aber nicht aus.

    Vielleicht hilft es ja jemanden.

    Einen Kommentar schreiben:


  • himself
    antwortet
    Hier ein kurzes Update: ich habe die betreffenen Zeilen in der __init__.py auskommentiert. Jetzt startet das plugin, findet aber die bridge nicht. Log sagt folgendes:

    Code:
    2022-09-15  18:40:33 ERROR    plugins.hue2        discover_bridges: Exception in discover_bridges(): [Errno -2] Name or service not known
    2022-09-15  18:40:51 ERROR    plugins.hue2        discover_bridges: Exception in discover_bridges(): [Errno -2] Name or service not known
    Ich vermute das ist das eigtl. Problem.

    @jonny7792 magst du mal schauen ob das Verhalten bei dir das gleiche ist? Danke!

    Einen Kommentar schreiben:


  • himself
    antwortet
    Hallo zusammen,

    habe das gleiche Problem wie Jonny. Error bei Autodiscover ohne gesetzte IP Adresse:

    Code:
    2022-09-14  12:41:56 ERROR    lib.plugin          Plugin 'hue2' from section 'HUE2' exception: 'ip'
    > Traceback (most recent call last):
    >   File "/usr/local/smarthome/lib/plugin.py", line 162, in __init__
    >     plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta, self._configfile)
    >   File "/usr/local/smarthome/lib/plugin.py", line 629, in __init__
    >     exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
    >   File "<string>", line 1, in <module>
    >   File "/usr/local/smarthome/plugins/hue2/__init__.py", line 135, in __init__
    >     if self.bridge['ip'] != self.bridge_ip:
    > KeyError: 'ip'

    Interessant ist es wenn ich die korrekte IP Adresse in der plugin.yaml hinterlege. Das Web IF funktioniert dann. Ich finde aber keine Bridge (Laut Doku funktioniert der Discover Modus nur wenn keine IP gesetzt ist).

    Code:
    2022-09-14  13:13:28 ERROR    plugins.hue2        Bridge 'ecb5fa9e9b53' returned exception QhueException: 4 -> method, GET, not available for resource, /
    2022-09-14  13:13:28 WARNING  plugins.hue2        Bridge '' is treated as unconfigured
    Bei falscher IP kommt folgende Meldung im LOG und das WEB IF funktioniert nicht:

    Code:
    2022-09-14  13:26:30 ERROR    lib.plugin          Plugin 'hue2' from section 'hue2' exception: HTTPConnectionPool(host='192.168.178.10', port=80): Max retries exceeded with url: /description.xml (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f8787
    Für einen Hinweis wäre ich sehr dankbar.

    Alfons

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Hallo zusammen

    ich wollte gerne meine HUE v1 auf die v2 Updaten jedoch bekomme ich das Plugin nicht mal zum laufen.

    Angaben zum System:

    SmartHomeNG Version:v1.9.2-master (cc57a0ad) in /usr/local/smarthome (tags/v1.9.2)
    Betriebssystem: Debian GNU/Linux 11 (bullseye)
    Python Version:3.9.2 final (/usr/bin/python3)

    HUE Info aus dem LOG

    Code:
    2022-09-12  09:35:11 ERROR    lib.plugin          Plugin 'hue2' from section 'hue' exception: 'ip'
    > Traceback (most recent call last):
    >   File "/usr/local/smarthome/lib/plugin.py", line 162, in __init__
    >     plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta, self._configfile)
    >   File "/usr/local/smarthome/lib/plugin.py", line 629, in __init__
    >     exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
    >   File "<string>", line 1, in <module>
    >   File "/usr/local/smarthome/plugins/hue2/__init__.py", line 135, in __init__
    >     if self.bridge['ip'] != self.bridge_ip:
    > KeyError: 'ip'

    Einen Kommentar schreiben:


  • dafra
    antwortet
    Ich glaube, wir haben etwas aneinander vorbeigeredet.

    Nochmal von vorn: in der Doku zum Hue2 Plugin, Kapitel Verwendung von stucts steht: <zitatAnfang>
    [...]
    Das hat die selbe Wirkung, als hätte man ohne Struktur Template folgende Item-Konfiguration vorgenommen:
    Code:
    test_leuchte:
       name: Vorlage-Struktur für eine Hue Leuchte
       type: foo
       hue2_resource: light
    
       onoff:
          type: bool
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: on
    
       level:
          type: num
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: bri
    
       hue:
          type: num
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: hue
    
       sat:
          type: num
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_functione: sat
    
       ct:
          type: num
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: ct
    <zitatEnde>

    In diesem Codebeispiel gibt es nach meinem Verständnis 2 Fehler:
    1. beim Item test_leuchte fehlt das Attribut+Parameter hue2_id: 3
    2: beim (Sub-)Item sat ist das Attribut hue2_functione angegeben. Es sollte hue2_function heißen (ohne das e)

    Zudem war bei mir das Beispiel nicht lauffähig, da hue2_function: on nicht funktionierte. Nach dem Ergänzen der Hochkommas (-> hue2_function: 'on') läuft es.

    => Vorschlag daher, diese 3 Punkte im oben zitierten Codebeispiel aus der Doku zu ändern, damit es copy+paste lauffähig ist.

    Unabhängig davon ist halt die Frage, ob man nicht empfiehlt alle String-Parameter in Hochkommas anzugeben, um Probleme (Namens-Kollision?) wie bei "on" zu vermeiden
    => daher der Vorschlag mit dem Codebeispiel in Post 88, welches alle drei Probleme lösen würde und Verwirrung durch optionale/notwendige Hochkommas möglichst vermeidet.
    Zuletzt geändert von dafra; 08.05.2022, 22:48.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zitat von dafra Beitrag anzeigen
    also mindestens das 'e' für bei der Funktion "sat" muss weg
    Was meinst Du damit?


    Zitat von dafra Beitrag anzeigen
    die hue2_id: 3 für das item test_leuchte muss hin
    Ja, für Items muss man eine ID vergeben, aber was willst Du mir damit sagen?

    Übrigens: Die mit dem Plugin mitkommenden structs haben alle Angaben für die Funktion ohne Anführungszeichen. Und ja, die nutze ich seit vielen Monaten und sie funktionieren.

    Einen Kommentar schreiben:


  • dafra
    antwortet
    Bei mir funktioniert es seit langem auch ohne die Änderung.
    also mindestens das 'e' für bei der Funktion "sat" muss weg und die hue2_id: 3 für das item test_leuchte muss hin - ansonsten würde ich mich wundern, wenn es bei dir trotzdem funktioniert. Beim on musste ich die Hochkommas ergänzen, damit es bei lief. Das eigentliche struct Beispiel funktionierte dagegen wie es in der Doku steht.

    Außer bei on konnte ich die Hochkommas auch weglassen - es hat immer noch funktioniert. Allerdings finde ich es persöhnlich besser, wenn man in einem Tutorial einen "robusten" Stil pflegt und den User nicht mit yaml Eigenheiten konfrontiert. Daher der Vorschlag es wie beschrieben in die Doku zu übernehmen. Aber nur meine Meinung.

    Welche Version von ruamel.yaml hast Du installiert?
    die vom SHng 1.9.0 Image:
    Code:
    [smarthome@SmartHomeNG ~]$  pip show ruamel.yaml
    Name: ruamel.yaml
    Version: 0.16.7
    Summary: ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order
    Home-page: https://bitbucket.org/ruamel/yaml
    Author: Anthon van der Neut
    Author-email: a.van.der.neut@ruamel.eu
    License: MIT license
    Location: /home/smarthome/.local/lib/python3.8/site-packages
    Zuletzt geändert von dafra; 06.05.2022, 22:29.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Bei mir funktioniert es seit langem auch ohne die Änderung.

    Eine Frage dazu: Welche Version von ruamel.yaml hast Du installiert?

    Einen Kommentar schreiben:


  • dafra
    antwortet
    Zu Punkt 1: Wäre dann jemand so nett, das Code-Beispiel im Kapitel Verwedenung von Structs in der Doku zu fixen? Folgender Code funktioniert bei mir:


    [...] Das hat die selbe Wirkung, als hätte man ohne Struktur Template folgende Item-Konfiguration vorgenommen:

    Code:
    test_leuchte:
       name: Vorlage-Struktur für eine Hue Leuchte
       type: foo
       hue2_resource: light
       hue2_id: 3
    
       onoff:
          type: bool
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: 'on'
    
       level:
          type: num
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: 'bri'
    
       hue:
          type: num
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: 'hue'
    
       sat:
          type: num
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: 'sat'
    
       ct:
          type: num
          hue2_resource: ..:.
          hue2_id: ..:.
          hue2_function: 'ct'

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zu Punkt 1: Das ist eine Spezialität von YAML in der eingesetzten Version. Da wurden/werden einige Strings speziell ausgewertet. Das wird erst verschwinden, wenn SmartHomeNG auf eine neuere Version von YAML umstellt:

    ZU Punkt 2: Das geht mir genauso. Ich habe den Steller des PR Requests gebeten die Doku zu ergänzen.

    Einen Kommentar schreiben:


  • dafra
    antwortet
    Hallo Martin,

    erst einmal super vielen Dank für Deine Mühen und das neue Hue2 Plugin! Ich habe es momentan nur auf meinem Test-System (SHng 1.9.0 / image von OA@Pi4) installiert, aber es zeichnet sich jetzt schon ab dass alles sehr viel runder läuft. Auch die Konfig über die grafische Oberfläche ist sehr viel zugänglicher!

    Zwei Punkte sind mir jedoch aufgefallen:
    wie im Vorgänger-Post schon angemerkt, braucht das Schalten Hochkommas, also
    Code:
    hue2_function: on
    funktioniert nicht
    Code:
    hue2_function: 'on'
    hingegen schon.

    Bei 'bri', 'hue' und 'sat' ist es hingegen egal, ob in den Items mit oder ohne Hochkommas angegeben wird (weitere Funktionen habe ich nicht ausprobiert). IMHO sollte das im plugin gefixt werden.
    Zudem gibt es in der hue2 Docu noch nen typo im Beispiel zu sat, dort steht:
    hue2_functione: sat

    Zweiter Punkt: Mir erschließt sich aus der Doku nicht, wie die Funktion dpt3-dim genutzt werden kann. Hat da jemand ein Beispiel?

    Einen Kommentar schreiben:


  • whe
    antwortet
    so funktioniert es jetzt endlich:
    Code:
                Stehle:
                    name: Stehle
                    hue2_id: 1
                    hue2_resource: light
                    # struct: hue2.light
    
                    AnAus:
                        type: bool
                        hue2_resource: light
                        hue2_id: 1
                        hue2_function: 'on'
                        sim: track
    
                    dimmen:
                        type: num
                        hue2_resource: light
                        hue2_id: 1
                        cache: 'on'
                        hue2_function: bri
                        sim: track

    Einen Kommentar schreiben:


  • whe
    antwortet
    lt. Dokumentation ist "hue2_resource: light" der default.
    mit den structs bin ich vor einiger Zeit schon reingefallen, habe 'leider' keine bunten HUE Lampen.
    Code:
    2022-02-16  12:59:04 WARNING  plugins.hue2        poll_bridge_lights: Function ct not supported by light '1' (item 'EG.Wohnen.Licht.Stehle.ct')
    2022-02-16  12:59:04 WARNING  plugins.hue2        poll_bridge_lights: Function colormode not supported by light '1' (item 'EG.Wohnen.Licht.Stehle.colormode')
    2022-02-16  12:59:04 WARNING  plugins.hue2        poll_bridge_lights: Function effect not supported by light '1' (item 'EG.Wohnen.Licht.Stehle.effect')
    2022-02-16  12:59:04 WARNING  plugins.hue2        poll_bridge_lights: Function hue not supported by light '1' (item 'EG.Wohnen.Licht.Stehle.hue')
    2022-02-16  12:59:04 WARNING  plugins.hue2        poll_bridge_lights: Function sat not supported by light '1' (item 'EG.Wohnen.Licht.Stehle.sat')
    2022-02-16  12:59:04 WARNING  plugins.hue2        poll_bridge_lights: Function xy not supported by light '1' (item 'EG.Wohnen.Licht.Stehle.xy')
    2022-02-16  12:59:04 WARNING  lib.item.item       Item EG.Wohnen.Licht.Stehle.xy: value "" does not match type list. Via hue2 None

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zitat von whe Beitrag anzeigen
    eine böse Falle war schon, dass im Webif keine Items angezeigt wurden; da muss man bei jedem sub-item die hue2_id eintragen
    Das ist keine Falle, sondern Standard. Nur das alte hue Plugin war dort einen Sonderweg gegangen.

    Und: Bei Deinen Item Definitionen fehlt jeweils das Attribut hue2_resource

    Die Verwendung der mit dem hue2 Plugin kommenden structs nimmt Dir dieses übrigens ab

    Ansonsten hilft auch ein Blick in die Dokumentation des Plugins: www.smarthomeng.de/user/plugins/hue2/user_doc.html

    Einen Kommentar schreiben:

Lädt...
X