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

  • Holoman5
    antwortet
    Hallo!

    hat vlt. jemand für mich ein Beispiel für die Item YAML von einem Hue Bewegungsmelder?

    Bekomm das irgendwie nicht hin und hab dazu auch nix gefunden.

    Gibt es eine Struktur wie bei den Leuchten? (hab auch nix gefunden)

    Im Hue2 Plugin wird er angezeigt.
    hue_sensor.jpg

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Hallo Martin,

    wie das so ist, packt es einen dann und man macht immer weiter:

    Habe jetzt in https://github.com/smarthomeNG/plugins/pull/667 alles reingepackt:

    - Fix der Service discovery
    - Fix der Typos mit "hue2_refence_light_id" und weitere (unwichtige) Typos
    - (defensive!) Nutzung von "any_on" wenn in dem Item kein "hue2_reference_light_id" definiert ist (bricht also nicht alte Konfigurationen) - siehe auch Anmerkungen im PR.

    Denke das sollte auch funktionieren/sicher sein, wenn die alten Bridges das nicht können... (da Exceptions gefangen werden und auf None überall überprüft wird).

    Grüße
    Robert

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Da muss ich mal rein schauen. all_on und any_on waren mir noch nicht über den Weg gelaufen. Bei der Implementierung muss ich dann vorsichtig sein, das das wohl nur für die Bridge v2 funtioniert. Die Bridge v1 und die Software Bridge DECONZ unterstützen nur ein erheblich älteres v1 API (nur die 1.18 und nicht die 1.53 die Du in der neueren Bridge hast).

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Okay, ein letztes - weil du mich jetzt neugierig gemacht hast:

    grafik.png
    Da gibt's bei der "group" zwei Zustände "all_on" und "any_on" - schätze "any_on" ist das was ich such[t]e - bekommt man das deiner Meinung nach halbwegs intelligent verwendet um den onoff Zustand einer Group zu aktualisieren?

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Das Attribut hue2_refence_light_id ist mit einem PR dazu gekommen. Ich kenne das weiter nicht. Da hat der PR Autor wohl vergessen die structs in der plugin.yaml zu pflegen.

    Die Probleme mit der Discovery können gut sein. Ich habe die Discovery vor einiger Zeit kurzfristig ändern müssen, weil Philips eine alte Form der Discovery bereits abgeschaltet hat, als sie die Bridge der ersten Generation für obsolet erklärten.

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Hi Martin!

    Zitat von Msinn Beitrag anzeigen
    Laut der Hue API Doku ist reachable nur für lights und nicht für groups definiert.
    Du wirst da völlig Recht mit haben. Aber evtl. wäre es eine Option, wenn man an anderer Stelle für "ein/aus" etc. ein Referenz-Objekt akzeptiert, das auch für "Reachable" zu tun. Mit meiner Item-Definition geht's natürlich auch in 4 Zeilen.

    Zitat von Msinn Beitrag anzeigen
    Was für eine Bridge nutzt Du?
    HTML-Code:
       Philips hue bridge 2015 v2   1.53.0  ​
    Es funktioniert jetzt alles super - wollte nur Feedback geben bzgl. möglicher "hue2_refence_light_id" Vererbung in structs, dem reachable und dem Typo. Alles funktioniert super. Evtl. den PR anschauen - über den sind glaube ich ein paar Leute in der Vergangenheit gestolpert da selbst mit harter Defintion der Bridge sich das Plugin an der Exception weghängt.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Laut der Hue API Doku ist reachable nur für lights und nicht für groups definiert.

    Was für eine Bridge nutzt Du?

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Folgende "Hacks" brauchte ich jetzt auch nach Konsultation von Doku und Quellcode des Plugins:

    - für ein "reachable" einer Gruppe (z.B. Antenne im smartVISU Widget) reicht es nicht, eine "hue2_refence_light_id" anzugeben, da das Plugin per se kein "reachable" für Groups vorsieht:

    aus dem Plugin-Code:
    Code:
        hue_group_action_values          = ['on', 'bri', 'hue', 'sat', 'ct', 'xy', 'bri_inc', 'colormode', 'alert', 'effect']
        hue_light_action_writable_values = ['on', 'bri', 'hue', 'sat', 'ct', 'xy', 'bri_inc']
        hue_light_state_values           = ['on', 'bri', 'hue', 'sat', 'ct', 'xy', 'colormode', 'reachable', 'alert', 'effect']
        hue_light_state_writable_values  = ['on', 'bri', 'hue', 'sat', 'ct', 'xy', 'alert', 'effect']
    
    ​    hue_group_action_values          = ['on', 'bri', 'hue', 'sat', 'ct', 'xy', 'bri_inc', 'colormode', 'alert', 'effect']
    ​
    daher ist hier der Umweg über eine "light" resource, deren hue2_id = ..:hue2_refence_light_id ist, notwendig.

    - da in einem item struct vom typ "group" eben keine Vererbung von "hue2_refence_light_id" vorgesehen ist, müssen die halt "händisch" hinzugefügt werden:

    aus der plugin.yaml:
    Code:
        group:
            name: Vorlage-Struktur für eine Hue Gruppe
    
            type: foo
            hue2_resource@instance: group
            #hue2_id@instance: 1
    
            onoff:
                type: bool
                enforce_updates: True
                hue2_resource@instance: ..:.
                hue2_id@instance: ..:.
                hue2_function@instance: on
    
    ​
    hier "fehlt" ein "hue2_refence_light_id@instance: ..:."

    Daher benötige ich - gerne Tipps wie kürzer - folgende Definitionen
    Code:
        Lumibaer:
            hue2_id: 7
            struct: hue2.light_extended
            # available to Alexa by HUE skill
    
            onoff:
                knx_dpt: 1
                knx_listen: 0/4/2        
    
        Deckenleuchte:
            hue2_id: 3
            struct: hue2.group
            hue2_refence_light_id: 9
    
            onoff:
                hue2_refence_light_id: ..:.
    
                knx_dpt: 1
                knx_send: 1/2/11
                knx_listen:
                - 1/2/11
                - 0/4/2
                knx_status: 1/2/14
    
            level:
                hue2_refence_light_id: ..:.
    
                knx_dpt: 5
                knx_send: 1/2/13
                knx_listen: 1/2/13
    
                dim:
                    type: list
                    enforce_updates: 'true'
                    initial_value: [0, 0]
                    knx_dpt: 3
                    knx_listen: 1/2/12
                    on_update: .. = min(sh...() + 4*value[1], 255) if (value[0] == 1) else max (sh...() - 4*value[1], 0)
    
            hue:
                hue2_refence_light_id: ..:.
    
            sat:
                hue2_refence_light_id: ..:.
    
            ct:
                hue2_refence_light_id: ..:.
    
            colormode:
                hue2_refence_light_id: ..:.
    
            xy:
                hue2_refence_light_id: ..:.
    
            reachable:
                type: bool
                hue2_resource: light
                hue2_id: ..:hue2_refence_light_id
                hue2_function: reachable
     ​
    Zuletzt geändert von Robert; 18.12.2022, 14:29.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zitat von Robert Beitrag anzeigen
    Da ich das vorgeschlagene struct verwende, wäre ein "hue2_refence_light_id: ..:." in allen (automatischen) Item-Defintionen super.
    Ist doch drin.

    Das Item Attribut heisst in der struct übrigens hue2_id und nicht hue2_refence_light_id.

    Wo hast Du denn eine struct mit hue2_refence_light_id​ her?

    Du musst nur im übergeordneten Item die hue_id angeben. In den darunter liegenden Sub Items ist das Attribut mit ..:. vorbelegt (.. = nehme aus dem Parent Item, . = das namensgleiche Attribut)

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Hallo Martin,

    danke dir für die Mühe!

    Ich habe meinen "Fehler" nun auch gefunden: ich muss "hue2_refence_light_id" (sic!) setzen - da in der Hue-App die Gruppe auch ein "ein/aus" ohne Referenzobjekt hat, dachte ich die API/Bridge würde da einen Wert (der dann zwangsweise konsistent wäre) mitliefern. Also sprich, die Hue-App gibt ja auch ein "ein/aus" an, welcher nicht von einem (von mit in smarthomeNG "frei" gewählten Objekt abhängt. Egal, funktioniert.

    Da ich das vorgeschlagene struct verwende, wäre ein "hue2_refence_light_id: ..:." in allen (automatischen) Item-Defintionen super.

    Und evtl. im nächsten Release aus "...refence..." ein "...reference..." machen. ;-)

    Grüße
    Robert

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Einen Push von der Bridge sieht das Hue API v1 nicht vor. Der kommt jetzt mit dem API v2, welches im Plugin noch nicht implementiert ist (kommt aber).
    Das API v2 wird aber nur von der 2. Generation der Hue Bridge unterstützt. Alles, was an neuen Features mit dem neuen API kommt, wird mit der alten (runden) Bridge und mit der Software Bridge DECONZ nicht funktionieren.

    Ich muss noch sehen, ob ich das API v2 in das hue2 Plugin mit rein bekomme, ohne die API v1 Kompatibilität zu verlieren, oder ob es ein neues Plugin geben muss.

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Ich bin die Tage auf das Hue2 Plugin umgestiegen - soweit, so gut. Vielen Dank!

    einen kleineren Bug der Autodiscovery von bridges habe ich behoben und einen PR gestellt: https://github.com/smarthomeNG/plugins/pull/667

    - das Problem mit der Autodiscovery lässt sich hier im Forum bei einigen Usern finden - scheint Geräte zu geben die "unerwartet" leere Felder bei der SSDP zurückgeben.

    Was bei mir aber so medium funktioniert und auf was ich keine eindeutige Antwort gefunden habe:

    Der Status der Leuchten wird bei mir VON der Bridge nur alle schätze 90sec (also bridge_update) gelesen, nicht im engeren "Leuchten Zyklus", der bei mir (auch im Web-IF gecheckt) auf 1sec steht. Dadurch ist smarthomeNG und damit smartVISU natürlich manchmal bei paralleler Bedienung durch Alexa oder die Hue-App komplett inkonsistent.

    Geht das nur mir so? Ein "Push" von der Bridge gibt es nicht?

    Grüße
    Robert

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Schade....Wär auch zu schön gewesen....

    Ich hab die Smart Plugs von "Innr". Die SP220 können nur schalten, die SP120 werten auch Strom, Spannung und Leistung aus.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Bisher sind als Sensoren nur Hue Taster unterstützt. Von welchem Hersteller ist Deine schaltbare Steckdose?

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Danke, das hört sich vielversprechend an.
    Mir ist nur nicht klar welchen Wert ich "hue2_function" dann gebe.

    Mein konkretes Beispiel ist eine schaltbare Steckdose mit integrierter Strom(Verbrauchs)messfunktion, die als Sensorwert Spannung, Strom und Leistung hat.

    So wird es in der WebGUI dargestellt:

    Screenshot 2022-12-09 161725.jpg

    Meine yaml sieht bisher so aus:

    Code:
    plug_test:
        name: Steckdose Kühlschrank
        type: foo
        visu_acl: rw
        hue2_id: 27
        hue2_resource: light
    
        reachable:
            type: bool
            hue2_id: ..:.
            hue2_resource: ..:.
            hue2_function: reachable
    
        an_aus:
            name: Ein/Aus
            type: bool
            hue2_id: ..:.
            hue2_resource: ..:.
            hue2_function: 'on'
                
        sensor:
            name: Plug Stromsensor
            hue2_id: 8
            hue2_resource: sensor
            
            current:
                name: Current [mA]
                type: num
    
            voltage:
                name: Volt [V]
                type: num
                
            power:
                name: Watt [W]
                type: num
                database: init
                database_maxage: 735                
    ​
    - Muss das Item 'plug_test.sensor' ein Attribut 'hue2_function' erhalten? Wenn ja, mit welchem Wert?
    - Welche hue2 Attribute gebe ich den Items .current, .voltage und .power?
    Zuletzt geändert von SMarcus; 09.12.2022, 16:27.

    Einen Kommentar schreiben:

Lädt...
X