Hallo,
Ich nutze einen ESP8266 mit Espeasy für meinen Stromzähler. Ich starte jede Nacht um 00:00 den ESP8266 neu. Ich habe jetzt das Problem das im Log ständig einträge mit "Illegal division by zero at (eval 888953) line 3." auftreten. Ich berechene mit einem Script die Leistung/Strom pro Tag / usw. Die Fehlermeldung ist ja richtig, da durch den Neustart noch die Zählimpulse bzw. Time 0 sind bis die Zählscheibe zum ersten mal vorbei kommt. Hat jemand eine Idee wie ich das ändern / unterdrücken kann?
Hier die Meldung aus dem Log
2017.09.04 00:02:06 1: ERROR evaluating my $SELF='StromverbrNoti';my $NAME='ESPEasy_EspEasy_Elektrozaehler';my $EVTPART3='0.00';my $EVTPART5='0.00';my $EVENT='Cou: 0.00 Tim: 0.00 Tot: 0.00';my $EVTPART0='Cou:';my $EVTPART4='Tot:';my $EVTPART2='Tim:';my $EVTPART1='0.00';my $TYPE='ESPEasy';{
my $StromUmlaufzeit = ReadingsVal("ESPEasy_EspEasy_Elektrozaehler","Time","0") / 1000;
my $StromProStd=3.6/$StromUmlaufzeit;;
my $StromVerbrauchAktuell=int((1000000 * $StromProStd + 0.5) / 75);
my $StromProTag = (ReadingsVal("ESPEasy_EspEasy_Elektrozaehler","Total","0") *1000) / 75;
my $Summe = ReadingsVal("Strom","Stromzaehler_jetzt","0") + ReadingsVal("Strom","Offset","0");
fhem("set Strom StromverbrauchTag $StromProTag");;
fhem("set Strom StromAktuell $StromVerbrauchAktuell");;
fhem("set StromZaehlerStand $Summe");;
}: Illegal division by zero at (eval 888953) line 3.
Hallo Antimaster,
Da helfen 2 mal if und my $.......=0 im notify
Ich hab das bei meinen Gaszähler so:
Kellersensor:time:.* {
my $GasUmlaufzeit = ReadingsVal("Kellersensor","time","0") / 1000;
my $count = ReadingsVal("Kellersensor","count","0");
my $GasProStd=0;
if ($GasUmlaufzeit > 0){
$GasProStd=36/$GasUmlaufzeit;
}
my $GasProStdRounded = 0;
if($count > 0){
$GasProStdRounded = int(100 * $GasProStd + 0.5) / 100;
}
my $GasProTag = ReadingsVal("Kellersensor","total","0");
my $Summe = ReadingsVal("Gas","zaehler_vortag","0") + ReadingsVal("Kellersensor","total","0");
fhem("set Gas zaehler_jetzt $Summe");;
fhem("set Gas GasverbrauchStd $GasProStdRounded");;
fhem("set Gas GasverbrauchTag $GasProTag");;
}