INSIDETecBaseWebUISkript-BibiliothekLowBat-Meldungen auslesen

LowBat-Meldungen auslesen

Machmal kann es sinnvoll sein, sich über bevorstehende Batteriewechsel informieren zu lassen. Da es derzeit nicht möglich ist, den genauen Batteriestatus (Kapazität) auszulesen, ist man auf die Auswertung des LowBat-Zustands beschränkt. Mögliche Reaktionen wären z. B. das Veschicken einer EMail oder einer SMS.

Um das Skript auszulösen, ist ein neues Programm zu schreiben, dass im "Wenn"-Abschnitt z. B. jeden Tag via Zeimodul aufgerufen wird. In der dazugehörigen "Dann"-Anweisung, ist der Typ "Skript" auszuwählen und folgender Quellcode einzugeben:

var myAssembly = dom.GetObject("Batterie betrieben");
string itemID;
string text = "";
integer counter = 0;

foreach(itemID, myAssembly.EnumUsedIDs())
{
    var item = dom.GetObject(itemID);
    var device = dom.GetObject(item.Device());
    var interface = dom.GetObject(item.Interface());

    string interface_name = interface.Name();
    string device_address = device.Address();
    device_address = device_address.StrValueByIndex(":", 0);

    string channel_name = interface_name # "." # device_address # ":0.LOWBAT";
    var channel = dom.GetObject(channel_name);

    if ( (channel.State() == true) && (channel.Value() == true) )
    {
        if ( counter == 0 )
        {
            text = item.Name();
        }
        else
        {
            text = text # ", " # item.Name();
        }
        counter = counter + 1;
    }
}


Zunächst werden in einer "foreach"-Schleife alle Geräte durchlaufen, die dem Gewerk "Batterie betrieben" zugeordnet sind. Diesem Gewerk müssen alle Geräte zugewiesen werden, die überprüft werden sollen. Der Name des Gewerks kann natürlich den eigenen Vorstellungen angepasst werden. Anschließend werden für jedes gefundene Gerät benötigte Informationen (Item, Device, Address, ...) ausgelesen. Über den Kanal-0 und dem Knotenpunkt ".LOWBAT" kann nun der entsprechende Status (Flag) ausgelesen werden. Die nun folgenden Anweisungen bauen einen Text-String zusammen, der pro Eintrag den Namen des LowBat- Kanditaten enthält. Die Variable "text" kann im Anschluss dazu benutzt werden, um z. B. eine EMail zu genieren oder über einen entsprechenden Service eine SMS zu verschicken.

Neue Kommentare:

  • Hallo zusammen, ich versuche seit Tagen verzweifelt, für die Einbindung von FS20 Komponenten an der Homematic Zentrale (1.505), den CUL-Stick (V3.3) von BUSWARE zu konfigurieren. Ich bin streng nach Anleitung aus dem Net... Weiter lesen
  • Hallo, ich habe nun den cux Daemon installiert und die Firmware des CUL geschrieben, bei Status wird folgendes angezeigt: ======================================== USB 1-2 - {CUX} CUL868 [COMM] - /dev/ttyACM0 - V 1.44 CUL... Weiter lesen
  • Hallo, ich habe bei mir den Dimmer HM-LC-Dim1TPBU-FM in Betrieb. Soweit funktioniert alles.Wie komme ich aber an die weiteren Känäle des Dimmers. Bei mir werden in den Geräteeinstellungen die Kanäle Ch:2 und Ch:3 nicht a... Weiter lesen
Kommentare