[gelöst] Berechnete Startzeit in ein Dummy eintragen

Begonnen von maci, 06 Juli 2020, 14:50:46

Vorheriges Thema - Nächstes Thema

maci

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.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

amenomade

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.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

maci

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
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

maci

Danke für die Erläuterungen.

Gleich probiert und funktioniert.  :)

Somit werde ich das Thema als gelöst markieren.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan