Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für das hue2 und das hue3 Plugin

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

  • Msinn
    antwortet
    Wie in der Doku steht, kannst Du als Item Attribut hue2_resource die Werte light, group, scene und sensor angeben. Der letzte Wert ist Dein Freund.

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Hallo,
    ich stehe vor der Entscheidung vom HUE-Plugin auf das HUE2 Plugin umzustellen. Bei sowas lese ich meist vorher zuerst auch den Support Thread durch

    Bin jetzt allerdings etwas verunsichert ob sich das Umstellen für mich lohnt weil:

    - Die Doku sagt: "Bemerkung: Bisher sind nur die Resouce-Typen light und group implementiert."
    - Im Support Thread (Post 75) schreibt Msinn: "Das hue2 Plugin unterstützt bisher (außer Leuchten, Szenen und Gruppen) allerdings nur Sensoren"

    Kann mir jemand kurz sagen ob (und wenn ja wie) ich auch meine Sensoren einbinden kann
    Zuletzt geändert von SMarcus; 09.12.2022, 11:53.

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Ich habe jetzt die Version 1 des Plugins am Laufen - Ist ja nur eine HUE Leuchte im Ganzen Haus von daher - in naher Zukunft umbau auf DALI TW

    Einen Kommentar schreiben:


  • himself
    antwortet
    Hi jonny7792,

    die von der Bridge. Der Fehler liegt meiner Meinung nach daran dass die socket funktion nichts zurückgibt. Daher umschiffst du das wenn du die ip manuel setzt.

    Aber wie gesagt so richtig viel Ahnung habe ich davon nicht.

    Gruß

    Einen Kommentar schreiben:


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

Lädt...
X