Funktion auslösen bei Änderung einer Systemvariablen

Betrieb der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Antworten
NoRisk
Beiträge: 66
Registriert: 19.03.2015, 17:11

Funktion auslösen bei Änderung einer Systemvariablen

Beitrag von NoRisk » 17.03.2022, 15:29

Guten Tag!

Habe leider trotz intensiver Nachforschungen im Forum keine Lösung finden können und hoffe daher auf Unterstützung durch die zahlreichen Experten.

In einem virtuellen Objekt findet man die Option "Ausführen bei Änderung".
Mit dieser Option ist es mir möglich beim Ändern einer in homeputer erzeugten Variablen eine Funktion auszulösen.
Wenn ich dasselbe jedoch bei Änderung einer von der CCU eingelesenen Systemvariablen versuche, erfolgt keine Reaktion.
Was mache ich falsch, bzw. auf welche Weise ist es möglich, in homeputer eine Funktion auszulösen sobald sich eine Systemvariable auf der CCU ändert?
Ich kann mir nur schwer vorstellen, dass man dafür eine periodische Makroausführung wählen muss, besonders deshalb, da diese Möglichkeit das System wesentlich stärker belastet.

Es ist mir schon bewusst, dass man CCU und homeputer möglichst nicht mischen soll und möchte daruber auch keine Grundsatzdiskussion auslösen.
Da es sich jedoch manchmal nur schwer vermeiden lässt, auf eine Systemvariable zurückzugreifen, freue ich mich auf Eure Rückmeldung und wünsche einen angenehmen Tag.

Vielen Dank
Gert

MichaelN
Beiträge: 9534
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 692 Mal
Danksagung erhalten: 1604 Mal

Re: Funktion auslösen bei Änderung einer Systemvariablen

Beitrag von MichaelN » 17.03.2022, 18:13

Ich sehe kein Programm...
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 +++

NoRisk
Beiträge: 66
Registriert: 19.03.2015, 17:11

Re: Funktion auslösen bei Änderung einer Systemvariablen

Beitrag von NoRisk » 17.03.2022, 19:04

Was meinst Du mit Programm?

Es geht um ein in homeputer angelegtes virtuelles Objekt in welchem eine Systemvariable aufgerufen wird und bei deren Änderung eine Funktion ausgelöst werden soll.

Beste Grüße
Gert

MichaelN
Beiträge: 9534
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 692 Mal
Danksagung erhalten: 1604 Mal

Re: Funktion auslösen bei Änderung einer Systemvariablen

Beitrag von MichaelN » 17.03.2022, 19:34

Falsches forum, sorry
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 +++

NickHM
Beiträge: 3723
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 64 Mal
Danksagung erhalten: 117 Mal

Re: Funktion auslösen bei Änderung einer Systemvariablen

Beitrag von NickHM » 19.03.2022, 08:39

Hallo

ich habe die Frage noch nicht so genau verstanden, weil alles sehr allgemein beschrieben ist.

Du benutzt eine SysVar der CCU um mit Homeputer Daten auszutauschen?

Da gibt es dann 2 Richtungen ...

Die SysVar wird in Homeputer mit einem Wert beschrieben und in der CCU WebUi soll ein Programm starten. Das sollte funktionieren.

Die SysVar ändert sich in der CCU WebUI und dann soll in Homeputer ein Makro starten. Das habe ich noch nie probiert :)
Ich nutze diese Richtung nur in Makros die aus anderen Gründen getriggert werden oder realisiere den kompletten Ablauf gleich in HomePuter.
Wenn das Makro welches starten soll in dem Objekt der SysVar in Homeputer liegt und "bei Aktualisierung" oder heißt es "bei Änderung" ? eingestellt ist (in dem Fall aber erst mal egal) , wird dann das Makro gestartet?

NoRisk
Beiträge: 66
Registriert: 19.03.2015, 17:11

Re: Funktion auslösen bei Änderung einer Systemvariablen

Beitrag von NoRisk » 19.03.2022, 10:53

Hallo NickHM,

ja. es geht um die zweite Variante.
Bei Änderung einer CCU-Variablen soll in homeputer eine Funktion ausgelöst werden.
Dafür ist mir bisher nur die Möglichkeit bekannt, diese Variable periodisch abzufragen.
Das kostet aber unnötige Systemressourcen.
Effizielter wäre, wenn homeputer die Änderung der Systemvariablen bei Auswahl der Option "Bei Änderung ausführen" erkennen würde.
Das funktioniert bei mir allerdings bisher nicht.

Beste Grüße
Gert
Zuletzt geändert von NoRisk am 20.03.2022, 14:31, insgesamt 1-mal geändert.

NickHM
Beiträge: 3723
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 64 Mal
Danksagung erhalten: 117 Mal

Re: Funktion auslösen bei Änderung einer Systemvariablen

Beitrag von NickHM » 19.03.2022, 13:01

Hallo

das funktioniert systembedingt nicht.
Werte von Geräten werden von der CCU aktiv an registrierte externe Anwendungen geschickt, wenn sich die Werte ändern.
Werte von Systemvariablen werden nicht aktiv verschickt, sondern müssen abgefragt werden. Das geht z.B. auch jeder Handy App so. Da ist dann ein Kompromiss zwischen Aktualität und Systemlast zu finden. Die meisten mir bekannten Anwendungen fragen alle 30sec ... 1min

Also musst Du das Makro so oft laufen lassen, wie es die Reaktionszeit erfordert. Ob das 10sec oder 120sec sind, kommt auf Deine Anwendung an.

Oder Du packst die gesamte Funktionalität in HomePuter oder komplett in die WebUi.

NoRisk
Beiträge: 66
Registriert: 19.03.2015, 17:11

Re: Funktion auslösen bei Änderung einer Systemvariablen

Beitrag von NoRisk » 19.03.2022, 14:39

Hallo NickHM,

Habe es befürchtet.
Vielen Dank für Deine Rückmeldung und die Hintergrundinformationen.

Beste Grüße
Gert

Antworten

Zurück zu „homeputer Studio / Standard: allgemeine Fragen“