Min.- Max. Temperaturen Gestern und Heute

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

Moderator: Co-Administratoren

Fmc
Beiträge: 67
Registriert: 05.01.2018, 15:19

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von Fmc » 29.06.2019, 15:11

alchy hat geschrieben:
29.06.2019, 12:03
Namen der Systemvariablen prüfen. Da sind mal Klammern und mal keine.

Akchy
Habe die Anleitung wie im Post 1 befolgt. Welche Systemvariablen meinst du ?
("Uhrzeit Außentemperatur (min) heute") Die Klammer um min ?

Blicke da nicht durch :x


NickHM hat geschrieben:
29.06.2019, 07:34
Hallo

da bleibt dann nur die schrittweise Analyse des Scriptes, wenn zumindest klar ist, dass es ausgeführt wird.

Was geht denn nicht?
Wird der zeitstempel des Programms bei Empfang aktualisiert?
Werden die SysVar gesetzt?
Funktioniert das Script nicht das alle 3 min läuft ? Oder das Rücksetzen um Mitternacht?
Es geht alles bis auf : Außentemperatur Max Gestern und Außentemperatur Min Gestern.


Vielen Dank für die Hilfe trotz der Temperaturen :shock:

NickHM
Beiträge: 3729
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 65 Mal
Danksagung erhalten: 119 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von NickHM » 29.06.2019, 16:18

Fmc hat geschrieben:
29.06.2019, 15:11

Es geht alles bis auf : Außentemperatur Max Gestern und Außentemperatur Min Gestern.
(das hättest Du vielleicht gleich schreiben können?)

Wie Alchy schon richtig bemerkte, haben die SysVar auf Deinem Screenshot in der WebUi keine Klammern und im Script haben die Namen Klammern. Der Name muss aber genau gleich lauten !!

Fmc
Beiträge: 67
Registriert: 05.01.2018, 15:19

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von Fmc » 30.06.2019, 12:38

NickHM hat geschrieben:
29.06.2019, 16:18
Fmc hat geschrieben:
29.06.2019, 15:11

Es geht alles bis auf : Außentemperatur Max Gestern und Außentemperatur Min Gestern.
(das hättest Du vielleicht gleich schreiben können?)

Wie Alchy schon richtig bemerkte, haben die SysVar auf Deinem Screenshot in der WebUi keine Klammern und im Script haben die Namen Klammern. Der Name muss aber genau gleich lauten !!
Da hast Du recht, dachte es wäre aus dem Bild ersichtlich.
Ich habe jetz das Skript angepasst. Es bleibt beim gleichen Fehler ... Tomatenaufdenaugen ?

Außentemperatur Min Gestern und Außentemperatur Max Gestern bleiben bei -59 bzw. 59 C

Code: Alles auswählen

var minheute= dom.GetObject("Außentemperatur Minimum");
var mingestern= dom.GetObject("Außentemperatur Min Gestern");
var maxheute= dom.GetObject("Außentemperatur Maximum");
var maxgestern= dom.GetObject("Außentemperatur Max Gestern");


mingestern.Variable(minheute.Value());
dom.GetObject("Uhrzeit Minimum").State(0);
maxgestern.Variable(maxheute.Value());
dom.GetObject("Uhrzeit Maximum").State(0);

EDIT:

Also, habe das Programm Min Max Reset jetzt mal per Hand gestartet.
Dann scheint es so zu laufen, wie es soll ...
manuell.JPG

altachiHM
Beiträge: 29
Registriert: 16.10.2017, 09:06

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von altachiHM » 01.07.2019, 22:23

Hallo,
ich wollte das auch haben, aber es funzt einfach nicht. Bitte was mach ich falsch? Die Namen der sv´s hab ich x-mal überprüft, die stimmen.
Vielen Dank!

Skript 1 für Außentemperatur Max-Min

Code: Alles auswählen

var source = dom.GetObject("$src$"); 
var maxTemp = dom.GetObject("Außentemperatur-Maximum"); 
object maxTempDate = dom.GetObject("Uhrzeit-Maximum"); 
object minTempDate = dom.GetObject("Uhrzeit-Minimum"); 
if (source) { if (source.Value() > maxTemp.Variable()) { maxTemp.Variable(source.Value());maxTempDate.Variable(system.Date("%H:%M ")) } } else { var wds = dom.GetObject("Außentemperatur-D"); 
var curTemp = wds.DPByHssDP("TEMPERATURE"); maxTemp.Variable(curTemp.Value()); } var source = dom.GetObject("$src$"); 
var minTemp = dom.GetObject("Außentemperatur-Minimum"); 
if (source) { if (source.Value() < minTemp.Variable()) { minTemp.Variable(source.Value());minTempDate.Variable(system.Date("%H:%M ")) } } else { var wds = dom.GetObject("Außentemperatur-D"); 
var curTemp = wds.DPByHssDP("TEMPERATURE"); 
minTemp.Variable(curTemp.Value()); }
Skript 2 für Außentemperatur Max-Min - ! Systemvariablen übernehmen

Code: Alles auswählen

var minheute= dom.GetObject("Uhrzeit-Minimum"); 
var mingestern= dom.GetObject("Uhrzeit-Min-Gestern"); 
var maxheute= dom.GetObject("Uhrzeit-Maximum"); 
var maxgestern= dom.GetObject("Uhrzeit-Max-Gestern"); 
mingestern.Variable(minheute.Value()); 
dom.GetObject("Uhrzeit-Miximum").State(0); 
maxgestern.Variable(maxheute.Value()); 
dom.GetObject("Uhrzeit-Maximum").State(0);
Zuletzt geändert von alchy am 02.07.2019, 19:16, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
Gruß, Wilfried

NickHM
Beiträge: 3729
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 65 Mal
Danksagung erhalten: 119 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von NickHM » 02.07.2019, 09:11

Hallo

Quellcode sollte man hier besser in Code Tags rein kopieren.

was ist

Code: Alles auswählen

("Außentemperatur-D"); 
Und auch an einigen anderen Stellen sind Unterschiede zu dem Script auf Seite 1
Warum benutzt Du nicht originale Script?

altachiHM
Beiträge: 29
Registriert: 16.10.2017, 09:06

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von altachiHM » 02.07.2019, 11:23

Danke für die Antwort. Eigentlich habe ich das originale Script von Seite 1 genommen, das erste das da stand.

Jetzt hab Ich das nochmal genau so rauskopiert und nur meine Namen der SV und des Temperatursensors eingegeben.
Leider funzt es nicht.

Sieht jetzt so aus:

Code: Alles auswählen

var source = dom.GetObject("$src$");
var maxTemp = dom.GetObject("AußentemperaturMaximum");
object maxTempDate = dom.GetObject("UhrzeitMaximum");
object minTempDate = dom.GetObject("UhrzeitMinimum");
if (source)
{
if (source.Value() > maxTemp.Variable())
{
maxTemp.Variable(source.Value());maxTempDate.Variable(system.Date("%H:%M "))
}
}
else
{
var wds = dom.GetObject("AussentemperaturD");
var curTemp = wds.DPByHssDP("TEMPERATURE");
maxTemp.Variable(curTemp.Value());
}
var source = dom.GetObject("$src$");
var minTemp = dom.GetObject("AußentemperaturMinimum");
if (source)
{
if (source.Value() < minTemp.Variable())
{
minTemp.Variable(source.Value());minTempDate.Variable(system.Date("%H:%M "))
}
}
else
{
var wds = dom.GetObject("AussentemperaturD");
var curTemp = wds.DPByHssDP("TEMPERATURE");
minTemp.Variable(curTemp.Value());
}
Zuletzt geändert von alchy am 02.07.2019, 19:17, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
Gruß, Wilfried

altachiHM
Beiträge: 29
Registriert: 16.10.2017, 09:06

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von altachiHM » 02.07.2019, 16:38

Jetzt habe ich den zweiten Vorschlag auf meine Situation umgearbeitet und siehe da, wes funktioniert.
Nur selber starten tut das Skript nicht. Bei manueller Auslösung läuft alles korrekt.
Ich habe das Programm schon zweimal neu angelegt, es startet einfach nicht, wenn sich die Temperatur verändert.

Skript:

Code: Alles auswählen

var curTemp = dom.GetObject("AussentemperaturD").DPByHssDP("TEMPERATURE").Value();
var maxTemp = dom.GetObject("AussentemperaturMaximum").Value();
var minTemp = dom.GetObject("AussentemperaturMinimum").Value();
var jetzt = system.Date("%H:%M");

if (curTemp > maxTemp)
{ dom.GetObject("AussentemperaturMaximum").State(curTemp);
  dom.GetObject("UhrzeitMaximum").State(jetzt);
}
if (curTemp < minTemp)
{ dom.GetObject("AussentemperaturMinimum").State(curTemp);
  dom.GetObject("UhrzeitMinimum").State(jetzt);
}
Bildschirmfoto 2019-07-02 um 16.36.36.png
Bildschirmfoto 2019-07-02 um 16.33.34.png
Zuletzt geändert von alchy am 02.07.2019, 19:17, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
Gruß, Wilfried

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 » 02.07.2019, 17:01

altachiHM hat geschrieben:
02.07.2019, 16:38
Ich habe das Programm schon zweimal neu angelegt, es startet einfach nicht, wenn sich die Temperatur verändert.
Das liegt daran, dass Du die Einsteigertipps bezüglich der Triggerung und Abarbeitung von Programmen nicht gelesen hast. Oder hat sich die Temperatur in der beobachteten Zeit von kleiner -30°C auf größer -30°C geändert? Ist eher nicht zu erwarten zu dieser Jahreszeit. Programme sollte man deshalb exakt so kopieren, wie sie vom Ersteller der Anleitung zur Verfügung gestellt werden. Dann klappt's auch mit dem Script.

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

Linnet998
Beiträge: 110
Registriert: 04.07.2018, 21:46
Danksagung erhalten: 2 Mal

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von Linnet998 » 02.07.2019, 20:39

Was xell dir sagen will ist...stell von auslösen bei Änderung auf auslösen bei Aktualisierung... bei Änderung triggert das Programm nur wenn es von kleiner zu "größer" als deine Zahl wird bei dir also z.b von -30 auf -29.9.°C... bei Aktualisierung, triggert er dein programm jedes mal wenn dein Sensor sein aktuellen Wert schickt solange diese Temperatur über -30°C ist... und das ist das was du willst!!!

altachiHM
Beiträge: 29
Registriert: 16.10.2017, 09:06

Re: Min.- Max. Temperaturen Gestern und Heute

Beitrag von altachiHM » 02.07.2019, 22:42

Vielen Dank! Ich habs schon gelesen, aber falsch in Erinnerung gehabt.
Gruß, Wilfried

Antworten

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