BatterieMonitor — ReadMe

ÜBERSICHT   —   FREISCHALTUNG  —   SCREENSHOTS



  1. Funk­tion­sum­fang
  2. Sys­te­man­forderun­gen
  3. Instal­la­tion
  4. Befehlsref­erenz

 

1. Funktionsumfang

Dieses Mod­ul liest alle Bat­terie-Vari­ablen von Aktoren aus, gibt die Infor­ma­tio­nen in einem Array zurück, stellt alle Bat­terie-Aktoren in ein­er Tabelle dar und erzeugt eine 2. Tabelle mit allen Aktoren die eine leere Bat­terie haben.


Aktuell unterstützte Hersteller:

  • EIB / KNX DPT 1 (z.B. Gira Rauch­melder *1)
  • EnO­cean
  • FS20 FHT
  • FS20 FMS
  • Home­Mat­ic (*2)
  • Home­Mat­ic-IP (*2)
  • MiFlo­ra
  • Netat­mo (Mod­ul von demel42)
  • Nuki
  • Philips Hue (Mod­ul von KaiS)
  • Philips Hue (Mod­ul von traxanos)
  • Xiamo (Mod­ul von MiniBlister)
  • Z‑Wave
  • Zigbee2MQTT (Mod­ul von KaiS)

Dieses Mod­ul kann nur Aktoren ver­ar­beit­en, dessen "Bat­terie-Vari­ablen" im IP-Sym­con vorhan­den sind.
*1: Bei EIB/KNX Instanzen wer­den diese nur dann vom Bat­terieMon­i­tor aus­gew­ertet, wenn der Vari­ablenname auf "LOWBAT" geän­dert wird! Der Ident darf nicht verän­dert wer­den — nur der Name!
*2: Bei Home­Mat­ic Aktoren ist es die Vari­able "LOWBAT". Bei manchen Home­Mat­ic Aktoren, muss die soge­nan­nte "Main­te­nance-Instanz" in IP-Sym­con hinzuge­fügt wer­den — diese Instanz kann ein­fach mit "AKTOR-SERIENNUMMER:0" angelegt werden.


Benachrichtigung:

Je nach­dem, ob eine Benachrich­ti­gung per EMail/Push/Skript gewün­scht ist, muss noch die entsprechende Instanz aus­gewählt und auf aktiv geset­zt wer­den (Hak­en set­zen). Eine Benachrich­ti­gung erfol­gt immer wenn eine leere Bat­terie erkan­nt wird. Wech­selt ihr eine Bat­terie nicht, dann werdet ihr im Update-Inter­vall jew­eils erneut benachrichtigt, bis die Bat­te­rien gewech­selt wur­den und das Sys­tem die neue Bat­terie erkan­nt hat.
Habt ihr die Live-Überwachung aktiviert, dann wird eine leere Bat­terie sofort bei Vari­ablenän­derung erkan­nt und gemeldet — und zusät­zlich bei jedem Timer-Intervall.
Möchtet ihr nur die (eine) Benachrich­ti­gung durch die Live-Überwachung, dann muss der Timer-Inter­vall auf "0" gestellt werden.
Zusät­zlich kön­nt ihr eine Boolean-Vari­able definieren und damit die Benachrich­ti­gun­gen steuern (Bool-Vari­able TRUE = Benachrich­ti­gung, FALSE = keine Benachrichtigung).
— Je Aktor mit leer­er Bat­terie wird eine Benachrich­ti­gung gesendet! Bei 3 leeren Aktoren sind das 3 Benachrichtigungen!

Ihr kön­nt auch ein eigenes Skript fes­tle­gen, welch­es zur Benachrich­ti­gung ver­wen­det wird. Dieses Skript wird bei Erken­nung eines Aktor mit leer­er Bat­terie aus­ge­führt. Hier kann man dann Benachrich­ti­gun­gen über Sonos, Enig­ma2-Nachricht, SMS, … ein­richt­en. Für eigene Aktio­nen ste­hen einem im aus­gewählten Skript die fol­gen­den Vari­ablen zur Verfügung:

$_IPS["BMON_Name"] (Name des Aktor)
$_IPS["BMON_ParentName1"] (Name des Par­ent-Objek­t1 vom Aktor)
$_IPS["BMON_ParentName2"] (Name des Par­ent-Objek­t2 vom Aktor)
$_IPS["BMON_ParentName3"] (Name des Par­ent-Objek­t3 vom Aktor)
$_IPS["BMON_Hersteller"] (Her­steller des Aktor)
$_IPS["BMON_ID"] (ID/Serial des Aktor)
$_IPS["BMON_Batterie"] (Bat­teriezu­s­tand OK/LEER)
$_IPS["BMON_Text"] (Der Benachrich­ti­gung­s­text inkl. "Über­set­zung" der Vari­ablen)
$_IPS["BMON_LetztesUpdateTS"] (Datum und Uhrzeit, wann die Bat­terie-Vari­able zulet­zt aktu­al­isiert wurde)
$_IPS["BMON_LetztesUpdateSEK"] (Sek. seit let­zter Aktu­al­isierung 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 Mel­dun­gen-Fen­ster in der IPS-Console)

// Für die bei­den fol­gen­den Zeilen ist mein Mod­ul "Enigma2BY" Voraus­set­zung
$Enigma2BYinstanzID = 12345; // InstanzID des Enig­ma2-Mod­ul ein­tra­gen
Enigma2BY_SendMsg($Enigma2BYinstanzID, $_IPS["BMON_Text"], 3, 10); // Zeigt 10 Sekun­den lang eine Alarm-Nachricht über einen Enig­ma2-Receiv­er an


In der Modul-Instanz könnt ihr folgende Einstellungen vornehmen:

  • Hin­ter­grund­farbe (Col­or-Pick­er)
  • Text­farbe (Col­or-Pick­er)
  • Text­farbe OK (Col­or-Pick­er)
  • Text­farbe LEER (Col­or-Pick­er)
  • Textgröße (Pix­el)
  • Bre­ite und Höhe der Tabellen (Pix­el oder %)
  • Tex­taus­rich­tung (links, zen­tri­ert, rechts)
  • Schrift-Stärke des Textes in den HTML-Tabellen
  • Namen der Aktoren ein/ausblenden
  • Namen von bis zu 3 über­ge­ord­neten Objek­ten (Par­ents) + Anzeige in HTML-Tabelle
  • Instanz-ID der Aktoren ein/ausblenden
  • Her­steller der Aktoren ein/ausblenden
  • Zeit­punkt des let­zten Update der Bat­terie-Vari­able ein/ausblenden
  • Live-Überwachung (Leere Bat­te­rien wer­den direkt bei ein­er Vari­ablenän­derung erkan­nt und gemeldet)
  • Aktu­al­isierungsin­ter­vall (std. 21600 Sek = 6 Std)
  • Benachrich­ti­gung­se­in­stel­lun­gen (Push-Nachricht, E‑Mail, Skript)
  • Benachrich­ti­gungsver­sand über Vari­able steuern (true=Benachrichtigung,false=keine Benachrichtigung)
  • Ignori­er-Liste (Aktoren/Instanzen mit Bat­terie-Vari­able ignorieren)

 

2. Systemanforderungen

  • IP-Sym­con ab Ver­sion 4.2

 

3. Installation

Über die Kern-Instanz "Mod­ule Con­trol" fol­gende URL hinzufügen:

https://GITLAB-BENUTZERNAME:GITLAB-PASSWORT@gitlab.com/BY-IPS-Module/BatterieMonitor.git
Die neue Instanz find­et ihr dort, wo ihr sie angelegt habt.

 

4. Befehlsreferenz

BMON_Update($InstanzID);
Liest alle Bat­terie-Vari­ablen aus und schreibt die Infor­ma­tio­nen zu den Bat­terie-Aktoren in 2 Vari­ablen (HTML­Box).

BMON_Alle_Auslesen($InstanzID);
Liest alle Bat­terie-Aktoren aus, gibt die Infor­ma­tio­nen in einem Array zurück und schreibt die Infor­ma­tio­nen in eine String-Vari­able (HTML­Box). Wenn keine Aktoren mit Bat­terie vorhan­den sind, wird "false" zurückgegeben.

BMON_Leere_Auslesen($InstanzID);
Liest alle Bat­terie-Aktoren mit leeren Bat­te­rien aus, gibt die Infor­ma­tio­nen in einem Array zurück und schreibt die Infor­ma­tio­nen in eine String-Vari­able (HTML­Box). Wenn keine Aktoren mit leeren Bat­terie vorhan­den sind, wird "false" zurückgegeben.