Ankündigung

Einklappen
Keine Ankündigung bisher.

Philips HUE Plugin (NEU) v1.0 released

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

    #61
    Hallo Oliver,

    OK, Klasse. Wenn was hochkommt, dann melde Dich !

    Michel

    Kommentar


      #62
      Hi Michel,

      nun hat es eigentlich eine Woche lang keine Beschwerden gegeben und nun habe ich eben wieder eine Thread-Explosion beim Neustart gehabt (habe ich allerdings in dieser Woche schon öfter gemacht, also kein grundsätzliches Problem.

      Sah dann bis zum Abbruch von SH.PY so aus, dass innerhalb von 20 Minuten nach dem Neustart 8 Threads für update-lamps, 9 Threads für update-bridge und 8 Threads für update-groups im Zugriff waren. In SH ging gar nix mehr, ich vermute einen Block, k.A. aber wo ich suchen soll. Update ist auch keines angestanden..... Interessanterweise alles zur gleichen Zeit wie letzte Woche... Merkwürdig....
      Code:
      Scheduler    Threads: MonitoringService_fritzbox_1: 1, hue-update-lamps: 8, yamaha: 1, Scheduler: 1, hue-update-bridges: 9, Main: 1, hue-update-groups: 8
      Kannst Du Dir darauf einen Reim machen? Updates gab es wie gesagt diese Woche keine. Das einzige was ich mir erklären kann ist, dass zum Zeitpunkt des Boots alle Lampen stromlos waren, umgekehrt sind die das schon die ganze Woche..... STRANGE......

      UPDATE:
      Bin nun nochmal das Startlog durchgegangen und habe dabei wohl die "Ursache" gefunden:
      Code:
      2016-05-01 15:23:12 ERROR    scheduler    hue-update-lamps Method hue-update-lamps exception: dictionary changed size during iteration -- scheduler.py:_task:364
      Traceback (most recent call last):
        File "/usr/smarthome/lib/scheduler.py", line 360, in _task
          obj()
        File "/usr/smarthome/plugins/hue/__init__.py", line 640, in _update_lamps
          for returnItem in self._listenLampItems:
      RuntimeError: dictionary changed size during iteration

      Any idea?

      Cheers,
      Oliver
      Zuletzt geändert von Sandman60; 01.05.2016, 15:26.

      Kommentar


        #63
        Hallo Oliver,

        danke für den Hinweis. Erst einmal keine genaue Analyse. Frage: Kannst Du mir möglichst viel über die Aktionen berichten. Hattest Du SH.PY neu gestartet ? usw.
        Ich müßte ja in dieser Zeit in das DICT ein neues Key/Value Pair aufnehmen oder löschen. Das mache ich aber nur beim parsen der items beim Start. Wirklich komisch.

        Michel

        Kommentar


          #64
          Hi Michel,
          wenn ich ehrlich bin... ich weiß nicht was anders war. Ich habe, wie so oft heute, sh.py einfach neu (normal, kein develop) gestartet und dann kam die Fehlermeldung nebst Threaderhöhung. Dann mit -s abgebrochen und nochmal neugestartet und alles war wieder gut. Strange.

          Cheers,
          Oliver

          Kommentar


            #65
            Oliver,

            aktuell ist ist das einzige, was ich mir vorstellen kann, dass das parsen noch nicht abgeschlossen ist, aber der Scheduler bereits angestoßen wurde. Ich hatte mal einen Austausch mit marcus, wo man sinnvollerweise den Scheduler startet. Da sind wir bei init gelandet. Alternativ kommt run in frage. Ich schaue mir das nochmal an.

            wenn jemand weis oder Erfahrung hat, wo man zyklische Tasks am besten startet, gerne hier die Hilfe.

            Michel

            Kommentar


              #66
              Hallo Michel,

              das Hue Plugin ist echt klasse, noch einmal herzlichen Dank an dieser Stelle.

              Ich bin gerade dabei unsere HUEs sauber ins Smarthome zu integrieren. Soweit ich es verstanden habe, lässt sich die Sättigung noch nicht out-of-the-box dpt3-Dimmen, oder?

              Ich meine in etwa so:

              Code:
              [[[sat]]]
                type = num
                cache = on
                hue_send = sat
                hue_listen = sat
                hue_transitionTime = 0.2
                [[[[dim]]]]
                    type = list
                    knx_dpt = 3
                    knx_listen = 0/8/15
                    hue_dim_max = 255
                    hue_dim_step = 10
                    hue_dim_time = 0.2
              Zweite Frage: Ab welecher Verision wird denn das dpt3-dimmen beim 'hue'-item unterstützt? Bin gerade noch auf 1.71 und da fliegen die Excepetions, wenn ich das benutze. Beim 'bri' item funktioniert alles wie es soll.

              Dritte Frage: Kann es sein, dass die aktuelle 1.83 nur noch unter SmarthomeNG läuft? Denn wenn ich die in mein (recht altes) Produktiv-System reinhänge, kommt es zu ziemlichen Abstürzen...

              Gruß,

              Daniel
              Zuletzt geändert von dafra; 13.10.2016, 22:18.

              Kommentar


                #67
                Hallo zusammen,

                Frage 2 habe ich mir inzwischen selbst beantwortet - 1.71 unterstüzt das dpt3-dimmen des "hue" items. Ich hatte nur beim "dim"-item ein Klammernpaar vergessen.

                Vielleicht könnte man das irgendwann mit einer aussagekräftigeren Fehlermeldung abfangen...

                Kommentar


                  #68
                  Moin,

                  kann ich daraus schließen, daß die letzte unter smarthome.py ohne NG funktionierende Version eben diese v1.71 ist?

                  Auch ich habe hier noch die "alte" Version im Einsatz und traue mich - nach einem ersten fehlgeschlagenen Versuch - (noch) nicht an den Umstieg.

                  Viele Grüße,
                  Oliver

                  Kommentar


                    #69
                    Hallo Oliver,

                    ja, dem ist so. Die v1.71 ist zur 1.83 funktionsgleich. In smarthomeNG wurden libraries herausgenommen, daher mußte ich eine alternative Lösung implementieren. Allerdings gilt, dass ich die v1.71 funktional nicht weiterentwickeln werden, sondern nur auf dem NG Pfad (allerdings sind bis heute aus Nutzersicht keine Anforderungen hart da). Bislang ist nur das Ziel, das Logging und das Pluginformat auf das NG Modell anzupassen. Es hat Vorteile, macht im Moment aber Arbeit und ich habe nicht viel Zeit.

                    Michel

                    Kommentar


                      #70
                      Hallo Michel,

                      ich bin gerade dabei auf smarthomeNG umzusteigen. In diesem Zuge nutze ich auch auf das aktuelle HUE Plugin, Version 1.83 developNG. Mit einer Bridge funktioniert alles wunderbar, sobald eine zweite Bridge eingebunden wird gibt es Probleme.

                      plungin.conf, eine Bridge:
                      Code:
                      [HUE]
                          class_name = HUE
                          class_path = plugins.hue
                          hue_user = t4Ztv8TPurxNK5TKBXQ0f514ZS-KFq0u5YwT3InP#|IjSzPltCWAiL1tciJ4huAskA3SoT57OfewX1EGIV
                          hue_ip = 192.168.32.20#|192.168.32.21
                          hue_port = 80#|80
                          cycle_lamps = 15
                          cycle_bridges = 120
                          default_transitionTime = 0.4
                      plugin.conf, zwei Bridges:
                      Code:
                      [HUE]
                          class_name = HUE
                          class_path = plugins.hue
                          hue_user = t4Ztv8TPurxNK5TKBXQ0f514ZS-KFq0u5YwT3InP|IjSzPltCWAiL1tciJ4huAskA3SoT57OfewX1EGIV
                          hue_ip = 192.168.32.20|192.168.32.21
                          hue_port = 80|80
                          cycle_lamps = 15
                          cycle_bridges = 120
                          default_transitionTime = 0.4
                      Hier die Fehlermeldung, sobald man zwei Bridges einbindet:

                      Code:
                      2016-10-23 21:07:08 ERROR    scheduler    hue-update-bridges Method hue-update-bridges exception: Can't convert 'list' object to str implicitly -- scheduler.py:_task:375
                      Traceback (most recent call last):
                        File "/usr/local/smarthome/lib/scheduler.py", line 371, in _task
                          obj()
                        File "/usr/local/smarthome/plugins/hue/__init__.py", line 724, in _update_bridges
                          returnValues = self._get_web_content(hueBridgeId, '/config')
                        File "/usr/local/smarthome/plugins/hue/__init__.py", line 538, in _get_web_content
                          url = 'http://' + self._hue_ip[int(hueBridgeId)] + '/api/' + self._hue_user[int(hueBridgeId)] + path
                      TypeError: Can't convert 'list' object to str implicitly
                      Das Ergebnis ist, dass das Plugin überhaupt nicht mehr funktioniert. Wenn man das Plugin auf die "alte" Art konfiguriert, d.h. die Bridges mit ',' anstatt mit '|' trennt, kommt man zum gleichen Ergebnis, allerdings ohne Fehlermeldungen.

                      Sobald man die zweite Bridge einbindet, habe ich auch das Problem der explodierenden Threads:

                      Code:
                      2016-10-23 21:07:54 DEBUG    scheduler    Scheduler    hue-update-groups next time: 2016-10-23 21:08:09+02:00 -- scheduler.py:_next_time:316
                      2016-10-23 21:07:56 DEBUG    scheduler    Scheduler    hue-update-lamps next time: 2016-10-23 21:08:11+02:00 -- scheduler.py:_next_time:316
                      2016-10-23 21:07:57 INFO     scheduler    Scheduler    Adding worker thread. Total: 6 -- scheduler.py:_add_worker:328
                      ...
                      2016-10-23 21:08:54 DEBUG    scheduler    Scheduler    hue-update-groups next time: 2016-10-23 21:09:09+02:00 -- scheduler.py:_next_time:316
                      2016-10-23 21:08:56 DEBUG    scheduler    Scheduler    hue-update-lamps next time: 2016-10-23 21:09:11+02:00 -- scheduler.py:_next_time:316
                      2016-10-23 21:08:58 INFO     scheduler    Scheduler    Adding worker thread. Total: 7 -- scheduler.py:_add_worker:328

                      Kommentar


                        #71
                        Muss ich mir mal ansehen. Ich habe leider nur eine bridge laufen. Ich glaube einer der Teilnehmer hatte eine konfig mit zweien. Die erste Fehlermeldung kann ich finden, das mit den Threads - schauen wir mal. Zudem bin ich mit meinem Setup soweit zufrieden (never change a winning team), so dass ich noch auf meinem halb 2.8 smartvisu und auch nur gepatchte smarthome habe. Die Mühe der Umstellung auf den aktuellen Stand hatte ich noch nicht gemacht.

                        michel

                        Kommentar


                          #72
                          Hallo dafra,

                          für Dich mal schnell zum ausprobieren, bevor ich es im Repo final fixe: Bitte mal in den ersten Zeilen des Plugins (44-46) die eckigen Klammern entfernen:

                          Code:
                                  # parameter übernehmen, aufteilen und leerzeichen herausnehmen
                                  self._hue_ip = hue_ip
                                  self._hue_user = hue_user
                                  self._hue_port = hue_port
                          dann sollten die Parameter klappen. Das mit den Threads sollte dann eher nicht mehr passieren (wird ein Folgefehler sein !)

                          ​​​​​​​Michel

                          Kommentar


                            #73
                            Hallo Michel,

                            scheint zu funktionieren. In einem ersten schnellen Test hat sich alles verhalten wie erwartet :-)

                            Gruß, Daniel

                            Kommentar


                              #74
                              Hallo Michel,

                              Zitat von Orion Beitrag anzeigen
                              Allerdings gilt, dass ich die v1.71 funktional nicht weiterentwickeln werden, sondern nur auf dem NG Pfad (allerdings sind bis heute aus Nutzersicht keine Anforderungen hart da).
                              hast Du Dich schon mit den Hue Motion Sensor beschaeftigt?
                              Ich faend das sehr interessant, statt einer Lampe ueber den Bewegungsmelder eine GA schalten zu koennen.
                              Gaebe die API das her?
                              Findest auch Du das so interessant, es ggf. mit ins Plugin aufzunehmen?
                              Das waere Klasse!
                              (bin schon sehr versucht, den Sensor einfach mal zum Test zu bestellen)
                              ;-)

                              Viele Gruesse, Oliver

                              Kommentar


                                #75
                                Hi Oliver,

                                ich habe mir mal die API auf dem Hue Portal angesehen. Sensoren können nur (wie übrigens auch der Status) nur per polling ausgelesen werden. Da sind wir dann bei 3-5 Sekunden (!) Reaktionszeit für eine Auslösung außerhalb der hue Bridge. Ich glaube Sensoren über hue bridge auf KNX zu Routen macht keinen Sinn. Da wäre Onewire o.ä. die richtige Lösung.
                                aus meiner Sicht: wird nie richtig gut.

                                Michel

                                Kommentar

                                Lädt...
                                X