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

    #16
    Hallo Jan,

    ja da stimmt etwas nicht. Auf jeden Fall habe ich nicht alle Fehlers behandelt, dass nichts passiert. Hast Du Groups konfiguriert ? Ist zwar implementiert, da es aus meiner Sicht aktuell keine Möglichkeit gibt Groups anzulegen und zu verwalten macht das keinen Sinn.

    Bitte auf jeden Fall mal Deine item.conf posten, wo Du die Hue's konfiguriert hast.

    Bitte auch mal das System beschreiben und evt. wann Du das beobachtet hast.

    Michel


    Edit: Ich kenne diese Fehlermeldung bei mir aus dem Betrieb nicht. Allerdings verwende ich in Summe Develop. Ich habe eine grobe Vermutung: Wenn Du Step 1 mal berichtet hast, kannst Du unter der gleiche Situation einmal die Version 1.7 ausprobieren, da habe ich versucht etwas dran zu drehen. Ich selbst kann die Situation nicht nachstellen.
    Zuletzt geändert von Orion; 07.10.2015, 19:53.

    Kommentar


      #17
      Hallo Michel,
      dann werd ich zunächst mal meine Umgebung beschreiben. Ich habe vor einigen Wochen eine komplette Neuinstallation vorgenommen. Das Ganze laüft auf einer hyper-v-VM mit Ubuntu 14.04.3 LTS und wurde streng nach dieser Anleitung installiert; allerdings ohne Samba und Onewire. Als Schnittstelle zum EIB nutze ich ein WEINZIERL 730 KNX IP Interface.
      In meiner items.conf für die EIB-Anbindung sind einige crontabs eingebaut und eben genau das würde ich nun auch gern für die HUEs nutzen.
      Dein hue-plugin habe ich mit
      Code:
      mkdir /usr/local/smarthome/plugins/hue
      cd /usr/local/smarthome/plugins/hue/
      git clone git://github.com/mworion/hue.git
      installiert.
      Hier meine plugin.con
      Code:
      # plugin.conf
      [knx]
         class_name = KNX
         class_path = plugins.knx
         host = 127.0.0.1
      #   host = 192.168.20.4
         port = 6720
      #   send_time = 600 # update date/time every 600 seconds, default none
      #   time_ga = 1/1/1 # default none
      #   date_ga = 1/1/2 # default none
      #[ow]
      #    class_name = OneWire
      #    class_path = plugins.onewire
      [visu]
          class_name = WebSocket
          class_path = plugins.visu
          acl = rw
          smartvisu_dir = /var/www/html/smartVISU
      [cli]
          class_name = CLI
          class_path = plugins.cli
          ip = 0.0.0.0
          update = True
      [sql]
          class_name = SQL
          class_path = plugins.sqlite
      [HUE]
          class_name = HUE
          class_path = plugins.hue
          hue_user = *
          hue_ip = 192.168.20.104
      Und die items.conf für die HUEs:
      Code:
      [kg]
          [[bridge1]]
              # Bridge 1
              hue_bridge_id = 0
              [[[bridge_name]]]
                  type = str
                  hue_listen = bridge_name
              [[[zigbeechannel]]]
                  type = num
                  hue_listen = zigbeechannel
              [[[mac]]]
                  type = str
                  hue_listen = mac
              [[[dhcp]]]
                  type = bool
                  hue_listen = dhcp
              [[[ipaddress]]]
                  type = str
                  hue_listen = ipaddress
              [[[netmask]]]
                  type = str
                  hue_listen = netmask
              [[[gateway]]]
                  type = str
                  hue_listen = gateway
              [[[utc]]]
                  type = str
                  hue_listen = UTC
              [[[localtime]]]
                  type = str
                  hue_listen = localtime
              [[[timezone]]]
                  type = str
                  hue_listen = timezone
              [[[whitelist]]]
                  type = dict
                  hue_listen = whitelist
              [[[bridge_swversion]]]
                  type = str
                  hue_listen = bridge_swversion
              [[[apiversion]]]
                  type = str
                  hue_listen = apiversion
              [[[swupdate]]]
                  type = dict
                  hue_listen = swupdate
              [[[linkbutton]]]
                  type = bool
                  hue_listen = linkbutton
              [[[portalservices]]]
                  type = bool
                  hue_listen = portalservices
              [[[portalconnection]]]
                  type = str
                  hue_listen = portalconnection
              [[[portalstate]]]
                  type = dict
                  hue_listen = portalstate
              [[[errorstatus]]]
                  type = bool
                  hue_listen = errorstatus
      
      
      
      [out]
          [[hue2]]
              # if hue_lamp_id and hue_bridge_id is not set, it is searched in a higher layer
              hue_lamp_id = 2
              hue_lamp_type = 0
              [[[power]]]
                  type = bool
                  hue_send = on
                  hue_listen = on
                  knx_dpt = 1
                  knx_cache = 2/2/6
              [[[reachable]]]
                  type = bool
                  hue_listen = reachable
              [[[bri]]]
                  type = num
                  cache = on
                  hue_send = bri
                  hue_listen = bri
              [[[sat]]]
                  type = num
                  cache = on
                  hue_send = sat
                  hue_listen = sat
              [[[col_r]]]
                  type = num
                  cache = on
                  hue_send = col_r
              [[[col_g]]]
                  type = num
                  cache = on
                  hue_send = col_g
              [[[col_b]]]
                  type = num
                  cache = on
                  hue_send = col_b
              [[[hue]]]
                  type = num
                  cache = on
                  hue_send = hue
                  hue_listen = hue
              [[[effect]]]
                  type = str
                  hue_send = effect
                  hue_listen = effect
              [[[alert]]]
                  type = str
                  hue_send = alert
                  hue_listen = alert
              [[[modeltype]]]
                  type = str
                  hue_listen = type
              [[[name]]]
                  type = str
                  hue_listen = name
              [[[modelid]]]
                  type = str
                  hue_listen = modelid
              [[[swversion]]]
                  type = str
                  hue_listen = swversion
      Vielen Dank für dein Engagement und deine Geduld!

      VG
      Jan

      Kommentar


        #18
        Hallo Jan,

        was mir auffällt: Du definierst die Bridge_ID auf der gleichen Ebene, wie Deine Lampen. Damit kann das Plugin für die Lampen die Bridge_ID nicht auslesen (kann in der Hierarchie nur nach oben schauen, nicht seitlich !). Das wäre formal falsch. Eigentlich dürfte das zu keinem Fehler führen (sollte abgefangen sein) , muss ich heute Abend nochmal nachsehen ! Ansonsten fällt mir nichts auf. Bitte korrigiere das mal.

        Wie im letzten Post bereits geschrieben hatte ich noch probiert die Locks() anzupassen. Deine Fehlermeldung sieht so aus, dass ich immer mehr Threads bei den Yorkern aufmache, die nicht beendet werden, damit gehen smarthome die Worker Threads aus und das macht dann den Fehler. Das hatte ich versucht mit der Develop v1.7 etwas zu korrigieren.

        Probiere das mal aus (beide Änderungen) und Berichte mal, ob Du den Fehler noch siehst.

        Michel

        ps: bei mir läuft smarthome auch auf einer VM unter Ubuntu Server 14.04.3 auf einem NAS

        Kommentar


          #19
          Moin Michel,
          bin heute mal wieder zu ein paar Tests gekommen.
          Zunächst habe ich auf 1.7 upgedatet:
          Code:
          cd /usr/local/smarthome/plugins
          rm -r hue
          git clone git://github.com/mworion/hue.git
          Nach »hue« wird geklont
          remote: Counting objects: 225, done.
          remote: Total 225 (delta 0), reused 0 (delta 0), pack-reused 225
          Objekte werden empfangen: 100% (225/225), 59.92 KiB | 0 bytes/s, done.
          Unterschiede werden aufgelöst: 100% (114/114), done.
          Verbundenheit wird überprüft … Fertig.
          cat hue/__init__.py
          #!/usr/bin/env python3
          # vim: set encoding=utf-8 tabstop=4 softtabstop=4 shiftwidth=4 expandtab
          #
          #  Copyright (C) 2014,2015 Michael Würtenberger
          #
          #  Version 1.7 develop
          #
          #  Erstanlage mit ersten Tests
          #  Basiert auf den Ueberlegungen des verhandenen Hue Plugins.
          #  Die Parametrierung des Plugings in der plugin.conf und die authorize() Methode wurden zur
          #  Wahrung der Kompatibilitaet uebernommen
          #
          #  Umsetzung rgb mit aufgenommen, basiert auf der einwegumrechnung von
          #  https://github.com/benknight/hue-python-rgb-converter
          #
          Meine items.comf habe ich auf das nötigste reduziert:
          Code:
          [kg]
              [[bridge1]]
                  # Bridge 1
                  hue_bridge_id = 0
                  [[[bridge_name]]]
                      type = str
                      hue_listen = bridge_name
                  [[[zigbeechannel]]]
                      type = num
                      hue_listen = zigbeechannel
              [[group1]]
                  # groupe 1
                  hue_group_id=0
          Trotzdem bekomme ich nach einem Neustart im Log:
          Code:
          Init SmartHome.py 1.0-45-g02cf972+
          2015-10-20 12:57:52 WARNING  hue-update-lamps 0
          2015-10-20 12:57:53 WARNING  hue-update-bridges 0
          2015-10-20 12:57:54 WARNING  hue-update-groups 0
          2015-10-20 12:57:54 ERROR    hue-update-groups Method hue-update-groups exception: 'state'
          Traceback (most recent call last):
            File "/usr/local/smarthome/lib/scheduler.py", line 344, in _task
              obj()
            File "/usr/local/smarthome/plugins/hue/__init__.py", line 742, in _update_groups
              dictOptimized = hueGroupIdValues['state'].copy()
          KeyError: 'state'
          2015-10-20 13:14:04 ERROR    Scheduler    Needing more worker threads than the specified maximum of 20!
          2015-10-20 13:15:06 ERROR    Scheduler    Needing more worker threads than the specified maximum of 20!
          2015-10-20 13:16:07 ERROR    Scheduler    Needing more worker threads than the specified maximum of 20!
          2015-10-20 13:17:09 ERROR    Scheduler    Needing more worker threads than the specified maximum of 20!
          2015-10-20 13:18:10 ERROR    Scheduler    Needing more worker threads than the specified maximum of 20!
          2015-10-20 13:19:12 ERROR    Scheduler    Needing more worker threads than the specified maximum of 20!
          2015-10-20 13:20:13 ERROR    Scheduler    Needing more worker threads than the specified maximum of 20!

          Hast du noch eine Idee?


          VG
          Jan

          Kommentar


            #20
            Hallo Jan,

            das erste, was mir auffällt ist, dass in Deiner items.conf group1 auf der selben Ebene wie die bridge1. Sollte eine Ebene drunter sein. Also eine eckige Klammer mehr um group1.

            Rest versuche ich mal nachzustellen.

            Michel

            Kommentar


              #21
              OK. Das mit der Ebene hab ich jetzt verstanden.

              Aber jetzt kommts. Selbst wenn ich keine hue-items definiert habe, und nur das plugin aktiviert habe, greifen meine crontab-Einträge der ganzen anderen items nicht mehr. Das heisst sie werden einfach ignoriert. Ebenso wie das sql-plugin

              Ich glaube, ich muss mich doch noch mal etwas genauer mit den debug-Möglichkeiten von smarthone.py befassen...

              Kommentar


                #22
                Hallo Jan,

                ich habe mit der v1.71 versucht den Fehlerfall einmal abzufangen. Ich habe zwar keine Analyse, warum der passiert, aber mal versucht abzufangen. Wäre super, wenn Du das mal ausprobieren könntest, ob jetzt Dein Fehler mit der 1.71 noch auftaucht.

                Michel

                Kommentar


                  #23
                  Hi Michel.
                  Zitat von Orion Beitrag anzeigen
                  Wäre super, wenn Du das mal ausprobieren könntest, ob jetzt Dein Fehler mit der 1.71 noch auftaucht.
                  Heute habe ich die 1.71 getestet. Sieht auf den ersten Blick vielversprechend aus.
                  Keine Fehlermeldungen; bis jetzt ;-)

                  Ich beobachte das mal die nächsten Tage und melde mich dann wieder.

                  Danke schonmal!
                  Jan

                  Kommentar


                    #24
                    Hello.... Awesome plugin.... This makes me buy a hue kit
                    is it possible to read a input from the hue bus - meaning if I press one of the remote from hue-can this do something in the smart home?

                    Kommentar


                      #25
                      Hi,

                      basically possible, but not implemented in the plugin. I'm mot using Hue Switches nor I own some. No chance for testing. Are you interested doing an submitting the extension ?

                      Michel

                      Kommentar


                        #26
                        Hi....
                        Cool - that would be awesome.... I'm thinking on buying some, since i need a extra switch wireless.... that would be much cheaper than some EnOcean Wireless thing on the KNX System.....

                        But the coolest would be to integrate the HUe into the KNX

                        Kommentar


                          #27
                          Hallo, erklärt ihr mir mal das mit dem neuen Benutzer erstellen? Wie bekomme ich den Hash Code? Muss ich den nehmen den ich unter Windows sehen kann wenn ich bei der Philips Hue Bridge die Eigenschaften anklicke? Oder muss ich einen neuen erstellen? habe das jetzt mit der UUID versucht.. klappt aber nicht..
                          www.knx-Hausblog.de

                          Kommentar


                            #28
                            OK.. für alle anderen.. Den Benutzer bekommt ihr so.
                            Account einrichten bei http://www.developers.meethue.com/
                            Dann wie hier beschrieben verfahren wie bei Step 3: http://www.developers.meethue.com/do...etting-started

                            Zuletzt geändert von 2Fast4You78; 07.12.2015, 08:51.
                            www.knx-Hausblog.de

                            Kommentar


                              #29
                              Hallo,
                              ich habe parallel den HS3 laufen und würde gerne mein Hue's per Smarthome.py einbinden. Schalten und Dimmen geht bereits perfekt. Kann ich die Farben/Effekte denn auch per knx_dpt3 einbinden. Oder was muss ich angeben?

                              Viele Grüße Nico
                              www.knx-Hausblog.de

                              Kommentar


                                #30
                                Hallo Nico,

                                ja geht genauso wie das dimmen. Evt. Die Schrittweite anpassen, da Wertebereich größer.

                                Michel

                                Kommentar

                                Lädt...
                                X