Min.- Max. Temperaturen Gestern und Heute

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Rico141
Beiträge: 16
Registriert: 27.12.2021, 22:45
System: CCU
Wohnort: Zossen
Danksagung erhalten: 1 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von Rico141 » 29.12.2021, 12:26

Okay dann schaue ich mir das alles noch mal von vorne an und werde SV und die Programme überarbeiten,
Sodas die SV in den Skripten übereinstimmen.

hoffe das es dann alles funktioniert.

Schon sehr unübersichtlich auf den über 20 Seiten.
Vielleicht kann ja mal einer das endgültig richtig hier rein setzen

Gruß Enrico

Xel66
Beiträge: 14085
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 580 Mal
Danksagung erhalten: 1492 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von Xel66 » 29.12.2021, 12:30

MichaelN hat geschrieben:
29.12.2021, 12:06
Wäre natürlich toll, wenn ein Admin mal den Eingangspost korrigieren würde.
Oder zumindest auf die Problematik hinweist. Auf den TE können wir eher nicht zählen, da dieser hier nur noch selten auftritt (letzte Aktivität: 23.04.2021, 16:42 Uhr).

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

dudule
Beiträge: 11
Registriert: 17.01.2022, 15:13
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von dudule » 25.01.2022, 06:37

Vorab muss ich gestehen, daß ich mit meinen über 70 Lenzen ein absoluter Newbie in Sachen Scriptprogrammierung bin...

Also:
Es ist nun schon über ein halbes Jahr vergangen als 1technone sein wie ich finde "geniales" Script zur Ermittlung der Min Max Daten hier
veröffentlicht hat. (An dieser Stelle nochmal ein Dankeschön an 1technone). Also hab ich beschlossen dieses Script auf meiner
Raspberrymatic (Asus Tinkerboard S, neuestes Image vom Januar 22) auszuprobieren...

Hier das Ergebnis von meinem Test:
Resultat_a.png
Resultat_a.png (11.43 KiB) 647 mal betrachtet
Ich soweit auch zufrieden bis auf die Tatsache, daß die Uhrzeit für die Max- und Min-Temperaturen vom Vortag nicht übernommen wurden....
und dies möchte ich gern ändern...

Hier noch einmal das Script von 1technone:

Code: Alles auswählen

var tAkt =  datapoints.Get("BidCos-RF.QEQ18xxxxx:1.TEMPERATURE").Value(); ! altuelle Temperatur
var zAkt =  system.Date("%H:%M Uhr");                                     ! aktuelle Zeit         
var tMax =  dom.GetObject("Max Temp Heute").Value();          ! Heutige Maximale Temperatur
var tMin =  dom.GetObject("Min Temp Heute").Value();          ! Heutige Minimale Temperatur
var tMit = (dom.GetObject("Mittelwert").Value())*1.00;        ! *1.00 um Kommastellen zu erhalten
object zMaH = dom.GetObject("Max Heute").Value();             ! Zeitpunk der MaxTempHeute
object zMiH = dom.GetObject("Min Heute").Value();             ! Zeitpunk der MinTempHeute
var tDif =  0.05; ! Bereich in dem "Tendenz = konstant =" angezeigt wird (Bei 0.05 = zwischen +0,05°C und -0,05°C Abweichung) 
var n    =  5.00; ! Wie schnell der Mittelwert sich dem Istwert annähert. >der Wert muss mind 02.00 sein, sinnvoll 5.00 - 10.00 
                  ! Bei 02.00= wird die Diff. pro Durchgang halbiert /Bei 10.00= wird die Diff. pro Durchgang um ein 1/10 kleiner)

! -- Aktuallisierungszeit, -----------------Zeitpunkt, wann zuletzt aktualisiert wurde
dom.GetObject("Aktualisiert").State(system.Date("%d.%m. - %H:%M Uhr"));

! -- Min/Max ,------------------------------Minimale/Maximale Temperatur wird ermittelt
if (tMax < tAkt)
 {
   dom.GetObject("Max Temp Heute").State(tAkt);                         ! (tAkt); 
   dom.GetObject("Max Heute").State(system.Date("%d.%m. - %H:%M Uhr"));      ! State(zMaH);
 }

 if ((tMin) > (tAkt))
 { 
   dom.GetObject("Min Temp Heute").State(tAkt);
   dom.GetObject("Min Heute").State(system.Date("%d.%m. - %H:%M Uhr"));      ! (zMiH); 
 }    

! -- Tendenz ,---------------------------Schwankungen werden gedämpft und dann die Richtung ermittelt
tMit = ((((n - 1) * (tMit)) + (tAkt)) / n);
dom.GetObject("Mittelwert").State(tMit);
if     ((tMit - tAkt) > tDif) {dom.GetObject("Tendenz").State("--  fällt   --");}
elseif ((tAkt - tMit) > tDif) {dom.GetObject("Tendenz").State("++  steigt  ++");}
else                          {dom.GetObject("Tendenz").State("=  konstant  =");}

! -- Ende des Programms -----------------

! - Ab hier kann alles gelöscht oder ausgeblendet werden, zum Testen benutzen - !!!
  WriteLine (("=====  Testausgabe:  ====  ")+(dom.GetObject("Aktualisiert")).Value());
  WriteLine (("Aktuelle Zeit = ")+(dom.GetObject("Aktualisiert")).Value()); ! (zAkt));
  WriteLine (("Aktuelle Temp = ")+(tAkt));
  WriteLine (("Maximale Temp = ")+(tMax));
  WriteLine (("Minimale Temp = ")+(tMin));
  WriteLine (("MaxUhrHeute   = ")+(zMaH));
  WriteLine (("MinUhrHeute   = ")+(zMiH)); 
  WriteLine (("   Differenz  = ")+(tMit-tAkt));   
  WriteLine (("    T-Mittel  = ")+(dom.GetObject("Mittelwert")).Value());
  WriteLine (("     Tendenz  = ")+(dom.GetObject("Tendenz")).Value());
  WriteLine (("KonstBereich  = ")+(tDif));
  WriteLine (("MittelwBildg  = ")+(n));
Wie erwartet funktioniert dieses Script auch einwandfrei.

Für den Reset der Min / Max Temperatur um 00:00h hat 1technone hier kein Script eingestellt - also ist DIY angesagt. Nun zieht sich
ein roter Faden durch dieses Forum - die kreierten Systemvariablen werden von einigen Usern nicht korrekt in den Scripten
übernommen. Um nicht auch an diesem "Fliegenfänger zu kleben" hab ich versucht peinlich darauf zu achten, daß mir diese Fehler
nicht auch passieren....was mir aber wohl nur teilweise gelungen ist (Min-Max Werte werden um 00:00h korrekt als Min-Max Werte vom
Vortag übernommen. Und nun bin ich am Suchen.

Hier mein "Min-Max Reset" Script:

Code: Alles auswählen

var tAkt =  datapoints.Get("BidCos-RF.QEQ18xxxx:1.TEMPERATURE").Value(); ! altuelle Temperatur
var tMax = dom.GetObject("Max Temp Heute").Value();
var tMin = dom.GetObject("Min Temp Heute").Value();

dom.GetObject("Max Temp Gestern").State(tMax);
dom.GetObject("Min Temp Gestern").State(tMin);
dom.GetObject("Max Temp Heute").State(tAkt);
dom.GetObject("Min Temp Heute").State(tAkt);
dom.GetObject("Max Heute").State("00:00 h");
dom.GetObject("Min Heute").State("00:00 h");
und das Programm was dieses Script aufruft:
Programm.png
Da ich nun schon ein paar Stunden über dieses Problem ohne Ergebnis am Grübeln bin, habe ich beschlossen hier im Form bei den
Script Profis um Hilfe zu bitten Ich klebe jetzt ja auch an der "Leimroute"...

Wäre wirklich nett wenn mir jemand helfen würde

Danke

gerd

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von MichaelN » 25.01.2022, 11:54

Findest Du in deinem Skript irgendwo den String "Max Gestern" oder "Min Gestern"?
Ich nicht. Also kann da auch nichts reingeschrieben werden.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

schlichi
Beiträge: 385
Registriert: 26.08.2016, 19:26
System: Alternative CCU (auf Basis OCCU)
Wohnort: Erding
Hat sich bedankt: 60 Mal
Danksagung erhalten: 26 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von schlichi » 25.01.2022, 14:27

Hallo,

ungetestet :roll:

Code: Alles auswählen

! GS
var tAkt =  datapoints.Get("BidCos-RF.QEQ18xxxx:1.TEMPERATURE").Value(); ! altuelle Temperatur
var tMax = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Max Temp Heute").Value();
var zMaG = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Max Temp Heute").Timestamp().Format("%H:%M"); ! ggf. mit Datumsformat ("%d.%m.%y %H:%M")
var tMin = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Min Temp Heute").Value();
var zMiG = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Min Temp Heute").Timestamp().Format("%H:%M"); ! ggf. mit Datumsformat ("%d.%m.%y %H:%M")	
!
!xxx umspeichern  heute >> gestern, einschl. Zeiten xxxxx
!
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Max Temp Gestern").State(tMax);
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Min Temp Gestern").State(tMin);
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Max Gestern").State(zMaG);
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Min Gestern").State(zMiG);
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Max Temp Heute").State(tAkt);
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Min Temp Heute").State(tAkt);
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Max Heute").State("00:01 h");
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Min Heute").State("00:01 h");
Gruß, Ü70

schlichi
... inzwischen autodidakter, fortgeschrittener Anfänger mit bestandener Einstiegsprüfung für den Expertenmodus Teil 3 (erfahrener Anwender) :roll:

dudule
Beiträge: 11
Registriert: 17.01.2022, 15:13
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von dudule » 26.01.2022, 01:01

@ MichaelN
Findest Du in deinem Skript irgendwo den String "Max Gestern" oder "Min Gestern"?
Ich nicht. Also kann da auch nichts reingeschrieben werden.
Danke, Deine Bemerkung hat's gebracht:
Resultat_b.png
Resultat_b.png (12.41 KiB) 565 mal betrachtet
Ich war gestern irgendwie hochgradig blind.

Auch ein Dank gebührt schlichi, aber es ist natürlich so, daß es immer besser ist wenn man zum Nachdenken "angeregt" wird. Wenn ich vorher
ein Script zumindest nicht ansatzweise verstanden habe tue ich mich mit copy & paste immer schwer. Zumal ich bei Deiner Antwort die
Variablen haette anpassen müssen - zMiG oder zMaG wäre in meiner verwendeten Lösung mit Sicherheit vom Scripreditor angemeckert
worden.

Also das Script funzt wie erwartet Dank MichaelN, der mir aufs Fahrrad geholfen hat.
Nu bewundert mal die Max Temperaturen in unserer Gegend :)

gerd

Rico141
Beiträge: 16
Registriert: 27.12.2021, 22:45
System: CCU
Wohnort: Zossen
Danksagung erhalten: 1 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von Rico141 » 14.02.2022, 12:16

Hallo

Hab mir mal die Homematic IP Smart Home Funk-Wettersensor basic HmIP-SWO-B zugelegt.

Leider habe ich festgestellten müssen das diese nicht Bedienbar ist.
Somit kann ich die nicht ins Programm bei dem Befehl DANN einfügen.

Hat da jemand eine Andere Lösung?
Dateianhänge
Screenshot_20220214_113814_com.android.chrome.jpg

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von MichaelN » 14.02.2022, 12:28

Was willst Du an einer Wetterstation bedienen? Ist ja keine Wetter-Mach-Station.
btw. dein Screenshot enthält so viel leeren Raum, das er praktisch nicht lesbar ist.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Rico141
Beiträge: 16
Registriert: 27.12.2021, 22:45
System: CCU
Wohnort: Zossen
Danksagung erhalten: 1 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von Rico141 » 14.02.2022, 12:40

Ich bekomme die Wetterstation nur in dem Befehl DANN einfügen wenn bei Bedienbar der Haken gesetzt ist.
Dateianhänge
Screenshot_20220214_113814_com.android.chrome_edit_484952771994229.jpg

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von MichaelN » 14.02.2022, 12:45

Du möchtest Systemvariablen anlegen mit KAnalzuordnung
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“