Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Version Plugin HUE zum Betatest

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

    #31
    Hi Michel,

    nun bin ich verwirrt, dachte Du wolltest irgendwie die Info bzgl. Durchnummerierung.... Wenn ich weiß was Du wissen möchtest kann ich nachstellen, testen, etc., ich hatte nur bei Deiner Anfrage nicht ganz verstanden welche Nummerierung Du meinst.
    Ich kann Dir auch meine 2te Bridge zum Testen zukommen lassen, falls das hilft. Du baust hier ein klasse Ding zusammen, da kann ich mich aktuell leider nur wie der daneben stellen und testen.

    Cheers,
    Oliver

    Kommentar


      #32
      Hallo Oliver,

      bevor ich meine Gedanken erkläre: es gibt auf develop die 0.91, die hat multi bridge support.

      Wichtig:
      Bei nur einer Bridge muß nicht geändert werden.

      Bei mehreren muß dann im plugin.conf für alle Bridges die vollständige Konfig rein, also user, ip, port und zwar so wie im readme beschrieben getrennt mit Komma (ohne Leerzeichen). Der erste Bridge hue_bridge = 0 verwendet den ersten Eintrag für user, ip, port. Die zweite Bridge hue_bridge = 1 verwendet den zweiten Eintrag usw.

      Bei allen items muß dann zusätzlich neben der hue_id auch eine hue_bridge mit angegeben werden. Wird die nicht gesetzt, wird automatisch Bridge 0 referenziert.

      Leider kann ich das nicht testen, weil ich nur eine Bridge habe. Mit einer läuft es und der Quervergleich mit mehrfach die gleiche angegeben läuft erst mal auch. Nur eine zweite reale ist offen.

      Bin gespannt auf das Feedback.

      Michel

      Kommentar


        #33
        Hallo Michel,

        ich habe eben von v0.8 auf v0.91 upgedated. Beim Neustart von smarthome.py habe ich folgendes im log:

        Code:
        2015-01-05 23:16:25 ERROR    Main         Plugin HUE exception: 'int' object has no attribute 'split'
        Traceback (most recent call last):
          File "/usr/local/smarthome/lib/plugin.py", line 53, in __init__
            plugin_thread = Plugin(smarthome, plugin, classname, classpath, args)
          File "/usr/local/smarthome/lib/plugin.py", line 80, in __init__
            exec("self.plugin = {0}.{1}(smarthome{2})".format(classpath, classname, args))
          File "<string>", line 1, in <module>
          File "/usr/local/smarthome/plugins/hue/__init__.py", line 39, in __init__
            self._hue_port = hue_port.split(',')
        AttributeError: 'int' object has no attribute 'split'
        Ich gehe erstmal auf die v0.8 zurück.
        Viele Grüße
        Martin

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

        Kommentar


          #34
          Hallo Michel,

          ich habe noch was zur v0.8:

          Ich hatte gestern zum Test in der Visu die Anzeige von Type, name, modelid und swversion eingebunden und bekam die Infos auch angezeigt.

          Als ich eben smarthome.py neu startete und anschließend die Visu aufrief bekam ich bei meiner Testleuchte für die 4 Attribute nur Leerstrings. Die Leuchte war ausgeschaltet. Erst als ich die Leuchte einschaltete bekam ich nach der cycle Zeit die vier Infos angezeigt.

          Diese Infos stehen in der Bridge zur Verfügung und werden nicht aus der Leuchte abgefragt. Sie können also auch bei ausgeschalteter Leuchte gelesen werden, was Du anscheinend im Moment unterbindest.
          Viele Grüße
          Martin

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

          Kommentar


            #35
            Hallo Michel,

            ich habe eben angefangen mich mit den Szenen zu beschäftigen. Dabei ist mir etwas aufgefallen, was nichts mit den Szenen zu tun hat.

            Ich habe zwei Leuchten, die Bestandteil von Szenen sind in der Visu als Dimmer eingerichtet. On/Off Status und Helligkeit werden richtig angezeigt.

            Wenn ich jetzt mit dem iPad eine Szene aufrufe, die beide Leuchten entweder ein- oder ausschaltet, werden naturgemäß die Leuchten zeitgleich geschaltet. In der Visu sieht man eine Reaktion ca. 3 Sekunden später (Cycle Time). Was mich jedoch überrascht hat, ist dass die Visu die Änderung für beide Leuchten größtenteils nicht zeitgleich anzeigt.

            Es kommt (selten) vor, dass die Änderung bei beiden Leuchten zeitgleich angezeigt wird. Meistens vergehen nach der Anzeige der Änderung bei der ersten Leuchte 3 Sekunden bis knapp 30 Sekunden bis die Änderung der zweiten Leuchte angezeigt wird.

            Interessanterweise wird bisher immer bei der Leuchte mit der höheren hue_id, die auch weiter hinten in der items.conf definiert ist, der Status zuerst geändert.
            Viele Grüße
            Martin

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

            Kommentar


              #36
              Hallo Martin,

              danke für's probieren. Ich muss mir mal jetzt einen Unit Test schreiben. Da lerne ich sicherlich noch was. Problem war eigentlich ganz einfach. Wenn kein Port in der plugin.conf angegeben, dann bei init der Defaultwert. Der war wir früher als Int angegeben und nicht als string. Einen Int kann man nicht splitten. Es waren 2 fehlende Hochkommas.

              Ist geändert sollte jetzt funktionieren. Ist die v 0.91 geblieben

              Wegen den Werten ist auch korrigiert, hatte alles ausgeschlossen, gilt ja nur für bei, die automatisch bei Lampe aus zurückgesetzt wird.

              Grüße

              Michel

              Kommentar


                #37
                Hallo Michel,

                ich habe den Aufruf von Szenen getestet und es funktioniert wie gewünscht.

                Ich habe ein Item definiert:
                Code:
                        [[[hue_szenen]]]
                            name = Hue Bridge Szenen
                            type = str
                            hue_id = 0
                            hue_send = scene
                            hue_listen = scene
                und dazu habe isch folgendes sv_widget definiert:
                Code:
                sv_widget = {{ basic.button('szenen_terrasse0', 'wohnung.terrasse.hue_szenen', 'aus', icon0~"control_standby.png", 'd2412db60-on-0', 'midi') }}
                wobei d2412db60-on-0 der Szenenname ist.

                Funktioniert!

                An die v0.91 gehe ich jetzt aber nicht mehr ran. Das muss bis morgen warten.
                Viele Grüße
                Martin

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

                Kommentar


                  #38
                  Hallo Michel,

                  ich habe jetzt die v0.91 (zweite Version) ein wenig getestet. Die Ergebnisse sind gemischt.

                  Das Gute:
                  - Das Abfragen von type, name, etc. funktioniert jetzt auch bei ausgeschalteter Leuchte.
                  - Ich habe keine Einträge mehr im Log gefunden, die auf den Versuch hinweisen Attribute bei ausgeschalteter Leuchte zu setzen.

                  Das weniger Gute:
                  - Der Abruf der Szenen funktioniert nicht mehr. Ich bin deshalb wieder zurück zur v0.8
                  Viele Grüße
                  Martin

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

                  Kommentar


                    #39
                    Hallo Martin,

                    Hattest Du darauf geachtet, dass die Szene im Item jetzt mit hue_bridge und nicht mehr mit hue_id referenziert wird ? Würde weiterhelfen.

                    Michel


                    Edit: ich hatte noch eine Fehler gefunden (ist im Log dann enthalten) jetzt 0.92 in develop. Bei mir geht der Szenenabruf jetzt wieder !

                    Kommentar


                      #40
                      Hallo Michel,

                      ja ich habe hue_bridge gesetzt. Ohne Erfolg. Dabei hatte ich vergessen Hue_id zu disablen. Ich habe jetzt anschließend noch hue_id auskommentiert und dabei folgenden Log Eintrag erhalten:

                      Code:
                      Traceback (most recent call last):
                        File "/usr/local/smarthome/lib/item.py", line 369, in __update
                          method(self, caller, source, dest)
                        File "/usr/local/smarthome/plugins/hue/__init__.py", line 180, in update_item
                          hueLampId = item.conf['hue_id']
                      KeyError: 'hue_id'
                      Ich hatte übrigens eben noch die 0.9 Master, die ich auf Github noch gefunden hatte ausprobiert. Auch da gehen die Szenen nicht.
                      Viele Grüße
                      Martin

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

                      Kommentar


                        #41
                        Hallo Michel,

                        ja mit der 0.92 gehen die Szenen wieder. Ich musste nur erstmal meine items.conf wieder korrigieren.

                        Ich hatte vorher diverses getestet und von dem Test stand noch hue_bridge = 1 in der conf. Ich habe aber nur eine Bridge.

                        Mit hue_bridge = 1 wirft smarthome.py folgenden Fehler:

                        Code:
                        2015-01-06 22:06:15 ERROR    Main         Item wohnung.terrasse.hue_szenen: problem running <bound method HUE.update_item of <plugins.hue.HUE object at 0x22c52d0>>: list index out of range
                        Traceback (most recent call last):
                          File "/usr/local/smarthome/lib/item.py", line 369, in __update
                            method(self, caller, source, dest)
                          File "/usr/local/smarthome/plugins/hue/__init__.py", line 254, in update_item
                            self._set_group_state(hueBridgeId, '0', {hueSend: value})
                          File "/usr/local/smarthome/plugins/hue/__init__.py", line 363, in _set_group_state
                            returnValues = self._request(hueBridgeId, "/groups/%s/action" % hueGroupId, "PUT", json.dumps(state))
                          File "/usr/local/smarthome/plugins/hue/__init__.py", line 298, in _request
                            connectionHueBridge = http.client.HTTPConnection(self._hue_ip[int(hueBridgeId)])
                        IndexError: list index out of range
                        Beim aufrufen einer Szene (was ja funktioniert) erhalte ich jetzt allerdings im log folgende Warnung:
                        Code:
                        2015-01-06 22:10:52 WARNING  Main         HUE: update_item: no item for on/off defined for bridge 0 lampe 0
                        Viele Grüße
                        Martin

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

                        Kommentar


                          #42
                          Hallo Martin,

                          Danke fürs bereitwillige testen. da es läuft, sammle ich jetzt erst mal Infos, um dann etwas konsequenter und nicht so quick and Dirty zu ändern.

                          Michel

                          Kommentar


                            #43
                            ... und noch ein Finding:

                            Ich habe auf der Visu Seite mit der ich die Szenen abrufe auch zwei der Leuchten mit dem device.dimmer Widget angezeigt.

                            In der v0.8 wurden der OnOff Status und der Level auch brav gepflegt. (Mit der in einem früheren Port beschriebenen Verzögerung)

                            In der v0.92 wird beim Aufruf der Szenen nur noch der OnOff Status gepflegt. Als Level wird standardmäßig 0 (Minimum) angezeigt.

                            Wenn ich mit dem Slider eine andere Helligkeit für eine der Leuchten einstelle, funktioniert dieses. Wenn ich anschließend die Szene erneut abrufe wird die Leuche auf die Szenen-zugehörige Helligkeit gesetzt, der Slider zeigt das jedoch nicht an.
                            Viele Grüße
                            Martin

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

                            Kommentar


                              #44
                              Zitat von Orion Beitrag anzeigen
                              Danke fürs bereitwillige testen.
                              Das Testen ist ganz in meinem ureigensten Interesse
                              Viele Grüße
                              Martin

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

                              Kommentar


                                #45
                                ...irgendwie ist beim Umbau auf die MultiBrige Lösung etwas hängengeblieben. das muss ich mir mal genauer anschauen.

                                Michel

                                Kommentar

                                Lädt...
                                X