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

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2531
  • 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
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im Januar 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, Twilight, WeekdayTimer
ToDo: adb, FluxLED

Offline Mave

  • Sr. Member
  • ****
  • Beiträge: 518
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

  • Sr. Member
  • ****
  • Beiträge: 518
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

  • Sr. Member
  • ****
  • Beiträge: 518
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

  • Sr. Member
  • ****
  • Beiträge: 518
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: 157
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

  • Sr. Member
  • ****
  • Beiträge: 518
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

  • Sr. Member
  • ****
  • Beiträge: 518
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: 2531
  • 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
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im Januar 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, Twilight, WeekdayTimer
ToDo: adb, FluxLED

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2531
  • 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
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im Januar 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, Twilight, WeekdayTimer
ToDo: adb, FluxLED
Zustimmung Zustimmung x 1 Liste anzeigen

Offline Mave

  • Sr. Member
  • ****
  • Beiträge: 518
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

  • Sr. Member
  • ****
  • Beiträge: 518
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: 157
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: 2531
  • 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
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im Januar 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, Twilight, WeekdayTimer
ToDo: adb, FluxLED

Offline hoppel118

  • Full Member
  • ***
  • Beiträge: 133
Antw:HUEGroup Readings state und pct
« Antwort #29 am: 29 Januar 2018, 17:17:26 »
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?

Sorry, wegen der wahrscheinlich dummen Frage, bin noch frisch im Umgang mit FHEM. Ich versuche gerade genau so etwas. Ist das mittlerweile im offiziellen Code?

  • Wenn ja, was muss ich machen, damit diese Readings mit meinen Gruppen verknüpft werden?
  • Wenn nicht, wo genau ist dieser Code einzufügen?

Danke und Gruß Hoppel