Änderung von Systemvariable sollte Skripte auslösen ...

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

dondaik
Beiträge: 12929
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1604 Mal
Danksagung erhalten: 222 Mal

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von dondaik » 11.04.2019, 23:13

mit eindeutigen vergleichen und der prüfung wann die ccu das "=" mitbenutzt
wenn nur 1,2,3,4,5 möglich
ist 4 zb größer 3 und kleiner 5
oder, sorry übersehen, :
nach dem - von xxx bis kleiner xxx
ist zb. dann 4 = von 3,5 bis kleiner 4,5
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

dondaik
Beiträge: 12929
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1604 Mal
Danksagung erhalten: 222 Mal

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von dondaik » 13.04.2019, 08:25

@Hawkeye72

wie ist den nun stand der dinge ?
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von Black » 13.04.2019, 08:35

Addon benutzen für gleich ungleich

Oder

Allgemein auf Aktualisierung triggern

Im Scripts dann vergleichen war es Änderung und welcher Wert.

Aber ohnebeidpiel vom To will ich mich nicht tiefer da reindenken
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Bullson
Beiträge: 140
Registriert: 10.11.2011, 10:53
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von Bullson » 10.07.2019, 15:45

Zugegeben lädt dieser Thread nicht zum Antworten ein?!
Ich häng mein Problem trotzdem mal hier an:
Ich hab den Pulsecounter von Eugen und möchte mich benachrichtigen lassen wenn wasser während meiner Abwesenheit läuft.
Suchbegriff Leckagekontrolle
Ich möcht mir also ein Programm erstellen das folgendes tut:
wasseruhr.JPG
Auf Menschdeutsch: die Variable 'w_counter_3' wird vom Pulsecounter eins hochgesetzt. Die Homematic merkt "Änderung" und benachrichtigt mich.
Leider tut das Luder es eben nicht.
Wenn ich von "auf Änderung auslösen" auf "Aktualisierung auslösen" umschalte, kommt die Nachricht im Minutentakt. Eben dem in welchem der Pulscounter sendet.
Und auf Änderung kommt gar nichts. Also auch nicht bei Erhöhung.
Wie lös ich das auf "Bei Erhöhung / Veränderung"?
Danke

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von Black » 10.07.2019, 15:58

bei änderung >=1 kommt auch nix, wenn er vorher schon >=1 war,

heisst:
änderung von 0 auf 1: Auslösung

änderung von 1 auf 2: keine aÂuslösung u.s.w

hier mal hinweis auf: Tips für Anfänger
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Bullson
Beiträge: 140
Registriert: 10.11.2011, 10:53
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von Bullson » 10.07.2019, 19:31

Hab jetzt die Tips für Anfänger mal wieder komplett durchgeschaut.
Finde dort aber keine Lösung für das Problem.
Hast du keinen Tipp wie ich das einfach realisieren kann? Also ohne lastvalue etc

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von dtp » 11.07.2019, 07:25

Du könntest auf Aktualisierung triggern und im nachfolgenden Skript die Differenz zwischen dem aktuellen (".Value()") und dem vorherigen Wert (".LastValue()") berechnen, so dass nur dann eine Auslösung erfolgt, wenn die Differenz einen bestimmten Wert erreicht bzw. übersteigt.

Auf Änderung auslösen bedeutet nun mal in der Rega-Sprache, dass der definierte Schwellwert durch die Änderung erreicht oder überschritten werden muss. Alles, was abseits von diesem Schwellwert passiert, ist unerheblich. Diese Logik hat durchaus auch was für sich. Man muss sie nur kennen. 8)
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Bullson
Beiträge: 140
Registriert: 10.11.2011, 10:53
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von Bullson » 11.07.2019, 08:56

Da bin ich grad dran.
Jedoch gibt mir das Skript hier schon keinen Wert aus:

Code: Alles auswählen

var Zaehler = dom.GetObject("w_counter_3").State(dom.GetObject("$src$").Value() - dom.GetObject("$src$").LastValue());
WriteLine("Zaehler=" #Zaehler );
WriteLine("Hallo Welt!");
Hallo Welt kommt nicht.
Und dann hätt ich mit meinen begrenzten Fähigkeiten auch Mühe daraus eine
if Last < Aktuell dann send eine Nachricht
zu machen.

Code: Alles auswählen

var Zaehler = dom.GetObject('w_counter_3').Value();
funktioniert.
Werde wohl in eine neue Sysvariable den alten Wert reinschreiben und dann prüfen ob dieser größer ist als der Alte.
Geht aber wohl auch nur mit einem Script...

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von dtp » 11.07.2019, 10:21

Versuch's mal so:

Code: Alles auswählen

var Zaehler = dom.GetObject(ID_SYSTEM_VARIABLES).Get("w_counter_3").Value() - dom.GetObject(ID_SYSTEM_VARIABLES).Get("w_counter_3").LastValue();
WriteLine("Zaehler = "#Zaehler);

if(Zaehler >= 1){WriteLine("Meldung");}
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Bullson
Beiträge: 140
Registriert: 10.11.2011, 10:53
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Änderung von Systemvariable sollte Skripte auslösen ...

Beitrag von Bullson » 11.07.2019, 12:08

Vielen Dank!!!
Das ist die Lösung.

Für alle interessierten: Es funktioniert aber auch:
w_counter_3 in zweite Sysvar einzuspeichen und bei jeder Aktualisierung zu prüfen ob der Wert, in meinem Fall, eins höher ist als der Alte.
Dann eben eine Dritte Variable auf WAHR schalten und sich davon benachrichtigen lassen.

DIESE Lösung von dtp ist aber VIEL einfacher.
Nochmals Danke für deine Zeit

Antworten

Zurück zu „HomeMatic allgemein“