[Solved] Statistik für 2. Userreading wird nicht angelegt

Begonnen von msome, 25 März 2017, 21:58:26

Vorheriges Thema - Nächstes Thema

msome

Hallo,

ich hab ein kleines Problem mit dem Statistik-Modul. Oder vielleicht auch in der Triggerung des Statistik Moduls.
Es sollte 3 Statistiken erzeugen, legt aber nur 2 davon an!?

Es gibt für meine Heizung ein serielles Modul KM271 das verschiedene Readings zur Heizung liefert.
Jetzt wollte ich eine Statistik, wie lange die Zirkulationspumpe pro Tag läuft und noch eine wie lange die Speicherladepumpe pro Tag läuft.

Leider hat das Modul die Information zu beiden Pumpen in einem gemeinsamen Reading:
WW_Pumpentyp mit den Werten "Ladepumpe" oder "Zirkulationspumpe" oder "Ladepumpe, Zirkulationspumpe" oder "-"

Um die Stati für die beiden Pumpen aufzusplitten, habe ich mir 2 Userreadings angelegt:
userReading: Ladepumpe {LadePumpenState(ReadingsVal("heizg_BuderusKessel","WW_Pumpentyp","x"))},ZirkulationsPumpe {ZirkulationsPumpenState(ReadingsVal("heizg_BuderusKessel","WW_Pumpentyp","x"))}

Die Funktionen sind im 99_myUtils.pm uns wie folgt definiert:
sub
LadePumpenState
{
  my $in = shift;
  my $out = 'Aus';
 
  if (index($in, 'Ladepumpe') != -1) {
  $out = 'An';
  }
 
return ($out);
}

sub
ZirkulationsPumpenState
{
  my $in = shift;
  my $out = 'Aus';
 
  if (index($in, 'Zirkulationspumpe') != -1) {
  $out = 'An';
  }
 
return ($out);
}


Die beiden Userreadings sind zwar nicht schön, aber straight-forward und funktionieren wie geplant.  ;D
Die beiden Userreadings werden aktualisiert wenn sich WW_Pumpentyp ändert. Beide. Alles OK.

Ich hab das Quell-Reading sowie auch die beiden Userreadings als event-on-change-reading eingetragen: WW_Pumpentyp,ZirkulationsPumpe,LadePumpe

ABER: Nun habe ich ein Statistikmodul auf diese Userreadings losgelassen:

define heizg_BuderusKesselStat statistics heizg_BuderusKessel
attr heizg_BuderusKesselStat DbLogExclude .*
attr heizg_BuderusKesselStat dayChangeTime 23:59
attr heizg_BuderusKesselStat deltaReadings Brenner_Laufzeit1_Minuten
attr heizg_BuderusKesselStat durationReadings Ladepumpe,Zirkulationspumpe
attr heizg_BuderusKesselStat room ZZ.Server
attr heizg_BuderusKesselStat singularReadings heizg_BuderusKessel:Brenner_Laufzeit1_Minuten:Delta:(Hour|Day|Month|Year)|heizg_BuderusKessel:Ladepumpe:An:(Hour|Day|Month|Year)|heizg_BuderusKessel:Zirkulationspumpe:An:(Hour|Day|Month|Year)


Dies sollte imho eigentlich 2 Duration-Readings generieren für Ladepumpe UND Zirkulationspumpe.

Tut es aber nicht. In den Readings des Heizkessels taucht das DeltaReading auf
sowie das DurationReading für die Ladepumpe.
Das DurationReading für die Zirkulationspumpe fehlt.  (siehe Bild im Anhang)

Warum?

Ich habe mal die Definitionen der Heizung und der Statistik sowie die RAW-Dumps mit den aktuellen Readings-Werten mit als Text-Datei angehängt.

Ich bin mittlerweilen echt ratlos und somit für jeden Tip dankbar !
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

msome

Hallo, ich habe den Grund jetzt selbst gefunden. Zirkulationspumpe != ZirkulationsPumpe.
Bitte entschuldigt den Post - ich konnte den Fehler über viele Stunden hinweg nicht finden, ich hatte es lange vor dem Post versucht.

Sorry.
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen