Autor Thema: HUEGroup Readings state und pct  (Gelesen 594 mal)

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
HUEGroup Readings state und pct
« am: 28 Dezember 2017, 09:36:46 »
Es haben sich schon mehrere Leute darüber geärgert, dass die HUEGroups keine Readings haben (Ich selbst gehöre auch dazu).
Deshalb habe ich mich nun hingesetzt und ein notify geschrieben, welches state und pct auf die HUEGroup überträgt, wenn eine Lampe ein Event pct sendet.
Das Reading pct wird dabei als durchschnitt aller Lampen ermittelt. Ist nur eine von 2 Lampen auf 100 % eingeschaltet hat die Gruppe einen Wert von 50 %.

Hier der Code als Raw definition
defmod HUE_LightGroup_Status notify .+:pct:..+ {\
  my $ID = InternalVal($NAME, "ID", "");;\
  \
  return unless($TYPE eq "HUEDevice" && looks_like_number($ID));;\
  \
  my ($group) = devspec2array("TYPE=HUEDevice:FILTER=type=LightGroup:FILTER=lights=(^|.+\\D)$ID(\\D.+|\$)");;\
  \
  return unless($group);;\
  \
  my $hash = $defs{$group};;\
  my $lights = InternalVal($group, "lights", "");;\
  my $count = int(split(",", $lights));;\
  $lights =~ s/,/|/g;;\
  my $pct;;\
  $pct += (split(/[\s]+/, $_))[3]\
    foreach (split("\n", fhem("list TYPE=HUEDevice:FILTER=ID=$lights pct", 1)));;\
  $pct /= $count;;\
  \
  readingsBeginUpdate($hash);;\
  readingsBulkUpdate($hash, "pct", $pct);;\
  readingsBulkUpdate($hash, "state", $pct == 0 ? "off" : "on");;\
  readingsEndUpdate($hash, 1);;\
  \
  return;;\
}
attr HUE_LightGroup_Status devStateIcon {ReadingsVal($name, "state", "inactive") eq "active" ? ".*:ios-on-blue:inactive" : ".*:ios-off:active"}
attr HUE_LightGroup_Status group HUE
attr HUE_LightGroup_Status icon light_light_dim_70
attr HUE_LightGroup_Status room helper
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline Gasmast3r

  • Full Member
  • ***
  • Beiträge: 333
Antw:HUEGroup Readings state und pct
« Antwort #1 am: 28 Dezember 2017, 11:20:51 »
Es haben sich schon mehrere Leute darüber geärgert, dass die HUEGroups keine Readings haben (Ich selbst gehöre auch dazu).
Deshalb habe ich mich nun hingesetzt und ein notify geschrieben, welches state und pct auf die HUEGroup überträgt, wenn eine Lampe ein Event pct sendet.
Das Reading pct wird dabei als durchschnitt aller Lampen ermittelt. Ist nur eine von 2 Lampen auf 100 % eingeschaltet hat die Gruppe einen Wert von 50 %.

Hier der Code als Raw definition
defmod HUE_LightGroup_Status notify .+:pct:..+ {\
  my $ID = InternalVal($NAME, "ID", "");;\
  \
  return unless($TYPE eq "HUEDevice" && looks_like_number($ID));;\
  \
  my ($group) = devspec2array("TYPE=HUEDevice:FILTER=type=LightGroup:FILTER=lights=(^|.+\\D)$ID(\\D.+|\$)");;\
  \
  return unless($group);;\
  \
  my $hash = $defs{$group};;\
  my $lights = InternalVal($group, "lights", "");;\
  my $count = int(split(",", $lights));;\
  $lights =~ s/,/|/g;;\
  my $pct;;\
  $pct += (split(/[\s]+/, $_))[3]\
    foreach (split("\n", fhem("list TYPE=HUEDevice:FILTER=ID=$lights pct", 1)));;\
  $pct /= $count;;\
  \
  readingsBeginUpdate($hash);;\
  readingsBulkUpdate($hash, "pct", $pct);;\
  readingsBulkUpdate($hash, "state", $pct == 0 ? "off" : "on");;\
  readingsEndUpdate($hash, 1);;\
  \
  return;;\
}
attr HUE_LightGroup_Status devStateIcon {ReadingsVal($name, "state", "inactive") eq "active" ? ".*:ios-on-blue:inactive" : ".*:ios-off:active"}
attr HUE_LightGroup_Status group HUE
attr HUE_LightGroup_Status icon light_light_dim_70
attr HUE_LightGroup_Status room helper
Hy ich bin nicht gut im Code lesen wo trage ich überall meine zugehörigen hue nummern ein

Gesendet von meinem SM-G950F mit Tapatalk


Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17317
Antw:HUEGroup Readings state und pct
« Antwort #2 am: 28 Dezember 2017, 11:48:36 »
hallo igami,

die idee ist gut.wenn es ein paar stimmen dafür gibt würde ich es etwas angepasst in die hue module übernehmen.

bedingung: es gibt nicht zu viele sonderwünsche in richtung minimum, durchschnitt, maximum, farbe, ... :)

gruss
  andre
« Letzte Änderung: 28 Dezember 2017, 15:06:33 von justme1968 »
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Zustimmung Zustimmung x 1 Liste anzeigen

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
Antw:HUEGroup Readings state und pct
« Antwort #3 am: 28 Dezember 2017, 13:44:13 »
Hy ich bin nicht gut im Code lesen wo trage ich überall meine zugehörigen hue nummern ein
Ist nicht notwendig, dass notify prüft für alle HUEDevices ob diese in einer Gruppe sind. Falls ja werden die Readings in die Gruppe geschrieben.

hallo igami,

die idee ist gut.wenn es ein paar stimmen dafür gibt würde ich es etwas angepasst in die hui module übernehmen.

bedingung: es gibt nicht zu viele sonderwünsche in richtung minimum, durchschnitt, maximum, farbe, ... :)

gruss
  andre
Ich habe selbst nur white und eine white ambiance im Einsatz, da müssen sich andere zu äußern.
Bei mir ist es auch so, dass ich nur Gruppen im Einsatz habe, wenn ich mehrere Leuchtmittel in einer Lampe im Einsatz habe (z.B. das klassische drei-flammige Deckenrondell)

Ich würde mich freuen, wenn es direkt in das HUE Modul integriert wird. Dadurch sollte das System auch wieder entlastet werden, da ja mit meinem notify bei allen pct Events geprüft wird ob es sich um HUE handelt.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.
Zustimmung Zustimmung x 1 Liste anzeigen

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17317
Antw:HUEGroup Readings state und pct
« Antwort #4 am: 28 Dezember 2017, 15:11:24 »
dann lass uns doch einfach mal sammeln was sinnvoll ist.

mein vorschlag wäre:
- pct aller lampen in der gruppe konfigurierbar als minimum, mittelwert oder maximum
- farbtemperatur genau so, konfigurierbar als minimum, mittelwert oder maximum der einzelnen lampen
- hue könnte man vermutlich halbwegs korrekt aus den beteiligten lampen mischen

das würde den fall einer lampe mit mehreren leuchtmitteln vermutlich schon komplett abdecken.

wie schaut es mit gruppen aus die z.b. für einen raum verwendet werden? passt das da auch?
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline somansch

  • New Member
  • *
  • Beiträge: 41
Antw:HUEGroup Readings state und pct
« Antwort #5 am: 28 Dezember 2017, 16:31:31 »
Wün
hallo igami,

die idee ist gut.wenn es ein paar stimmen dafür gibt würde ich es etwas angepasst in die hue module übernehmen.

bedingung: es gibt nicht zu viele sonderwünsche in richtung minimum, durchschnitt, maximum, farbe, ... :)

gruss
  andre

Würde mich auch über eine offizielle Anpassung freuen.

Danke und Gruß
Andreas

Offline tpm88

  • Full Member
  • ***
  • Beiträge: 339
Antw:HUEGroup Readings state und pct
« Antwort #6 am: 28 Dezember 2017, 20:31:39 »
+1 zur offiziellen Übernahme


Mobil gesendet, darum kurz...
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on CubieTruck, HM-USB, JeeLink
DB Logging FHEM Server on QNAP NAS
Devices: diverse HM, IT1500, 1wire via AVR NetIO, LaCrosse

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #7 am: 02 Januar 2018, 11:38:57 »
Ins offizielle Modul damit....ich bin dafür.


Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
Antw:HUEGroup Readings state und pct
« Antwort #8 am: 02 Januar 2018, 12:55:05 »
- pct aller lampen in der gruppe konfigurierbar als minimum, mittelwert oder maximum
- farbtemperatur genau so, konfigurierbar als minimum, mittelwert oder maximum der einzelnen lampen
Bei nicht gesetztem Attribut dann bitte den Mittelwert verwenden.

- hue könnte man vermutlich halbwegs korrekt aus den beteiligten lampen mischen
Ist das dann auch ein Mittelwert?

wie schaut es mit gruppen aus die z.b. für einen raum verwendet werden? passt das da auch?
Für Räume würde ich das nicht implementieren, wenn jemand das wünscht kann er sich das ja als Gruppe anlegen. Wenn du anderer Meinung bist einfach analog handhaben.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #9 am: 02 Januar 2018, 18:20:05 »
Es haben sich schon mehrere Leute darüber geärgert, dass die HUEGroups keine Readings haben (Ich selbst gehöre auch dazu).
Deshalb habe ich mich nun hingesetzt und ein notify geschrieben, welches state und pct auf die HUEGroup überträgt, wenn eine Lampe ein Event pct sendet.
Das Reading pct wird dabei als durchschnitt aller Lampen ermittelt. Ist nur eine von 2 Lampen auf 100 % eingeschaltet hat die Gruppe einen Wert von 50 %.

Hier der Code als Raw definition
defmod HUE_LightGroup_Status notify .+:pct:..+ {\
  my $ID = InternalVal($NAME, "ID", "");;\
  \
  return unless($TYPE eq "HUEDevice" && looks_like_number($ID));;\
  \
  my ($group) = devspec2array("TYPE=HUEDevice:FILTER=type=LightGroup:FILTER=lights=(^|.+\\D)$ID(\\D.+|\$)");;\
  \
  return unless($group);;\
  \
  my $hash = $defs{$group};;\
  my $lights = InternalVal($group, "lights", "");;\
  my $count = int(split(",", $lights));;\
  $lights =~ s/,/|/g;;\
  my $pct;;\
  $pct += (split(/[\s]+/, $_))[3]\
    foreach (split("\n", fhem("list TYPE=HUEDevice:FILTER=ID=$lights pct", 1)));;\
  $pct /= $count;;\
  \
  readingsBeginUpdate($hash);;\
  readingsBulkUpdate($hash, "pct", $pct);;\
  readingsBulkUpdate($hash, "state", $pct == 0 ? "off" : "on");;\
  readingsEndUpdate($hash, 1);;\
  \
  return;;\
}
attr HUE_LightGroup_Status devStateIcon {ReadingsVal($name, "state", "inactive") eq "active" ? ".*:ios-on-blue:inactive" : ".*:ios-off:active"}
attr HUE_LightGroup_Status group HUE
attr HUE_LightGroup_Status icon light_light_dim_70
attr HUE_LightGroup_Status room helper


Hallo igami,

vielen Dank für Dein geniales Notify.

Dein notify funktioniert super bei meiner Gruppe "alle HUE Devices", das automatisch angelegt wurde.

Bei einer neu angelegten Gruppe mit 5 HUE Lampen wird der Status von pct aber leider nicht aktualisiert und ich weiß nicht mehr, wo ich noch suchen muß.

Über Unterstützung würde ich mich sehr freuen.

Vielen Dank.

Grüße Mave


PS: Den einzigen Unterschied zwischen den beiden Gruppen den ich erkennen kann, ist das Internal "name". Bei der Gruppe "alle HUE Devices" ist "name" "Group 0" und bei meiner neu angelegten Gruppe "wz_Wohnen".
« Letzte Änderung: 02 Januar 2018, 18:29:57 von Mave »

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
Antw:HUEGroup Readings state und pct
« Antwort #10 am: 02 Januar 2018, 18:33:24 »
Bitte ein list von der Gruppe wo es nicht funktioniert
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #11 am: 02 Januar 2018, 18:34:42 »
Internals:
   CHANGED   
   DEF        group 16  IODev=HUE
   ID         G16
   INTERVAL   
   IODev      HUE
   NAME       HUEGroup16
   NR         245
   STATE      on
   TYPE       HUEDevice
   desired    1
   lights     4,5,6,7,9,12,13,14
   name       wz_Wohnen
   type       LightGroup
   READINGS:
     2018-01-02 18:16:51   all_on          1
     2018-01-02 18:03:09   any_on          1
     2018-01-02 17:29:05   pct             70
     2018-01-02 17:29:05   state           on
   helper:
     devtype    G
     update_timeout 1
Attributes:
   IODev      HUE
   alexaName  Licht
   alexaRoom  Wohnzimmer
   alias      wz_Wohnen
   color-icons 2
   delayedUpdate 1
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   genericDeviceType light
   group      Licht
   icon       light_light
   room       Wohnzimmer
   webCmd     pct:on:off

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #12 am: 02 Januar 2018, 18:36:46 »
Habe gerade festgestellt, dass auch die Gruppe Küchenlicht, wo die Deckenlampe aus zwei HUE Lampen besteht, nicht aktualisiert wird.

Immerhin wurden ja in meiner neuen Gruppe wz_Wohnen ja schonmal die Readings state und pct angelegt. Bei der Gruppe Küchenlicht gibt es die Readings noch nicht.

Internals:
   CHANGED   
   DEF        group 1  IODev=HUE
   ID         G1
   INTERVAL   
   IODev      HUE
   NAME       HUEGroup1
   NR         41
   STATE      0
   TYPE       HUEDevice
   class      Kitchen
   desired    0
   lights     1,3
   name       Kueche Decke
   type       Room
   READINGS:
     2018-01-02 18:13:05   all_on          0
     2018-01-02 18:35:35   any_on          0
   helper:
     devtype    G
     update_timeout 1
Attributes:
   IODev      HUE
   alexaName  Licht
   alexaRoom  Küche
   alias      Kueche Decke
   color-icons 2
   delayedUpdate 1
   devStateIcon 0:off 1:on
   genericDeviceType light
   group      Licht
   icon       hue_room_kitchen
   room       Kueche
   sortby     1
   stateFormat any_on
   webCmd     pct:on:off

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
Antw:HUEGroup Readings state und pct
« Antwort #13 am: 02 Januar 2018, 20:49:55 »
HUEGroup16 hat doch die readings.
Das andere ist vom internal type (Achtung,klein geschrieben) ein room, darauf guckt das notify nicht
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #14 am: 02 Januar 2018, 21:28:14 »
Okay, verstanden. Also Zimmer (rooms) werden nicht beachtet, nur selbst in FHEM angelegte Gruppen vom Typ LightGroup.

Aber warum wird pct in der Gruppe HUEGroup16 nicht aktualisiert?
Ich hab keine Ahnung, warum das auf 70 steht. Es steht immer auf 70 und wird nicht aktualisiert.  :-[

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
Antw:HUEGroup Readings state und pct
« Antwort #15 am: 02 Januar 2018, 21:48:50 »
Okay, verstanden. Also Zimmer (rooms) werden nicht beachtet, nur selbst in FHEM angelegte Gruppen vom Typ LightGroup.
Soweit ich weiß, kann man die Gruppen auch in der HUE App anlegen.

Aber warum wird pct in der Gruppe HUEGroup16 nicht aktualisiert?
Ich hab keine Ahnung, warum das auf 70 steht. Es steht immer auf 70 und wird nicht aktualisiert.  :-[
Laut list ist der Wert aber von heute. Spiel doch mal ein bisschen mit den pct Werten von den einzelnen Devices und guck nach ob das notify auslöst (Internal STATE ändert sich) und ob sich was in der Gruppe tut (Zeitstempel vom Reading pct)
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #16 am: 02 Januar 2018, 21:54:41 »
Ich habe jetzt mal folgendes gemacht:

- Gruppe HUEGroup16 gelöscht
- Gruppe HUEGroup16 neu angelegt

Gruppe hatte nach einer Änderung des pct Wertes eines Gruppenmitglieds keine Readings pct und state!

Erst nach einem Neustart von FHEM, hatte die Gruppe die beiden Readings pct und state!

Änderungen an pct Werten von Gruppenmitgliedern ändert aber nachwievor nichts an dem pct Wert der Gruppe selbst.  :-\

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #17 am: 02 Januar 2018, 21:58:46 »
Beim Internal STATE vom Notify ändert sich der Zeitstempel.

Beim Reading pct der Gruppe ändert sich nichts am Zeitstempel.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #18 am: 02 Januar 2018, 22:15:13 »
Kann es sein, dass das Notify nur eine Gruppe findet?

In meiner Gruppe "alle HUE Lampen" sind nämlich alle HUE Lampen integriert.

Wenn das Notify also nur die erste Gruppe hernimmt, in der die ID gefunden wurde, dann wird immer die Gruppe "alle HUE Lampen" modifiziert und keine weitere Gruppe mehr.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #19 am: 02 Januar 2018, 22:17:59 »
Ja, das war die Lösung.

Nachdem ich die Gruppe "alle HUE Lampen" gelöscht habe, wurde meine neue Gruppe korrekt modifiziert.

Offline stebar_

  • Full Member
  • ***
  • Beiträge: 129
Antw:HUEGroup Readings state und pct
« Antwort #20 am: 02 Januar 2018, 23:03:24 »
Ich würde mich auch über eine übernahme ins Modul freuen  :)

Als Ergänzung würde ich noch das Reading reachable benötigen. Ich benutze vorwiegend die Color temperature lights.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #21 am: 02 Januar 2018, 23:17:59 »
Wie bekommt man für die Gruppe das devStateIcon mit Glühbirne und Dimmwert?

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #22 am: 04 Januar 2018, 17:25:45 »
@igami

Jetzt habe ich aber ein ganz anderes Problem, wo ich gespannt bin, wie Du das gelöst hast.

Nach jedem Neustart von FHEM legt die HUE Bridge automatisch ein neue Gruppe "alle HUE Lampen" an.
Somit wird wieder nur diese Gruppe von dem Notify bedient und nicht die Gruppe, für die ich es gerne hätte.

Wie hast Du das gelöst?

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
Antw:HUEGroup Readings state und pct
« Antwort #23 am: 04 Januar 2018, 22:06:42 »
Ich nutze kein autocreate ;)

Lässt sich aber alles erweitern, nur nicht jetzt. Vermutlich finde ich erst im Februar wieder Zeit zum programmieren. Bis dahin Bitte alle Wünsche mit Begründung sinnvoll sammeln.
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
Antw:HUEGroup Readings state und pct
« Antwort #24 am: 06 Januar 2018, 08:33:29 »
Update für beliebig Viele Gruppen und Räume
defmod HUE_LightGroup_Status notify .+:pct:..+ {\
  my $ID = InternalVal($NAME, "ID", "");;\
  \
  return unless($TYPE eq "HUEDevice" && looks_like_number($ID));;\
  \
  foreach my $group (\
    devspec2array(\
      "TYPE=HUEDevice".\
      ":FILTER=type=(LightGroup|Room)".\
      ":FILTER=lights=(^|.+\\D)$ID(\\D.+|\$)"\
    )\
  ){\
    next unless($group);;\
  \
    my $hash = $defs{$group};;\
    my $lights = InternalVal($group, "lights", "");;\
    my $count = int(split(",", $lights));;\
    $lights =~ s/,/|/g;;\
    my $pct;;\
    $pct += (split(/[\s]+/, $_))[3]\
      foreach (split("\n", fhem("list TYPE=HUEDevice:FILTER=ID=$lights pct", 1)));;\
    $pct /= $count;;\
\
    readingsBeginUpdate($hash);;\
    readingsBulkUpdate($hash, "pct", $pct);;\
    readingsBulkUpdate($hash, "state", $pct == 0 ? "off" : "on");;\
    readingsEndUpdate($hash, 1);;\
  }\
  \
  return;;\
}

Wäre es für Räume nicht interessanter wie viele Leuchtmittel eingeschaltet sind, anstelle des pct Mittelwertes?
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #25 am: 06 Januar 2018, 09:25:31 »
Ja, ist denn schon Februar?  ;D

Super, vielen Dank. Werde ich gleich mal testen.

Ich denke, es kommt immer auf den Anwendungsfall an.

Ich habe mir innerhalb des Wohnzimmers eine Gruppe von Lampen zusammengefügt, die ich gemeinsam per Dimmer Widget (FTUI) und Alexa schalte bzw. dimme.
Da diese Lampen immer gemeinsam gesteuert werden sollen, ist mir in diesem speziellen Fall die Helligkeit der Gruppe wichtig. Der Mittelwert ist also immer auch die Helligkeit jeder einzelnen Lampe.

Es gibt mit Sicherheit auch Anwendungsfälle, wo die Anzahl der eingeschalteten Lampen in einem Raum (in einer Gruppe) interessant sind.

Offline Mave

  • Full Member
  • ***
  • Beiträge: 335
Antw:HUEGroup Readings state und pct
« Antwort #26 am: 06 Januar 2018, 09:34:30 »
Funktioniert einwandfrei.

Vielen herzlichen Dank.

Offline stebar_

  • Full Member
  • ***
  • Beiträge: 129
Antw:HUEGroup Readings state und pct
« Antwort #27 am: 06 Januar 2018, 09:36:25 »
Vielen Dank Igami

Wie bekomme ich denn noch den reachable rein?

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2312
  • RTFM
    • commandref
Antw:HUEGroup Readings state und pct
« Antwort #28 am: 06 Januar 2018, 15:07:48 »
Ja, ist denn schon Februar?  ;D
Nein, aber es gab neue Leuchtmittel für die Wohnzimmer Strahler. Je zwei vorne und hinten.
Dadurch habe ich 4 Leuchtmittel mit 3 Gruppen: vorne, hinten, alle :D

Wie bekomme ich denn noch den reachable rein?
Gucke ich mir im Februar an
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

 

decade-submarginal