Min.- Max. Temperaturen Gestern und Heute

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

Moderator: Co-Administratoren

2LeftHands
Beiträge: 16
Registriert: 11.05.2016, 21:43

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von 2LeftHands » 14.11.2016, 18:51

Ja habe ich ..... nur die Leerzeichen bei AT-Mxxxx habe ich in deinem Script berichtigt ... Schnelltippen :wink:

Code: Alles auswählen

START
Aussentemperatur-Balkon:1
AT-Maximum
AT-Minimum
3.300000
3.500000
3.300000
CUR MIN
AT-Minimum
Time-Min
Min-ENDE
AT-Maximum
AT-Minimum
ENDE
kommt nun raus
CCU2 -FW 2.21.10
--------------------------------------------
55 Kanäle in 15 Geräten und 65 CUxD-Kanäle in 10 CUxD-Geräten:
1x HM-WDS10-TH-O, 3x CUX28, 3x HM-ES-PMSw1-Pl, 1x HMIP-PSM, 7x CUX91, 1x HM-Sec-RHS, 2x HM-CC-RT-DN, 1x HM-CC-VG-1, 1x HM-PB-6-WM55, 1x HM-Sec-SC-2, 1x HM-TC-IT-WM-W-EU, 1x HM-PB-2-WM55-2, 2x HM-LC-Bl1PBU-FM
--------------------------------------------

BadenPower

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von BadenPower » 14.11.2016, 19:08

2LeftHands hat geschrieben:Ja habe ich ..... nur die Leerzeichen bei AT-Mxxxx habe ich in deinem Script berichtigt ... Schnelltippen :wink:
Nein, das war beabsichtigt und daher auch die Frage.
Denn wenn Du den Code so ausgeführt hättest, wie ich in Dir gepostet habe dann diese Ausgabe nicht sein hätte sein können.

In Deinem Skript, welches Du gepostet hast ist nämlich auch ein Leerzeichen enthalten aber im Screenhot steht in der Systemvariable eben kein Leerzeichen.

Und im letzten Skript, welches ich gepostet habe waren jeweils Versionen mit und ohne Leerzeichen drin um zu sehen, warum hier irgendetwas nicht so läuft, wie es eigentlich laufen müßte.

Eigeninitiative ist ja schön und gut, aber nicht wenn wir hier Skripte zum Testen kreieren und eine bestimmte Ausgabe erwarten um den Fehelr zu finden und diese dann nicht so ausgeführt werden, wie wir sie erstellt haben. :evil:
.

2LeftHands
Beiträge: 16
Registriert: 11.05.2016, 21:43

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von 2LeftHands » 14.11.2016, 19:16

Entschuldige bitte das war mir so nicht klar :cry:

Ich habe meinen Fehler in meinem Script korigiert und danach dein Script 1:1 ausgeführt.

START
Aussentemperatur-Balkon:1
AT-Maximum
AT-Minimum
2.700000
3.500000

ist das Ergebnis deines letzten Scriptes.

Wenn ich das Resetprogramm ohne Script laufen lasse bekomme ich Zeiten und Temperaturen - von Heute - ... dauert nur
AT-1.JPG

Danke für die Geduld und Hilfe
LG
Peter
CCU2 -FW 2.21.10
--------------------------------------------
55 Kanäle in 15 Geräten und 65 CUxD-Kanäle in 10 CUxD-Geräten:
1x HM-WDS10-TH-O, 3x CUX28, 3x HM-ES-PMSw1-Pl, 1x HMIP-PSM, 7x CUX91, 1x HM-Sec-RHS, 2x HM-CC-RT-DN, 1x HM-CC-VG-1, 1x HM-PB-6-WM55, 1x HM-Sec-SC-2, 1x HM-TC-IT-WM-W-EU, 1x HM-PB-2-WM55-2, 2x HM-LC-Bl1PBU-FM
--------------------------------------------

BadenPower

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von BadenPower » 14.11.2016, 20:14

2LeftHands hat geschrieben: START
Aussentemperatur-Balkon:1
AT-Maximum
AT-Minimum
2.700000
3.500000

ist das Ergebnis deines letzten Scriptes.
Jetzt bricht auch das Skript genau an der Stelle ab, an der es zu erwarten war.

Code: Alles auswählen

var minTemp = dom.GetObject("AT- Minimum").Value();
Nachdem Du das Leerzeichen an dieser Stelle im Namen entfernt hast, muß das Skript nun laufen und den Wert entsprechend setzen.

Auch das folgende Testskript müßte nun komplett durchlaufen und den Wert der Systemvariable korrekt setzen, wenn die Max- oder Min-Werte sich verändern.

Code: Alles auswählen

WriteLine("START");
WriteLine(dom.GetObject("Aussentemperatur-Balkon:1"));
WriteLine(dom.GetObject("AT-Maximum"));
WriteLine(dom.GetObject("AT-Minimum"));
var curTemp = dom.GetObject("Aussentemperatur-Balkon:1").DPByHssDP("TEMPERATURE").Value();
WriteLine(curTemp);
var maxTemp = dom.GetObject("AT-Maximum").Value();
WriteLine(maxTemp);
var minTemp = dom.GetObject("AT-Minimum").Value();
WriteLine(minTemp);
var jetzt = system.Date("%H:%M h");

if (curTemp > maxTemp)
{
  WriteLine("CUR MAX");
  WriteLine(dom.GetObject("AT-Maximum"));
  dom.GetObject("AT-Maximum").State(curTemp);  
  dom.GetObject("Time-Max").State(jetzt);
  WriteLine("Max-ENDE");   
}
if (curTemp < minTemp)
{
  WriteLine("CUR MIN");
  WriteLine(dom.GetObject("AT-Minimum"));
  dom.GetObject("AT-Minimum").State(curTemp);
  WriteLine(dom.GetObject("Time-Min"));
  dom.GetObject("Time-Min").State(jetzt);
  WriteLine("Min-ENDE");  
}

WriteLine(dom.GetObject("AT-Maximum").Value());
WriteLine(dom.GetObject("AT-Minimum").Value());
WriteLine("ENDE");

2LeftHands
Beiträge: 16
Registriert: 11.05.2016, 21:43

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von 2LeftHands » 14.11.2016, 20:18

Danke für deine Geduld :D

Das Ergebnis:

START
Aussentemperatur-Balkon:1
AT-Maximum
AT-Minimum
2.000000
2.300000
2.000000
2.300000
2.000000
ENDE

Ich frage mich nur, ob man die Daten aus der gleichen Quelle ziehen kann wie das Diagramm ?
Im Resetprogramm werden die Daten von Heute ja nach gestern geschoben, auf +-59 gesetzt und dann neu erfasst.

Du hast die Sysvar weiter oben angesprochen zwecks Stabilität ... wie kann ich das hier umsetzen?
CCU2 -FW 2.21.10
--------------------------------------------
55 Kanäle in 15 Geräten und 65 CUxD-Kanäle in 10 CUxD-Geräten:
1x HM-WDS10-TH-O, 3x CUX28, 3x HM-ES-PMSw1-Pl, 1x HMIP-PSM, 7x CUX91, 1x HM-Sec-RHS, 2x HM-CC-RT-DN, 1x HM-CC-VG-1, 1x HM-PB-6-WM55, 1x HM-Sec-SC-2, 1x HM-TC-IT-WM-W-EU, 1x HM-PB-2-WM55-2, 2x HM-LC-Bl1PBU-FM
--------------------------------------------

BadenPower

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von BadenPower » 14.11.2016, 20:26

2LeftHands hat geschrieben:Das Ergebnis:
Und wenn das Thermometer jetzt unter 2°C fällt, dann müßte der Min-Wert definitiv geändert werden.

Ob's heute Nacht noch wärmer wird, damit sich der Max-Wert anpasst, das mag ich bezweifeln.

.

2LeftHands
Beiträge: 16
Registriert: 11.05.2016, 21:43

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von 2LeftHands » 14.11.2016, 20:30

Ich hatte das Script testen Fenster noch auf

START
Aussentemperatur-Balkon:1
AT-Maximum
AT-Minimum
1.900000
2.300000
1.900000
CUR MIN
AT-Minimum
Time-Min
Min-ENDE
2.300000
1.900000
ENDE

Schaut anders aus :?:
CCU2 -FW 2.21.10
--------------------------------------------
55 Kanäle in 15 Geräten und 65 CUxD-Kanäle in 10 CUxD-Geräten:
1x HM-WDS10-TH-O, 3x CUX28, 3x HM-ES-PMSw1-Pl, 1x HMIP-PSM, 7x CUX91, 1x HM-Sec-RHS, 2x HM-CC-RT-DN, 1x HM-CC-VG-1, 1x HM-PB-6-WM55, 1x HM-Sec-SC-2, 1x HM-TC-IT-WM-W-EU, 1x HM-PB-2-WM55-2, 2x HM-LC-Bl1PBU-FM
--------------------------------------------

BadenPower

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von BadenPower » 14.11.2016, 22:28

Ich hab diesen Beitrag aus Versehen geändert, statt eines neuen zu erstellen.

.
Zuletzt geändert von BadenPower am 15.11.2016, 09:20, insgesamt 2-mal geändert.

2LeftHands
Beiträge: 16
Registriert: 11.05.2016, 21:43

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von 2LeftHands » 14.11.2016, 23:23

Ich habe gerade dein Testscript noch mal laufen lassen und die Passenden Bilder Zeitnah erstellt.
Die WriteLine()'s raus :roll: ... das muss ich noch umsetzen, war mir so nicht klar :idea:

Hier gehen tatsächlich die Temperaturen rauf und runter, ich sehe das an meiner alten Wetterstation.
Und nein der Fühler steht nicht in der Sonne sondern ist geschützt hinter dem Geländer - egal um die Zeit - wenn auch Südseite.
START
Aussentemperatur-Balkon:1
AT-Maximum
AT-Minimum
2.600000
2.700000
1.900000
2.700000
1.900000
ENDE
AT-1.JPG
Diagramm.JPG
Diagramm-2.JPG
CCU2 -FW 2.21.10
--------------------------------------------
55 Kanäle in 15 Geräten und 65 CUxD-Kanäle in 10 CUxD-Geräten:
1x HM-WDS10-TH-O, 3x CUX28, 3x HM-ES-PMSw1-Pl, 1x HMIP-PSM, 7x CUX91, 1x HM-Sec-RHS, 2x HM-CC-RT-DN, 1x HM-CC-VG-1, 1x HM-PB-6-WM55, 1x HM-Sec-SC-2, 1x HM-TC-IT-WM-W-EU, 1x HM-PB-2-WM55-2, 2x HM-LC-Bl1PBU-FM
--------------------------------------------

BadenPower

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von BadenPower » 15.11.2016, 09:20

BadenPower hat geschrieben:Allerdings gefällt mir die Zeile 7 bei der Ausgabe nicht, denn dort sollte 2.000000 stehen und nicht 1.900000. Denn wenn 1.90000 in Zeile 7 richtig ist, dann dürfte der IF-Block nicht abgearbeitet werden. :shock:
Das Phänomen hat sich im Schlaf auch aufgeklärt. Es war gestern halt schon zu spät.

Es werden in den IF-Abfragen real's miteinander verglichen und das muß ja schiefgehen bzw. nicht immer so enden, wie man es erwartet. 1.900000 ist halt nicht gleich 1.900000 es aknn auch einmal größer oder kleiner sein.

Um es perfekt zu machen mußte man die real's vor dem Vergelich mit 10 multiplizieren und in Integer umwandeln, um sie dann zu vergleichen.

Antworten

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