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

    Leider nervt das Thema doch, und ich finde den Fehler nicht.

    Ich habe jetzt in einer Python Shell direkt das qhue Module (https://github.com/quentinsf/qhue) getestet:

    Das Problem liegt eindeutig beim Einschalten durch smarthomeNG bzw. das Hue2 Plugin?

    Das Hue2 Plugin läuft parallel - ich schließe also Fehler durch das zyklische Abfragen der Werte etc. aus...

    Code:
    import qhue
    b = qhue.Bridge("192.168.178.xx", "username")
    
    # auslesen der Gruppe '3'
    b.groups[3]()
    
    # einschalten
    b.groups[3]['action'](on=True)
    # [{'success': {'/groups/3/action/on': True}}]
    
    # brightness setzen auf ca. 60%
    b.groups[3]['action'](bri=150)
    # [{'success': {'/groups/3/action/bri': 150}}]
    
    # ausschalten
    b.groups[3]['action'](on=False)
    [{'success': {'/groups/3/action/on': False}}]
    
    # brightness abfragen
    b.groups[3]()['action']['bri']
    # 150
    
    # einschalten
    b.groups[3]['action'](on=True)
    # [{'success': {'/groups/3/action/on': True}}]
    
    # brightness abfragen
    b.groups[3]()['action']['bri']
    # 150
    
    # ausschalten via smarthomeNG
    
    # brightness abfragen
    b.groups[3]()['action']['bri']
    # 150
    
    # einschalten via smarthomeNG
    
    # brightness abfragen
    b.groups[3]()['action']['bri']
    # 1 !!!!!!!!!!!!!!!!!!!!!!

    Kommentar


      Ich bin der Sache etwas näher gekommen, aber noch nicht mit der totalen Erkenntnis.

      Die Hue-App schaltet immer eine Gruppe/Szene. Bei mir schalte ich gezielt eine Lampe.
      In der Gruppe, die die App schaltet ist die Helligkeit auf 254 hinterlegt.

      Das sieht man auch im WebIF.

      Bei mir ist dort bei "Hue Gruppen" in der relevanten Gruppe wo meine Lampe mit drin ist, folgende Action hinterlegt:
      Code:
      {'on': True, 'bri': 254, 'hue': 0, 'sat': 0, 'effect': 'none', 'xy': [0.3805, 0.3769], 'ct': 370, 'alert': 'select', 'colormode': 'hs'}
      Damit war es für mich in der Theorie schlüssig, dass es mit der App geht, während ich beim "nackten" Einschalten (on=True) ein anderes Verhalten habe.


      Auf dem ersten Blick verwendest du aber das Group-Struct und schaltest nicht nur eine Lampe sondern auch die Gruppe? Gibt es ggf mehr Gruppen und via shng und App sind es unterschiedliche?

      Habs bei mir aber noch nicht in der Praxis mit der Gruppe verprobt.

      Kommentar


        Es liegt eindeutig an der "transitiontime" in den qhue Aufrufen.

        Mit
        Code:
        b.groups[3]['action'](on=False,transitiontime=10)
        oder
        Code:
        b.groups[3]['action'](on=False,transitiontime=0)
        bekomme ich irgendwann brightness = 1

        Mit
        Code:
        b.groups[3]['action'](on=False)
        bleibt immer der alte Wert.

        Habe jetzt im Plugin alle
        Code:
        self.br.lights[plugin_item['id']]['state'](on=value,transitiontime=hue_transistion_time)
        gegen
        Code:
        self.br.lights[plugin_item['id']]['state'](on=value)
        ersetzt (bei allen light, allen groups und bei allen Actions) - damit funktioniert es.

        Kann ich auch mit dem qhue-Module direkt auf der Python-Zeile nachstellen.


        edit:

        Hier ist der Bug auch beschrieben:

        https://huegely.readthedocs.io/en/la...ion_times.html

        Setting transition times does not cause any additonal requests, so performance-wise it shouldn’t be a consideration. However, there is a bug in the hue API that that causes any light that is turned off with a transition specified to be at minimum brightness when turned back on. Huegely deals with this by remembering the brightness and re-applying it when the light is turned on, which causes one extra request.

        This will work fine if only huegely is used to control the lights, but there are scenarios where it will still cause problems:
        • If a light is turned off with a transition and some other app turns it back on, the brightness won’t be applied.
        • If a light is turned off with a transition, some other app turns it on, modifies the brightness and turns it back off, the next time huegely turns it on the saved brightness will be applied.

        Basically, if in doubt, don’t use transition times for turning lights off.
        Zuletzt geändert von Robert; 14.02.2023, 17:45.

        Kommentar


          Ah cool - danke für das Debugging.

          Wäre das nicht ein Pull-Request wert? Unklar ist allerdings wie andere Nutzer mit den geänderten Handling umgehen würden.

          Ich für meinen Teil hab derzeit dafür einen nur halb funktionierenden Eval Workaround.

          Kommentar


            Ich konnte das eben bei mir, genau wie du es beschrieben hast, nachstellen.

            Ohne eine Transistion-Time wird "bri" nicht auf 1 gesetzt beim Ausschalten und beim Wiedereinschalten wird der vorherige Wert direkt angewendet ​​​​​​​

            Kommentar

            Lädt...
            X