Ho ho ho
Unser täglich Geschenk gib uns heute
Heute in Gestalt vom >> BatterieMonitor
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:
- FHT
- FS20 HMS
- HomeMatic
- Z-Wave
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. Außerdem könnt ihr eine Boolean-Variable
definieren und damit die Benachrichtigungen steuern (Bool-Variable TRUE = Benachrichtigung, FALSE = keine Benachrichtigung).
- Pro Aktor mit leerer Batterie wird eine Benachrichtigung gesendet! Bei 3 leeren Aktoren sind das 3 Benachrichtigungen!
Ihr könnt auch ein eigenes Skript festlegen, welches zur Benachrichtigung verwendet wird. Dieses Skript wird bei Erkennung eines Aktor mit
leerer Batterie ausgeführt. Hier kann man dann Benachrichtigungen über Sonos, Enigma2-Nachricht, SMS, … einrichten.
Für eigene Aktionen stehen einem im ausgewählten Skript die folgenden Variablen zur Verfügung:
$_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:
<?
$Enigma2BYinstanzID = 12345; // InstanzID des Enigma2-Modul eintragen
IPS_LogMessage("BatterieMonitor", $_IPS["BMON_Text"]); // Schreibt den Text ins IPS-Log (zu sehen im Meldungen-Fenster in der IPS-Console)
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 (HEX Farbcode)
- Textfarbe (HEX Farbcode)
- Textfarbe OK (HEX Farbcode)
- Textfarbe LEER (HEX Farbcode)
- Textgröße
- Textausrichtung (links,zentriert,rechts)
- Namen von bis zu 3 übergeordneten Objekten (Parents) + Anzeige in HTML-Tabelle
- Aktualisierungsintervall (std. 21600 Sek = 6 Std)
- Benachrichtigungseinstellungen (Push-Nachricht, EMail, Skript)
- Benachrichtigungsversand über Variable steuern (true=Benachrichtigung,false=keine Benachrichtigung) - z.B. IPS-Location-Variable „Ist es Tag“
Wo finde ich weitere Informationen über das Modul?
Wie installiere ich das Modul?
Updates und neue Module gibt es nur noch hier >> https://bayaro.lima-city.de
Zur Visualisierung kann man einfach die Instanz(en) ins WebFront verlinken. Oder selbst etwas anderes bauen
>> Als Name für den Aktor wird der IPS-Name der Instanz vom Aktor genommen! Und weil es mein Test-IPS ist, haben die bei mir aktuell keine Namen, also nicht wundern
Wenn ich noch weitere Hersteller einbauen soll, dann brauche ich die IPS-Modul-ID vom Hersteller und noch den Ident der Variable in der mit true/false steht, ob die Batterie vom Aktor leer oder Ok ist!
InstanzID kann mit diesem Skript ermittelt werden - Ergebnis davon und Variablen-Ident an mich senden:
<?
$InstanzIDvomAktor = 12345; // Hier die InstanzID vom Aktor eintragen
$result = IPS_GetInstance($InstanzIDvomAktor);
print_r($result)
?>
Changelog
[b]Version 1.0:
- Erster Release
Version 1.1:
- NEU # Textausrichtung in den HTML-Tabellen kann eingestellt werden (links,zentriert,rechts)
- NEU # Benachrichtigung, wenn Aktoren mit leeren Batterien erkannt wurden (Push-Nachricht, EMail, Skript)
- NEU # Weitere Daten vom Aktor (Hersteller, ID, Letztes Variablen-Update Timestamp, Zeit in Sekunden seit letztem Variablen-Update)
- FIX # Doppelte Aktoren-Einträge werden aus Array/HTML-Tabelle entfernt (der 1. gefundene Eintrag wird behalten)
Version 1.2:
- NEU # Sortierung von Array und HTML-Tabellen einstellbar (nach Name, Parent-Name [wenn aktiv], Hersteller, ID, …)
- NEU # Test-Benachrichtigung (mit fiktiven Daten, aber eigenem Text) kann aus der Instanz gesendet werden
Version 1.3:
- NEU # Benachrichtigungsversand über Variable steuern (wenn Variable TRUE, dann Benachrichtigungen senden, wenn FALSE, dann nicht)
- NEU # Bis zu 3 Namen von Parent-Objekten können ausgelesen werden (z.B. Etage, Raum und Gebäude) und sind dann in Array und
den HTML-Tabellen verfügbar. Maximal kann man 9 Ebenen nach oben gehen, zum Auslesen der Namen.[/b]
Grüße,
Chris