FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: DerFrickler am 17 Oktober 2015, 18:22:46

Titel: Anzahl der Readings mit "on"
Beitrag von: DerFrickler am 17 Oktober 2015, 18:22:46
Hallo zusammen,

ich bin gerade am experimentieren wie ich herausfinden kann wieviele Geräte aktuell am Heizen sind.

Dazu habe ich mir einen dummy mit dem vielversprechenden Namen "test" erstellt. Dazu ein notify welches auf ValvePosition prüft und mir dann den device Namen mit dem Value on oder off ins dummy schreibt.

D.h., ich habe eine Liste (in Form von Readings) die mir zu jedem Heizkörper-Thermostat anzeigt ob es geöffnet ist ("on") oder nicht ("off"). Wie kann ich jetzt die Anzahl der Heizkörper-Thermostate im Status "on" ermitteln?

Gruß!
Titel: Antw:Anzahl der Readings mit "on"
Beitrag von: rapster am 17 Oktober 2015, 18:53:59
Da musste irgendwas in der Form verwenden:

{ my $c=0;; for(keys %{$defs{test}->{READINGS}}){ $c++ if($defs{test}->{READINGS}->{$_}->{VAL} eq 'on') } return $c }

Das gibt dir die Anzahl der readings aus welche "on" sind. Gute Frage ob das vll. auch einfacher geht...

Gruß
  Claudiu
Titel: Antw:Anzahl der Readings mit "on"
Beitrag von: DerFrickler am 17 Oktober 2015, 21:41:10
Hallo und Danke! Der Ansatz schaut doch durchaus solide aus. Das %{defs{test} habe ich dann nur noch durch ein ${defs{test} ersetzt und dann hat es auch geklappt. Prima!

Gruß!
Titel: Antw:Anzahl der Readings mit "on"
Beitrag von: rapster am 17 Oktober 2015, 23:30:13
Ups, FAST richtig %{$defs.. muss es lauten, immer dieses schnell mal hingetippt ;)

Gruß
  Claudiu