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

    #61
    tsb2001

    Da das Faden von einer Helligkeit zur andern Helligkeit vom Hue Leuchtmittel übernommen wird, kann man das noch deutlich einfacher gestalten, als die Logik die henfri das implementier hat.

    Das geht z.B. einfach mit einem on_update Attribut:
    Code:
        on_update: .. = min(sh...() + value[1], 255) if (value[0] == 1) else max (sh...() - value[1], 0)
    welches den relativen Wert auf die Brightness addiert (oder subtrahiert). Die min() und max() Funktionen verhindern, dass der Wertebereich von 0 bis 255 verlassen wird. Durch die relative Adressierung kannst Du das unverändert bei jedem Item einfügen.

    Für eine Leuchte sieht das dann so aus:
    Code:
    leuchte:
        hue2_id: 3
        hue2_resource: light
    
        onoff:
            type: bool
            hue2_id: ..:.
            hue2_resource: ..:.
            hue2_function: on
    
        level:
            type: num
            cache: 'on'
            hue2_id: ..:.
            hue2_resource: ..:.
            hue2_function: bri
    
            dim:
                type: list
                initial_value: [0, 0]
                knx_dpt: 3
                knx_listen: 8/0/2
                on_update: .. = min(sh...() + value[1], 255) if (value[0] == 1) else max (sh...() - value[1], 0)
    Wenn Du Dich auf die structs einlässt, die das Plugin mitbringt, sieht das noch simpler aus:
    Code:
    leuchte2:
        hue2_id: 3
        struct: hue2.light
    
        level:
            cache: 'on'
    
            dim:
                type: list
                initial_value: [0, 0]
                knx_dpt: 3
                knx_listen: 8/0/2
                on_update: .. = min(sh...() + value[1], 255) if (value[0] == 1) else max (sh...() - value[1], 0)
    wobei die struct auch noch die Items für die Farbsteuerung anlegt.

    In einem kommenden Release könnte man das dim Item mit dem on_update Attribut in die struct Definitionen des Plugins mit aufnehmen.

    Falls Dir das zu komplex ist, kannst Du natürlich auch beim alten Plugin bleiben, solange es für Dich noch funktioniert.
    Zuletzt geändert von Msinn; 02.05.2021, 10:49.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #62
      Hallo Martin,
      zunächst mal vielen Dank, dass du dich mit sowas beschäftigtst.
      Ich würde gerne das neue Plugin weiter verwenden, da es absolut gut gelungen ist.
      Ich habe grade den Weg den du vorschlägst, auch glücklicherweise verstanden und auch so nachgebaut.
      Leider gibt es in deinem Gedankengang einen kleinen Haken:

      Die Lampe dimmt, aber nur bei jedem neuen Tastendruck um jeweils den Wert +/- 1 nach oben oder unten, weil der durchgängige Tastendruck durch das on_update nur einmal getriggert wird, nämlich beim Drücken der Taste. Damit wird entweder um 1 inkrementiert oder dekrementiert; bis zum nächsten Tastendruck. Um von maximaler Helligkeit mit 255 bis minimale (sinnvolle) Helligkeit mit 10 kommen möchte, muss ich die Taste zum Herunterdimmen 245 Mal betätigen...

      Kommentar


        #63
        Zitat von tsb2001 Beitrag anzeigen
        Die Lampe dimmt, aber nur bei jedem neuen Tastendruck um jeweils den Wert +/- 1 nach oben oder unten
        Das heisst, Dein Taster sendet nur den Wert 1? DPT3 sieht vor, dass ein Wert zwischen 1 und 7 vom KNX Sensor gesendet werden kann.

        Was für einen KNX Sensor setzt Du denn ein?

        Wenn Ich das richtig verstehe (ich nutze das relative Dimmen mit hue nicht und habe es inzwischen auch im KNX nicht mehr im Einsatz), ist beim alten hue Plugin
        hue_dim_step die Anzahl Steps. Da hast Du 10 gesetzt.

        Das würde bedeuten, Du musst im on_update jeweils mit 10 multiplizieren:
        Code:
            on_update: .. = min(10*(sh...() + value[1]), 255) if (value[0] == 1) else max (10*(sh...() - value[1]), 0)
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #64
          Eingesetzt ist da ein MDT Glastaster BE-GTT8x.01. Der gibt nur jeweils den Start und die Richtung vor. Mehr geht da nicht.

          Kommentar


            #65
            Dann füge mal die Multiplikation mit 10 (oder einem anderen Wert, falls 10 nicht Dein Optimum ist) ein.
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              #66
              Btw: Kann der Taster auf „Repeat“ beimdauerhaftem Drücken konfiguriert werden? Dann müsstest Du nicht n-mal drücken und mit dem Faktor (10) steuerst Du nur noch wie schnell gedimmt werden soll.

              Falls das „repeat“ des Tasters nicht im Item ankommt, probier mal enforce_updates: True.
              Zuletzt geändert von Msinn; 02.05.2021, 16:52.
              Viele Grüße
              Martin

              There is no cloud. It's only someone else's computer.

              Kommentar


                #67
                tsb2001

                Ist bei Dir das relative Dimmen im Taster als Start/Stop Dimmen implementiert?
                Falls ja, würde ich in den nächsten Tagen mal schauen, wie ich das in das on_update Attribut eingebaut bekomme.
                ​​​​​​​
                Viele Grüße
                Martin

                There is no cloud. It's only someone else's computer.

                Kommentar


                  #68
                  Bin gerade dabei, auf das neue HUE2 Plugin umzuziehen. Ich habe einen kleinen "Bug" gefunden. Und zwar schon ganz am Anfang bei create_new_username. Ich gehe davon aus, dass es an der Länge des devicetypes liegt. Mein fqdn ist relativ lang - devsmarthome.intern.myXXXXX.de. Im Log findet sich folgende Fehlermeldung beim Anmelden.

                  Code:
                  2021-05-06  15:08:11 WARNING  plugins.hue2        create_new_username: Exception invalid value,  SmartHomeNG#devsmarthome.intern.myXXXXX.de, for parameter, devicetype
                  Hab jetzt nur testweise mal in Deinem Plugin gewildert und einfach den getfqdn einfach mal raus genommen. Danach hat es auf Anhieb geklappt.

                  Code:
                  if devicetype is None:
                  #    devicetype = "SmartHomeNG#{}".format(getfqdn())
                      devicetype = "SmartHomeNG" #.format(getfqdn())
                  Ich stelle jetzt weiter um und würde gleich im Anschluss auch das Dimmen am Taster versuchen. Ich hatte das ebenfalls mit dem alten Plugin so gemacht.

                  Viele Grüße
                  Marco

                  Kommentar


                    #69
                    erstmal danke an msinn für das plugin!

                    Habe conbee 2 mit dconz auf einen Raspi installiert und einen Aquara Multi-Sensor mit Temperatur, Feuchte und Druck verbunden.

                    Das hui2 plugin ist konfiguriert und die Verbindung zu conbee hergestellt. Im Web-Inferface des plugins wird der Sensor und die Werte korrekt angezeigt.

                    Ich würde gerne diese Werte auf den KNX bus senden (ähnlich des 1wire plugins).

                    Ich habe leider keine Beschreibung gefunden, wie die item Definition dazu aussehen muss.

                    Funktioniert das? Habe zur "hue2_ressource: sensor" leider nichts gefunden.

                    Wie müsste das aussehen?


                    Kommentar


                      #70
                      Zitat von taichber Beitrag anzeigen
                      erstmal danke an msinn für das plugin!

                      Habe conbee 2 mit dconz auf einen Raspi installiert und einen Aquara Multi-Sensor mit Temperatur, Feuchte und Druck verbunden.

                      Das hui2 plugin ist konfiguriert und die Verbindung zu conbee hergestellt. Im Web-Inferface des plugins wird der Sensor und die Werte korrekt angezeigt.

                      Ich würde gerne diese Werte auf den KNX bus senden (ähnlich des 1wire plugins).

                      Ich habe leider keine Beschreibung gefunden, wie die item Definition dazu aussehen muss.

                      Funktioniert das? Habe zur "hue2_ressource: sensor" leider nichts gefunden.

                      Wie müsste das aussehen?

                      habe es mal so probiert:

                      Code:
                      hue2sensor:
                          name: Temperatur
                          type: num
                          hue2_resource: sensor
                          hue2_id: 2
                          knx_dpt: 9
                          knx_send: 4/3/1
                          knx_reply: 4/3/1
                          enforce_updates: true
                      Leider wird kein Sensor Wert beim Attribute angezeigt:
                      Item Pfad zigbee
                      Item Name Temperatur
                      Datentyp num
                      Wert 0

                      Im hue2 WebIf wird der Wert dargestellt:

                      Code:
                      {'lastupdated': '2021-09-16T18:48:42.166', 'temperature': 2340}

                      Kommentar


                        #71
                        So, jetzt habe ich meine neue Hue Bridge (aktuelles Modell von Signify), und die Einrichtung/Nutzung per Hue-App klappt auch.

                        Das hue2-Plugin hat erstmal Fehler geworfen, weil entweder das discovery-Portal nicht zuverlässig ist oder eine neue URL hat. Mit der neuen URL findet er die Bridge, aber wenn ich versuche, die Verbindung herzustellen, wirft er einen Fehler:

                        Code:
                        2021-10-30 16:38:10 INFO plugins.hue2 Connect: connect=001788ac9a37
                        2021-10-30 16:38:10 INFO plugins.hue2 Connect: connect=001788ac9a37
                        2021-10-30 16:38:10 WARNING plugins.hue2 create_new_username: Exception 'int' object has no attribute 'post'
                        2021-10-30 16:38:10 WARNING plugins.hue2 create_new_username: Exception 'int' object has no attribute 'post'
                        Ausgelöst wird das durch den Aufruf von response = res(...)

                        Im qhue-Modul gab es in create_new_username einen vergleichbaren Fehler (https://github.com/quentinsf/qhue/issues/35), der im Modul behoben wurde (https://github.com/quentinsf/qhue/pull/37). Damit kann ich per python3 und qhue-Modul die create_new_username()-Methode manuell aufrufen.

                        Eigentlich kann das nicht derselbe Fehler sein, weil bei qhue positional parameters verwendet wurden und er den timeout als session übergeben hat; ich habe trotzdem eine session erstellt und als named parameter übergeben, das hat aber nichts geändert.

                        Mehr habe ich noch nicht "gefunden", falls jemand eine Idee hat oder weiß, wie man das fixt, wäre ich dankbar. Ich suche aber auch noch weiter...

                        Kommentar


                          #72
                          Dazu gibt es ein Issue: https://github.com/smarthomeNG/plugins/issues/527

                          Im develop ist die Änderung aus dem Issue bereits drin.
                          Viele Grüße
                          Martin

                          There is no cloud. It's only someone else's computer.

                          Kommentar


                            #73
                            Ha... da hätte ich auch mal schauen können... . danke

                            Kommentar


                              #74
                              Zitat von whe Beitrag anzeigen
                              ich benutze nicht nur Philips hardware sondern auch zwei Steckdosen von OSRAM und stripes von Paulmann.
                              zudem einen Philips Motion Sensor.

                              das hue API liefert mir folgende lights:

                              Code:
                              {
                              "1": {
                              "state": {
                              "on": false,
                              "bri": 1,
                              "alert": "select",
                              "mode": "homeautomation",
                              "reachable": true
                              },
                              ...
                              Wie kann ich denn diese API aufrufen? Die Doku finde ich da etwas unübersichtlich als Einsteiger...

                              Kommentar


                                #75
                                whe spricht da vom Philips Hue API mit dem Du die Bridge direkt ansprichst. Die Doku dazu findest Du unter https://developers.meethue.com. Dieses API nutzt auch das hue Plugin.

                                Übrigens: Es ist ein neues API in der Mache, allerdings noch nicht veröffentlicht. Das neue API ermöglicht es dann auch, dass die Hue Bridge Änderungen aktiv verbreitet, man also nicht (wie bisher) regelmäßig die Bridge pollen muss. Ich habe leider keine Info, wann das neue API released wird.

                                Das hue2 Plugin unterstützt bisher (außer Leuchten, Szenen und Gruppen) allerdings nur Sensoren. Aktoren (mode: "homeautomation") waren mir bisher noch nicht über den Weg gelaufen. Falls das Webinterface diese als Leuchten listen sollte, könnte das Plugin sie bereits bedienen. Anderenfalls müsste man die Aktoren nachrüsten.
                                Zuletzt geändert von Msinn; 31.10.2021, 10:32.
                                Viele Grüße
                                Martin

                                There is no cloud. It's only someone else's computer.

                                Kommentar

                                Lädt...
                                X