[Modul][Archiv] NoTrigger - Überwachen von IPS-Variablen auf Aktualisierung oder Veränderung

Funktionsumfang

Überwachen von IPS-Variablen auf Aktualisierung oder Veränderung.
Grundidee war festzustellen ob bestimme (Status)Variablen nicht regelmäßig aktualisiert werden,
um dann entsprechend hierauf reagieren zu können.

Beispiele:
Homematic-Rauchmelder
Alle paar (5?) Tage senden diese ihren Status an die CCU/Lan-Adapter. Sollte ein Melder dies nicht mehr machen, sollte eine eMail versendet werden.

EM1000 / CUL
Alle 5 Minuten werden die Datensätze von den Geräten gesendet, sollte dies nicht mehr passieren, soll die I/O Instanz einmal geschlossen und neu geöffnet werden.

Daten von einem Gerät im Netzwerk per Push oder Poll
Alle 10 Sekunden kommen Daten von [beliebiges Netzwerkgerät] rein. Im Fehlerfall soll ein Script das Gerät per Telnet neu starten.

eMail-Abfrage
Alle 5 Minuten soll IPS eMails prüfen. Ändert sich der Zeitstempel der Variable ‚Last message‘ 15min lang nicht, wird eine Meldung auf dem Webfront ausgegeben.

1Wire / ModBus
Alle 10 Sek werden Werte gelesen. Ändern ein Sensor sich 60 Sekunden lang nicht, ist er entweder abgeklemmt oder defekt => Meldung per eMail.

Erinnerung Lüften
Einmal am Tag müssen drei Fenster zum Lüften geöffnet werden, nach 36h wird eine Meldung erzeugt das noch nicht gelüftet wurde.

etc…

Die Funktion besteht im wesentlichen darin festzustellen ob sich eine / mehrere Variable(n) ändert bzw. aktualisiert.
Sollte Dies nach Ablauf der konfigurierten Intervall-Zeit nicht erfolgen, wird ein eingestelltes Ziel-Skript gestartet bzw. eine Statusvariable gesetzt.

Über das vom Benutzer selber zu erzeugende Ziel-Skript können dann weitere Maßnahmen und Steuerungen erfolgen (WFC_Notification / eMail / Steckdose aus & einschalten etc.).

Enthaltende Instanzen

  • Variablenüberwachung (single)
    Überwachung einer einzigen Variable
  • Variablenüberwachung (group)
    Überwachung vieler Variablen, welche per Link unterhalb der Variablenüberwachung-Instanz angelegt werden müssen.
    Installation & Konfiguration
    Sind in der Dokumentation beschrieben.

Screenshots

Warum schon wieder ein Modul…
Da PHP-Scripte in IPS immer ein ‚Event‘ benötigen um ausgeführt zu werden, ist dieses Modul entstanden.
Eine Überwachung von Variablen auf nicht aktualisierung ist mit den vorhandenen Events ist zwar umsetzbar, aber mit relativ viel Aufwand verbunden und nicht so universell wie dieses Modul.
Außerdem ist es für Einsteiger kaum nachvollziebar wie einige dieser Scripte funktionieren oder wie sie konfiguriert / angepaßt werden müssen.
Und ein Script schreiben was per ScriptTimer jede Sekunde irgendwas überprüft, ist unnötiger Stress für IPS.

Im Gegensatz zu einem PHP-Script, ist es den Modules des SDK möglich auf jede Veränderung im System unmittelbar zu reagieren. So wird bei der Überwachung einer Gruppe von Variablen hier mit Links gearbeitet und auf das anlegen / ändern / löschen derselben unmittelbar reagiert. Ohne das hierfür ein Timer o.ä. verwendet werden muss.
Jede Instanz legt nur einen einzigen internen Timer an; welcher aber nur zum berechneten Alarm-Zeitpunkt ausgeführt werden soll. Dieser wird also nur im Störungs-/Alarmfall ausgeführt, und anschließend auch beendet wenn es nichts mehr zu überwachen gibt.

Somit sollte dieses Modul relativ einfach zu verwenden sein (Doku lesen hilft :slight_smile: ), ohne dass man sich um die diversen Kleinigkeiten einer Überwachung kümmern muß.

Michael

noTrigger.zip (405 KB)

Doku.pdf (83.3 KB)

Moin!

Lieder bekomme ich einen Zugriffsfehler wenn ich das Modul als neuen Instanz einfüge.
Ich habe Version 3.4 am laufen.
Was kann es sein?

Das ja doof.
Ich versuche das mal nachzustellen.
Welche Instanz denn, und wo fügst du sie ein?
Michael

Hi NallChan, hi alle,

ich habe dein Modul unter 3.4 bei mehreren Sockets genutzt, immer erfolgreich.

Jetzt habe ich auf 4.0 geupdated und es geht nicht mehr…klar , die dll fehlt :mad:
Da ich aber auf dem raspi arbeite bring mir auch die dll nichts.

Daher meine Frage :Gibt es eine anderen Möglichkeit die Funktion deines Moduls zu erreichen? Oder gibts ggfs. schon ein neues Modul für sowas?

Danke

Eine Portierung steht noch aus. Kommt auch nur für 4.1 und höher.
Für Sockets kannst du aber auch das EventControl von IPS nutzen.
Michael

So die erste Version für IPS 4.1 ist hier verfügbar:
[Modul] NoTrigger - Überwachen von IPS-Variablen auf Aktualisierung oder Veränderung.

Michael