Prüfen ob irgendein HUE Licht an ist

Begonnen von yep_DD, 26 Oktober 2018, 19:48:27

Vorheriges Thema - Nächstes Thema

yep_DD

Hallo zusammen,

vielen Dank für die hilfreichen Inputs. Die Struktur funktioniert erstmal so weit. Welche Teil mir noch etwas unklar ist, ist folgender:

defmod wz_kugel_licht HUEDevice 9 IODev=moebHUEs
attr wz_kugel_licht userattr room_map structexclude
attr wz_kugel_licht room_map onoff:[1]{1}:on onoff:[0]{1}:off


heißt das ich definiere das Model "wz_kugel_licht" als HUEDevice, und ändere den Zustand als entweder off oder on, das bedeutet aber, dass ich jede Lampe die dimmbar ist einzelnen so modifizieren muss?

Tausend Dank für die Hilfe,

Stephan

CoolTux

Nein.
Ich denke was da gemeint ist, ist das alle Deine Huelampen die in der Structure sind nun ein Attribut zur Verfügung haben das sich XXX_map nennt.


Internals:
   CFGFN     
   CHANGED   
   DEF        7  IODev=HUELAN1
   ID         7
   INTERVAL   
   IODev      HUELAN1
   NAME       LED_StreifenSchlafzimmerBett
   NR         107
   STATE      off
   TYPE       HUEDevice
   desired    0
   manufacturername Philips
   modelid    LST001
   name       LightStrips 2
   swversion  66010400
   type       Color light
   uniqueid   00:17:88:01:00:ce:2e:33-0b
   Helper:
     DBLOG:
       state:
         logDbCurrent:
           TIME       1540531588.48394
           VALUE      off
   READINGS:
     2018-10-20 07:45:31   alert           none
     2018-10-26 06:14:09   bri             34
     2018-10-20 07:45:31   colormode       xy
     2018-10-20 07:45:31   effect          none
     2018-10-20 07:45:31   hue             54568
     2018-10-26 07:26:28   onoff           0
     2018-10-26 07:26:28   pct             0
     2018-10-20 07:45:31   reachable       1
     2018-10-26 06:14:09   rgb             361148
     2018-10-20 07:45:31   sat             218
     2018-10-26 07:26:28   state           off
     2018-10-20 07:45:31   xy              0.3814,0.1981
   helper:
     alert      none
     bri        34
     colormode  xy
     ct         -1
     devtype   
     effect     none
     hue        54568
     on         0
     pct        0
     reachable  1
     rgb        361148
     sat        218
     update_timeout -1
     xy         0.3814,0.1981
Attributes:
   IODev      HUELAN1
   LichtSchlaf structureLichtSchlafzimmer
   LichtSchlaf_map pct:^[1-9][0-9]{0,2}:on pct:^0$:off
   LichtWohnung structureLichtWohnung
   VerbraucherWohnung structureVerbraucherWohnung
   alias      LED Streifen
   color-icons 2
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   event-on-change-reading state,onoff,pct,hue,sat,rgb
   group      Licht Schlafzimmer
   icon       hue_filled_lightstrip
   model      LST001
   room       Schlafzimmer
   subType    colordimmer
   userattr   LichtSchlaf LichtSchlaf_map LichtWohnung LichtWohnung_map VerbraucherWohnung VerbraucherWohnung_map structexclude
   webCmd     hue:rgb:rgb ff0000:rgb 98FF23:rgb 0000ff


Hier mal ein list eines meiner Devices. Ich habe für alle Zimmer eine Lichtstruktur. Also eine pro Raum.
Wie Du siehst wird hier bei
LichtSchlaf_map pct:^[1-9][0-9]{0,2}:on pct:^0$:off
alles was pct > 0 ist auf on und 0 auf off für die structure gemappt. Damit kommt nur on oder off bei der structure an und nicht der Status unbekannt
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Markus M.

Zitat von: OdfFhem am 27 Oktober 2018, 00:59:25
In der Hilfe zu HUEDevice steht u.a.
Bei mir war der Timestamp für all_on bzw. any_on dann auch tatsächlich mehrere Monate alt.
Daher scheinen diese Readings im vorliegenden Fall zunächst eher ungeeignet ...
Das ist seltsam, scheint aber aus irgendwelchen Gründen nur bei HUEGroup0 so zu sein.
Gestern hatte ich da ein aktuelles Reading, heute nicht.
Alle anderen Gruppen werden bei mir aber zuverlässig aktualisiert, auch wenn nicht über FHEM geschalten wird.
Wenn das bei euch auch funktioniert wären immer noch die any_on Readings der Gruppen der einfachste Weg.
Aktuell weder Smarthome noch FHEM vorhanden

yep_DD

Also ich habe die Lampen mittels

defmod HUEState structure room TYPE=HUEDevice

hinzugefügt und das ist der Inhalt meiner Struktur:

ATTR room
CFGFN
CHANGEDCNT 78
DEF room
TYPE=HUEDevice
DEVSPECDEF 1
NAME HUEState
NR 28027
NTFY_ORDER 50-HUEState
STATE off
TYPE structure


als ich es gestern mit

addstruct HUEState TYPE=HUEDevice:FILTER=onoff=1 hinzugfügt habe, waren alle einzelnen Lampen in der Struktur. Ich glaube es fehlt nicht mehr viel, bis es funktioniert. Vielen Dank für eure Hilfe.

CoolTux

Ich glaube das ist falsch. Lasse mich da aber gerne eines besseren belehren.
Hast Du den den Status der einzelnen Devices in der Struktur abgebildet?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

yep_DD

Okay, ich habe es jetzt folgendermaßen eingebunden:


defmod HUEState structure room TYPE=HUEDevice
attr HUEState clientstate_behavior relative
attr HUEState clientstate_priority on|On|ON off|Off|OFF
attr HUEState userattr room_map structexclude
attr HUEState room_map onoff:[1]{1}:on onoff:[0]{1}:off


wenn ich jetzt irgendeine Lampe anschalte, gedimmt, ist die struct on.... nur bin ich mir nicht sicher, ob es so richtig ist.

CoolTux

Das map doch nicht bei der Struktur sondern direkt bei den Devices welche in der Struktur sind.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

yep_DD

alo bei jeder einzelnen Device oder wie soll ich das verstehen?

CoolTux

Bei jedem Device bei dem der state nicht on oder off sein kann
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

yep_DD

also tatsächlich wirklich einzeln?
Aber das ist ja die Frage von eher, wenn ich deine Methode anwende, habe ich jedes HUE Light einzeln im Struct und könnte das machen, was du sagst, bei der von @binford6000 nicht, und deswegen bin ich nun nicht sicher, mir ist klar, dass du mir hier sicher keine Lösung fix- und fertig präsentieren wirst, ohne dass ich mich selber informiere, aber wir haben hier gerade 3 Ansätze und nun hat jeder sein Fachgebiet und für mich ist FHEM sehr neu und ich versuche es  noch zu verstehen.

CoolTux

Du solltest Dir in Ruhe unsere Beispiele anschauen, dann siehst du das sie gleich sind. Auch er hat das map im Hue Device gemacht und nicht im structure Device.
Alternativ lese wenigstens einmal die Commandref zur structure komplett durch und ganz genau zum Attribut _map
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

yep_DD

ja, mache ich sehr gern. aber noch mal zu ersten Frage, das heißt mit deiner und seiner Methode, muss ich jedes einzelne Device modifizieren?

edit: warum geht die structure dann aber in meiner form, korrekt auf "on", wenn ich ein licht nur dimme?

CoolTux

Ich gehe davon aus das dein Attribut map in der structure zu den einzelnen Devices durchgereicht wird. Das siehst du wenn du dir mal ein Device an schaust, da steht bestimmt auch das map.

Und du hörst nicht zu, ich sagte nicht jedes Device sondern nur die Devices wo state einen anderen Wert haben kann als on oder off.

Lass es einfach so wie es jetzt ist, es geht ja so. In einen halben Jahr machst du es dann nach Deinem Wissen/Erfahrung besser.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

yep_DD

du hast absolut recht, jedes einzelne Device enthält mein mapping, aber ich würde gern verstehen warum.
Denn du hast ja gesagt, das mapping auf die Strukture wäre falsch, und deswegen auf jedes Device (welches einen anderen State als on / off haben kann). Und da ich ca. 30 Lampe und 5 Dimmerschalter habe, müsste ich es ja bei den 30 Lampen einzeln machen, korrekt?

Wie dem auch sei, ich möchte dich nicht weiter damit nerven, sollte es nicht funktionieren, melde ich mich noch mal und wenn es funktioniert, dann vielen Dank für eure Hilfe und Entschuldigung für mein Unwissen.


CoolTux

Structure vererbt viele Attribute weiter an seine Mitglieder. Das dies bei map auch so ist wusste ich nicht. Meistens ist das vererben auch gar nicht gewünscht. Das nervt sehr.
Und noch mal, du musst es nicht an alle 40 einstellen sondern nur da wo das Reading state auch einen anderen Wert haben kann wie on oder off. Also Lampen die dimmen zum Beispiel.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net