BatterieMonitor — ReadMe
ÜBERSICHT — FREISCHALTUNG — SCREENSHOTS
1. Funktionsumfang
Dieses Modul liest alle Batterie-Variablen von Aktoren aus, gibt die Informationen in einem Array zurück, stellt alle Batterie-Aktoren in einer Tabelle dar und erzeugt eine 2. Tabelle mit allen Aktoren die eine leere Batterie haben.
Aktuell unterstützte Hersteller:
- EIB / KNX DPT 1 (z.B. Gira Rauchmelder *1)
- EnOcean
- FS20 FHT
- FS20 FMS
- HomeMatic (*2)
- HomeMatic-IP (*2)
- MiFlora
- Netatmo (Modul von demel42)
- Nuki
- Philips Hue (Modul von KaiS)
- Philips Hue (Modul von traxanos)
- Xiamo (Modul von MiniBlister)
- Z‑Wave
- Zigbee2MQTT (Modul von KaiS)
Dieses Modul kann nur Aktoren verarbeiten, dessen "Batterie-Variablen" im IP-Symcon vorhanden sind.
*1: Bei EIB/KNX Instanzen werden diese nur dann vom BatterieMonitor ausgewertet, wenn der Variablenname auf "LOWBAT" geändert wird! Der Ident darf nicht verändert werden — nur der Name!
*2: Bei HomeMatic Aktoren ist es die Variable "LOWBAT". Bei manchen HomeMatic Aktoren, muss die sogenannte "Maintenance-Instanz" in IP-Symcon hinzugefügt werden — diese Instanz kann einfach mit "AKTOR-SERIENNUMMER:0" angelegt werden.
Benachrichtigung:
Je nachdem, ob eine Benachrichtigung per EMail/Push/Skript gewünscht ist, muss noch die entsprechende Instanz ausgewählt und auf aktiv
gesetzt werden (Haken setzen). Eine Benachrichtigung erfolgt immer wenn eine leere Batterie erkannt wird. Wechselt ihr eine Batterie nicht,
dann werdet ihr im Update-Intervall jeweils erneut benachrichtigt, bis die Batterien gewechselt wurden und das System die neue Batterie
erkannt hat.
Habt ihr die Live-Überwachung aktiviert, dann wird eine leere Batterie sofort bei Variablenänderung erkannt und gemeldet — und zusätzlich bei jedem Timer-Intervall.
Möchtet ihr nur die (eine) Benachrichtigung durch die Live-Überwachung, dann muss der Timer-Intervall auf "0" gestellt werden.
Zusätzlich könnt ihr eine Boolean-Variable definieren und damit die Benachrichtigungen steuern (Bool-Variable TRUE = Benachrichtigung, FALSE = keine Benachrichtigung).
— Je Aktor mit leerer Batterie wird eine Benachrichtigung gesendet! Bei 3 leeren Aktoren sind das 3 Benachrichtigungen!
$_IPS["BMON_Name"] (Name des Aktor)
$_IPS["BMON_ParentName1"] (Name des Parent-Objekt1 vom Aktor)
$_IPS["BMON_ParentName2"] (Name des Parent-Objekt2 vom Aktor)
$_IPS["BMON_ParentName3"] (Name des Parent-Objekt3 vom Aktor)
$_IPS["BMON_Hersteller"] (Hersteller des Aktor)
$_IPS["BMON_ID"] (ID/Serial des Aktor)
$_IPS["BMON_Batterie"] (Batteriezustand OK/LEER)
$_IPS["BMON_Text"] (Der Benachrichtigungstext inkl. "Übersetzung" der Variablen)
$_IPS["BMON_LetztesUpdateTS"] (Datum und Uhrzeit, wann die Batterie-Variable zuletzt aktualisiert wurde)
$_IPS["BMON_LetztesUpdateSEK"] (Sek. seit letzter Aktualisierung der Batterie-Variable)
Beispiel-Skript für eigene Aktion:
<?php
IPS_LogMessage("BatterieMonitor", $_IPS["BMON_Text"]); // Schreibt den Text ins IPS-Log (zu sehen im Meldungen-Fenster in der IPS-Console)
// Für die beiden folgenden Zeilen ist mein Modul "Enigma2BY" Voraussetzung
$Enigma2BYinstanzID = 12345; // InstanzID des Enigma2-Modul eintragen
Enigma2BY_SendMsg($Enigma2BYinstanzID, $_IPS["BMON_Text"], 3, 10); // Zeigt 10 Sekunden lang eine Alarm-Nachricht über einen Enigma2-Receiver an
In der Modul-Instanz könnt ihr folgende Einstellungen vornehmen:
- Hintergrundfarbe (Color-Picker)
- Textfarbe (Color-Picker)
- Textfarbe OK (Color-Picker)
- Textfarbe LEER (Color-Picker)
- Textgröße (Pixel)
- Breite und Höhe der Tabellen (Pixel oder %)
- Textausrichtung (links, zentriert, rechts)
- Schrift-Stärke des Textes in den HTML-Tabellen
- Namen der Aktoren ein/ausblenden
- Namen von bis zu 3 übergeordneten Objekten (Parents) + Anzeige in HTML-Tabelle
- Instanz-ID der Aktoren ein/ausblenden
- Hersteller der Aktoren ein/ausblenden
- Zeitpunkt des letzten Update der Batterie-Variable ein/ausblenden
- Live-Überwachung (Leere Batterien werden direkt bei einer Variablenänderung erkannt und gemeldet)
- Aktualisierungsintervall (std. 21600 Sek = 6 Std)
- Benachrichtigungseinstellungen (Push-Nachricht, E‑Mail, Skript)
- Benachrichtigungsversand über Variable steuern (true=Benachrichtigung,false=keine Benachrichtigung)
- Ignorier-Liste (Aktoren/Instanzen mit Batterie-Variable ignorieren)
2. Systemanforderungen
- IP-Symcon ab Version 4.2
3. Installation
Über die Kern-Instanz "Module Control" folgende URL hinzufügen:
https://GITLAB-BENUTZERNAME:GITLAB-PASSWORT@gitlab.com/BY-IPS-Module/BatterieMonitor.git
Die neue Instanz findet ihr dort, wo ihr sie angelegt habt.
4. Befehlsreferenz
BMON_Update($InstanzID);
Liest alle Batterie-Variablen aus und schreibt die Informationen zu den Batterie-Aktoren in 2 Variablen (HTMLBox).
BMON_Alle_Auslesen($InstanzID);
Liest alle Batterie-Aktoren aus, gibt die Informationen in einem Array zurück und schreibt die Informationen in eine String-Variable (HTMLBox). Wenn keine Aktoren mit Batterie vorhanden sind, wird "false" zurückgegeben.
BMON_Leere_Auslesen($InstanzID);
Liest alle Batterie-Aktoren mit leeren Batterien aus, gibt die Informationen in einem Array zurück und schreibt die Informationen in eine String-Variable (HTMLBox). Wenn keine Aktoren mit leeren Batterie vorhanden sind, wird "false" zurückgegeben.