Skript startet nicht bei Änderung Temperatur-/Luftfeuchte

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

mrburns
Beiträge: 89
Registriert: 03.06.2018, 19:49
Hat sich bedankt: 4 Mal

Skript startet nicht bei Änderung Temperatur-/Luftfeuchte

Beitrag von mrburns » 08.06.2018, 21:52

Hallo,

ich habe einen Temperatur-/Luftfeuchtesensor (HM-WDS40) mit meiner CCU2 gekoppelt und kann dessen Werte auch unter 'Geräte' auslesen.
Ich wollte jetzt mal ein Skript testen, das ausgeführt wird wenn sich Luftfeuchte und/oder Temperatur ändern.
Dazu habe ich erstmal eine SV 'debugText' erzeugt, die protokolliert wird.

Mein Skript sieht wie folgt aus:

Code: Alles auswählen

var sv_debugText = dom.GetObject("debugText");
sv_debugText.State("Test");
Hier mein CCU2-Programm:
Skript1.jpeg
Aber im Systemprotokoll taucht nichts auf. Auch wenn sich Temperatur und/oder Feuchtigkeit ändert wird nichts protokolliert. Wenn ich das Skript teste mit 'Skript testen', dann sehe ich 'Test' im Systemprotokoll.
Aus irgndwelchen Gründen wird mein Skript nicht gestartet wenn sich Temperatur und/oder Feuchtigkeit ändern.

Was verstehe/mache ich hier falsch?

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von Gluehwurm » 08.06.2018, 22:02

Hast Du die Bedeutung von "Änderung" verstanden ? Wann "ändert" sich die Bedingung ?

Gruß
Bruno

mrburns
Beiträge: 89
Registriert: 03.06.2018, 19:49
Hat sich bedankt: 4 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von mrburns » 08.06.2018, 22:10

Also ich verstehe das so:

wenn sich die Temperatur im Wertebereich von -40 bis +79 Grad befindet und ändert

oder

wenn sich die Luftfeuchte im Wertebereich von 0 bis 98 Prozent befindet und ändert

dann wird das Skript ausgeführt.


Aber das scheint nicht korrekt zu sein?


Nur zur Klärung, ich möchte dass das Skript bei jeder Änderung der Temperatur und/oder Luftfeuchte ausgeführt wird. Und nicht etwa wenn sich die Temperatur über 20 Grad ändert oder so.
Zuletzt geändert von mrburns am 08.06.2018, 22:12, insgesamt 1-mal geändert.

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von JRiemann » 08.06.2018, 22:12

Du hast dir Logik der CCU nicht richtig verstanden.
„Bei Änderung auskösen“ bezieht sich auf die Änderung des Wahrhaltsgehaltes der Bedingung. Sie muss von wahr zu falsch oder umgekehrt wechseln damit das Programm startet.
In Deinem Programm lautet die Bedingung: Luftfeuchte 0 bis kleiner 99%
Erst wenn dieser Bereich betreten oder verlassen wird löst das Programm aus und die Bedingungen werden ab der ersten Zeile im Programm geprüft. Wahr ist diese Befingung wenn die Feuchte zwischen 0 und 99 liegt.
Deine zweite Bedingung lautet: -40 bis +80. Hier müsste der Bereich zwischen -40 und +80 zuerst betreten oder verlassen werden damit der Durchlauf startet.
Mit Deinen gewählten Werten wird das Programm wohl so gut wie ausgelöst. Aber die Bedingungen sind fast immer erfüllt.

Diese Wahl der Werte lässt vermuten das Du bei jeder Temperaturmeldung (alle paar Minuten) die Variable befüllen möchtest. Um das zu erreichen muss „bei Aktualisierung auslösen“ gewählt werden. Hier wir bei jeder Statusmeldung des Sensors das Programm ausgelöst. Dies geschieht aber auch wenn sich die Werte nicht verändert haben.

Das manuelle auslösen/starten eines Programms führt immer dazu das ohne Rücksicht auf die Bedingungen das erste DANN im Programm ausgeführt wird.
Viele Grüße!
Jörg

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von Gluehwurm » 08.06.2018, 22:16

Das ist der Fehler im Verständnis :wink: ,
mrburns hat geschrieben:... Temperatur im Wertebereich von -40 bis +80 Grad ...
Das ist eine Bedingung. Solange die Temp. innerhalb dieser Bedingung bleibt kann sich zwar der Temp.wert ändern, die Bedingung ändert sich aber nicht. Eine "Änderung" im CCU-Sinn gibt es jeweils bei der Schwelle auf unter -40° und über +80° und umgekehrt. Bedingung erfüllt "ändert" sich auf Bedingung nicht erfüllt.

Gleiches gilt für die Feuchte.

mrburns
Beiträge: 89
Registriert: 03.06.2018, 19:49
Hat sich bedankt: 4 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von mrburns » 08.06.2018, 22:16

Hallo JRiemann und Gluehwurm,

danke für die ausführlichen Antworten - so was ähnliches hatte ich befürchtet :? .

@JRiemann:
Mit Deinen gewählten Werten wird das Programm wohl so gut wie ausgelöst. Aber die Bedingungen sind fast immer erfüllt.
Ich nehme mal an das sollte heißen:

Mit Deinen gewählten Werten wird das Programm wohl so gut wie NIE ausgelöst - oder?

Wie kann ich denn nun NUR bei Änderung der Temperatur/Luftfeuchte mein Skript ausführen lassen?
Ich will ja das Skript nicht starten wenn die Temperatur/Luftfeuchte vom Sensor gemeldet wird (und dann evtl. gleich den Werten der letzten Meldung ist) sondern eben NUR bei Änderung der Temperatur/Luftfeuchte.
Zuletzt geändert von mrburns am 08.06.2018, 22:27, insgesamt 1-mal geändert.

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von Gluehwurm » 08.06.2018, 22:27

Auf Aktualisierung, das Skript wird immer gestartet,
mrburns hat geschrieben:Ich will ja das Skript ja nicht starten wenn die Temperatur/Luftfeuchte vom Sensor gemeldet wird (und dann evtl. gleich den Werten der letzten Meldung ist)
allerdings müsste eine Prüfung innerhalb des Skripts erfolgen. Vergleich beider Werte und dann mach was, oder eben nicht.

Von 'Wieistdasumzusetzen' habe ich keine Ahnung, pardon. Jörg, alchy, ... können Dich beraten. :wink:

mrburns
Beiträge: 89
Registriert: 03.06.2018, 19:49
Hat sich bedankt: 4 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von mrburns » 08.06.2018, 22:33

Ok danke , hoffe einer der beiden meldet sich :) .

Hintergrund ist einfach, dass ich in Zukunft die Temperatur in mehreren Kühlschränken überwachen möchte.
Bei jeglicher Änderung nach oben oder nach unten möchte ich informiert werden. Aber eben nur dann.
Wenn es (jetzt mal rein hypothetisch) tausende Kühlschränke wären und ich 'Bei Aktualisierung' auswählen würde, dann würden ja tausende Kühlschränke ständig ihren Status melden und die CCU2 mit Informationen überfluten.
Wenn ich 'Bei Änderung' auswählen würde, dann würden sich nur die Külschränke melden, bei denen tatsächlich eine Änderung der Temperatur eingetreten ist.

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von JRiemann » 08.06.2018, 22:40

Wenn Du nur bei veränderten Werten allgemein auslösen willst um die reinen Änderungen zu protokollieren geht das so nicht.

Du kannst höchstens „bei Aktualisierung“ wählen und dann per Skript die Variable nur befüllen wenn sich der Wert wirklich geändert hat. Dazu müsste aber ein Skript-Profi helfen.

Aber welcher Sinn steckt hinter der Anforderung? Wenn wir wissen was Du genau umsetzen willst liegt die Lösung evtl. nahe.
Zwischenzeitlich kam die Beschreibung der Anforderung.
Viele Grüße!
Jörg

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Skript startet nicht bei Änderung Temperatur-/Luftfeucht

Beitrag von Gluehwurm » 08.06.2018, 22:40

mrburns hat geschrieben:... Temperatur in mehreren Kühlschränken überwachen ...
Das ginge aber auch per einfachem Zusammenklick-Progamm, die Kühlschrank-Temperatur bleibt ja ziemlich gleich.
mrburns hat geschrieben:... tausende Kühlschränke ...
Dann könntest Du Dir auch mehrere CCUen leisten bzw. musst das sogar bzw. hättest ganz andere "Probleme" ... :wink: :mrgreen:

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“