FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Teamdrachen am 18 Juli 2021, 20:46:19

Titel: Stateformat Subtraktion funktioniert nicht (mehr) -gelöst-
Beitrag von: Teamdrachen am 18 Juli 2021, 20:46:19
Servus.

irgendwie steh ich gerade vor einem Problem und komm nicht auf die Lösung.
Seit einiger Zeit funktioniert meine Stateformat Berechnung nicht mehr. Sie lief mal und ich weiß nicht genau seit wann es hakt... aber es hakt.

EV sollte normalerweise aus Generatorleistung - Einspeisung berechnet werden.
Generatorleistung wird richtig angezeigt.
Einspeisung wird richtig angezeigt.
Berechnung funktioniert jedoch nicht (mehr), es wird die Generatorleistung angezeigt.




{
my $state = ReadingsVal("SMA", "modulstate", "normal");
  return  "EV: " . (ReadingsNum("SMA","SPOT_PACTOT",0) - ReadingsNum("E_Meter","Saldo_Wirkleistung",0)). "W / G: " . ReadingsNum("SMA","SPOT_PACTOT",0) . "W / E: " . ReadingsNum($name,"state",0) . "W" if($state eq "normal");
  return  "Verbrauch: " . ReadingsNum($name,"Bezug_Wirkleistung",0) . "W   /   Zaehler: " . ReadingsNum($name,"Bezug_Wirkleistung_Zaehler",0) . "kWh"  if($state eq "sleep");
}



EDIT

Hat ich von selbst erledigt.
Da sucht man ein paar Stunden eine Lösung und kommt erst drauf wenn man den eigenen Beitrag sieht.
hab einfach umgestellt auf.
#{
my $state = ReadingsVal("SMA", "modulstate", "normal");
  return  "EV: " . (ReadingsNum("SMA","SPOT_PACTOT",0) - ReadingsNum($name,"state",0)). "W / G: " . ReadingsNum("SMA","SPOT_PACTOT",0) . "W / E: " . ReadingsNum($name,"state",0) . "W" if($state eq "normal");
  return  "Verbrauch: " . ReadingsNum($name,"Bezug_Wirkleistung",0) . "W   /   Zaehler: " . ReadingsNum($name,"Bezug_Wirkleistung_Zaehler",0) . "kWh"  if($state eq "sleep");
}


und es läuft wieder.
Wobei es mit dem oberen Code auch hätte laufen müssen.