Problem mit einem Script

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
SyPower
Beiträge: 2
Registriert: 19.01.2020, 10:38

Problem mit einem Script

Beitrag von SyPower » 30.11.2021, 19:11

Hallo zusammen,

ich versuche mit einem Script einen separaten Temp. Mittelwert täglich aufzuaddieren insofern dieser unter 0 liegt.

Soweit funktioniert es jedoch nur wenn der negative Tagesmittelwert kleiner als -1 ist. Ein Wert von z.B. -0,6 wird nicht als kleiner 0 erkannt und nicht addiert. Anbei das kurze Script.

Code: Alles auswählen

var a = dom.GetObject("Kältesumme").Value();
var TMT = dom.GetObject("v_MT_-TagesmitteltemperaturWetterstation").Value();

if(dom.GetObject(system.Date("%d.%m")).Value()=="01.11"){
dom.GetObject("Kältesumme").State(0);
}
if(TMT.Value()<0){
a=a+(TMT*-1);
}

dom.GetObject("Kältesumme").State(a);
Bin für Hinweise dankbar (bitte beachten das ich hier relativ neu bin was die Programmierung betrifft Danke für die Nachsicht)
Zuletzt geändert von alchy am 01.12.2021, 19:13, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

MichaelN
Beiträge: 9679
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: Problem mit einem Script

Beitrag von MichaelN » 30.11.2021, 19:29

1. Code hier bitte immer in Code Tags posten
2. Systemvariablen würde ich aus Prinzip immer als Systemvariable ansprechen
3. Wahrscheinlich stolperst du über die Typumwandlung. Lass dir mal die Werte ausgeben, die du ausliest.
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 +++

Benutzeravatar
Baxxy
Beiträge: 10832
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 608 Mal
Danksagung erhalten: 2227 Mal

Re: Problem mit einem Script

Beitrag von Baxxy » 30.11.2021, 19:39

Ich hätte gerne mal eine Beispielzahl für...

Code: Alles auswählen

var a
und

Code: Alles auswählen

var TMT
... zum testen.

Grüße, Baxxy

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: Problem mit einem Script

Beitrag von Tyfys » 30.11.2021, 20:23

Ich meine diese Zeile

Code: Alles auswählen

if(dom.GetObject(system.Date("%d.%m")).Value()=="01.11"){
muss aber auch auf darauf geändert werden :

Code: Alles auswählen

if (system.Date("%d.%m")== "01.11"){
Ich mach also mal diesen Vorschlag:

Code: Alles auswählen

real a = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Kältesumme").Value();
real TMT = dom.GetObject(ID_SYSTEM_VARIABLES).Get("v_MT_-TagesmitteltemperaturWetterstation").Value();

if (system.Date("%d.%m") == "01.11")
{
    dom.GetObject("Kältesumme").State(0);
}

if (TMT < 0.0)
{
      a = a + TMT.Abs();
}

dom.GetObject(ID_SYSTEM_VARIABLES).Get("Kältesumme").State(a);
Gruß
Harry

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“