Hallo!
Ich habe mir eine at Definition gemacht, die um 05:00 Uhr läuft.
Es wird in dem Script mehr berechnet zur Steuerung meine Pool Pumpe.
Nun möchte ich noch die Startzeit der im Verhältnis zur Gesamtlaufzeit anpassen.
Bisher habe ich die Startzeit per Hand in ein Dummy eingetragen über setList.
Ich möchte das aber auch automatisieren.
Die Steuerung der Pumpe erfolgt über ein DOIF.
Ich habe nun mein at Definition über ein paar Abfragen erweitert.
Doch das funktioniert alles nicht. Wenn ich jedoch meine Zeitberechnung direkt in Fhem eingebe wird die korrekte Zeit angezeigt.
Hier die relevanten Ausschnitte aus meinem at Script:
*05:00 {
....
if ( ( $gesamtlaufzeit <= 12) ) { $laufbeginn = (strftime "%H:%M", localtime(time+3600*3)) };
if ( ( $gesamtlaufzeit <= 11) ) { $laufbeginn = (strftime "%H:%M", localtime(time+3600*3.5)) };
if ( ( $gesamtlaufzeit <= 10) ) { $laufbeginn = (strftime "%H:%M", localtime(time+3600*4)) };
if ( ( $gesamtlaufzeit <= 8) ) { $laufbeginn = (strftime "%H:%M", localtime(time+3600*4.5)) };
if ( ( $gesamtlaufzeit <= 7) ) { $laufbeginn = (strftime "%H:%M", localtime(time+3600*5)) };
fhem("setreading PoolPumpeLaufZeit Gesamtlaufzeit $gesamtlaufzeit");
fhem("setreading PoolPumpeLaufZeit Laufzeitbeginn $laufbeginn");
fhem("setreading Filterpumpe_Laufzeitbeginn $laufbeginn");
}
Die Variable $gesamtlaufzeit wird korrekt ermittelt in dem Code davor. Dieser teil läuft auch schon seit fast 2 Jahren.
Die Variable $laufbeginn wird ganz am Beginn des scripts definiert.
Die Definition PoolPumpeLaufZeit ist das at selbst.
die Definition Filterpumpe_Laufzeitbeginn ist das Dummy das ich derzeit über setList einstelle.
Es kommt keine Fehlermeldung. Die Ausgabe ist einfach 0.
Was läuft hier falsch?
Ersuche um Hilfe.
Beim letzten setreading fehlt ein Readingsname
Die andere sollten funktionieren. Was sagt die Log?
Du kannst auch vor den setreadings ein Log3 Eintrag einbauen, um die Werte noch zu prüfen.
Den Readingsname habe ich nachgetragen.
Habe das ganze jetzt mal testweise auf meinem Testsystem probiert.
Hier läuft das ganze.
Eine Frage noch: wie kann ich vor den setreadings ein Log3 einbauen?
Habe das noch nie gemacht. Wo sehe ich dann die Werte?
Ich kenne nur der attr verbose, allerdings für die ganze Definition
Genauso wie die fhem-Aurufe:
Log3(undef, 1, "Hier ein wenig Text und die Variable TestVar hat den Wert: $TestVar weitere Variablen wie TestVar2: $TestVar2 usw.")
Zu finden dann im fhem-Log...
Gruß, Joachim
Danke für die Erläuterungen.
Gleich probiert und funktioniert. :)
Somit werde ich das Thema als gelöst markieren.