Batterieprüfung
Moderator: Co-Administratoren
-
- Beiträge: 280
- Registriert: 16.05.2018, 22:54
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 5 Mal
Re: Batterieprüfung
Hallo Bratmaxe,
das Skript läuft zwar durch allerdings werden die leeren Batterien nicht vom Skript erfasst.
Im Systemprotokoll steht "Batterie leer"
Gruß
Michael
das Skript läuft zwar durch allerdings werden die leeren Batterien nicht vom Skript erfasst.
Im Systemprotokoll steht "Batterie leer"
Gruß
Michael
Re: Batterieprüfung
Hallo,
wie verändere ich den Code, wenn ich die Nachricht an eine andere Mailadresse verschicke? Ich nutze kein Outlook oder Thunderbird. Danke
wie verändere ich den Code, wenn ich die Nachricht an eine andere Mailadresse verschicke? Ich nutze kein Outlook oder Thunderbird. Danke
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Batterieprüfung
Auch hier gilt dieselbe Antwort wie in deinem anderen Post.
Die Einstellungen der Mailadresse bewerkstelligst du im EmailAddon
Alchy
Die Einstellungen der Mailadresse bewerkstelligst du im EmailAddon
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 1573
- Registriert: 28.05.2015, 12:48
- Wohnort: Willich
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 10 Mal
Re: Batterieprüfung
Okay hat so nicht geklappt, aber so:
Code: Alles auswählen
! Email mit Ergebnis des Batteriechecks
!
! In die Systemvariable Batt_Mldg (TEXT) wird eben-
! falls der Mailtext kopiert.
! Kann natuerlich entfallen ....
!---------------------------------------------------
!
! Achtung: Besser CuXD System.exec verwenden!!!
!---------------------------------------------------
var myAssembly = dom.GetObject("Batterie");
string itemID;
string text = "";
string s_subj ="Batteriemeldung";
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);
boolean condition = false;
if (device.HssType().Find("HM-CC-RT-DN")>=0)
{
string channel_name = interface_name # "." # device_address # ":4.FAULT_REPORTING";
var channel = dom.GetObject(channel_name);
if ( (channel.State() == 6) ){ condition = true; }
else{ condition = false; }
}
else
{
string channel_name = interface_name # "." # device_address # ":0.LOWBAT";
var channel = dom.GetObject(channel_name);
! Datenpunkt der klassischen Hm Geräte konnte nicht gefunden werden, verusche HmIP Datenpunkt abzurufen
if (!channel)
{
channel_name = interface_name # "." # device_address # ":0.LOW_BAT";
channel = dom.GetObject(channel_name);
}
!Wenn channel nicht gefunden wurde, auch nicht versuchen darauf zuzugreifen
if ((channel.State() == true) && (channel.Value() == true)) { condition = true; }
}
if (condition == true) {
text = text # "- " # item.Name() # ": Bitte austauschen!\r\n";
counter = counter + 1;
}
else
{
text = text # "- " # item.Name() # ": OK!\r\n";
}
}
if ( counter > 0 ) {
string MailText;
string sDate = system.Date("%d.%m.%Y");
MailText = "Pruefung des Ladestandes der Batterien vom " # sDate # ".\r\n";
MailText = MailText # "Der Ladezustand einer oder mehrerer Batterien ist niedrig: \r\n\r\n" # text;
MailText = MailText # "\r\nBitte tauschen Sie die Batterien zeitnah aus.";
dom.GetObject("Batt_Mldg").State(MailText);
dom.GetObject("Batt_Mldg_Pushover").State(MailText);
}
else
{
string MailText;
string sDate = system.Date("%d.%m.%Y");
MailText = "Pruefung des Ladestandes der Batterien vom " # sDate # ".\r\n";
MailText = MailText # "Der Ladezustand aller Batterien ist gut: \r\n\r\n" # text;
dom.GetObject("Batt_Mldg").State(MailText);
dom.GetObject("Batt_Mldg_Pushover").State(MailText);
}
Gruß Carsten
-
- Beiträge: 280
- Registriert: 16.05.2018, 22:54
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 5 Mal
Re: Batterieprüfung
Hallo Bratmaxe,
ich habe Dein Skript für die Batterieprüfung im Einsatz.
Ich habe mir letztens zwei HmIP-SMI Bewegungsmelder zugelegt, bei beiden waren in den letzten Tagen die Batterien leer. Das Skript hat dies leider nicht erkannt. Eigentlich sollte das Skript die Meldungen erkennen oder?
Gruß
Michael
ich habe Dein Skript für die Batterieprüfung im Einsatz.
Code: Alles auswählen
! Email mit Ergebnis des Batteriechecks
!
! In die Systemvariable Batt_Mldg (TEXT) wird eben-
! falls der Mailtext kopiert.
! Kann natuerlich entfallen ....
!---------------------------------------------------
!
! Achtung: Besser CuXD System.exec verwenden!!!
!---------------------------------------------------
var myAssembly = dom.GetObject("Batterie");
string itemID;
string text = "";
string s_subj ="Batteriemeldung";
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);
boolean condition = false;
if (device.HssType().Find("HM-CC-RT-DN")>=0)
{
string channel_name = interface_name # "." # device_address # ":4.FAULT_REPORTING";
var channel = dom.GetObject(channel_name);
if ( (channel.State() == 6) ){ condition = true; }
else{ condition = false; }
}
else
{
string channel_name = interface_name # "." # device_address # ":0.LOWBAT";
var channel = dom.GetObject(channel_name);
! Datenpunkt der klassischen Hm Geräte konnte nicht gefunden werden, verusche HmIP Datenpunkt abzurufen
if (!channel)
{
channel_name = interface_name # "." # device_address # ":0.LOW_BAT";
channel = dom.GetObject(channel_name);
}
!Wenn channel nicht gefunden wurde, auch nicht versuchen darauf zuzugreifen
if ((channel.State() == true) && (channel.Value() == true)) { condition = true; }
}
if (condition == true) {
text = text # "- " # item.Name() # ": Bitte austauschen!\r\n";
counter = counter + 1;
}
else
{
text = text # "- " # item.Name() # ": OK!\r\n";
}
}
if ( counter > 0 ) {
string MailText;
string sDate = system.Date("%d.%m.%Y");
MailText = "Pruefung des Ladestandes der Batterien vom " # sDate # ".\r\n";
MailText = MailText # "Der Ladezustand einer oder mehrerer Batterien ist niedrig: \r\n\r\n" # text;
MailText = MailText # "\r\nBitte tauschen Sie die Batterien zeitnah aus.";
dom.GetObject("Batt_Mldg").State(MailText);
dom.GetObject("Batt_Mldg_Pushover").State(MailText);
}
else
{
string MailText;
string sDate = system.Date("%d.%m.%Y");
MailText = "Pruefung des Ladestandes der Batterien vom " # sDate # ".\r\n";
MailText = MailText # "Der Ladezustand aller Batterien ist gut: \r\n\r\n" # text;
dom.GetObject("Batt_Mldg").State(MailText);
dom.GetObject("Batt_Mldg_Pushover").State(MailText);
}
Gruß
Michael
-
- Beiträge: 14164
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 585 Mal
- Danksagung erhalten: 1499 Mal
Re: Batterieprüfung
Kommt drauf an, auf welchem Kanal/Datenpunkt dieser Sensor seine Information zur Verfügung stellt.michaelapp hat geschrieben: ↑06.12.2019, 18:35Eigentlich sollte das Skript die Meldungen erkennen oder?
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
-
- Beiträge: 280
- Registriert: 16.05.2018, 22:54
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 5 Mal
Re: Batterieprüfung
So wie ich es gesehen habe hier:
Code: Alles auswählen
HmIP-RF.xxxxxxxxxxxxxx:0.LOW_BAT
-
- Beiträge: 1573
- Registriert: 28.05.2015, 12:48
- Wohnort: Willich
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 10 Mal
Re: Batterieprüfung
Bei mir kommt die Meldung von dem BWM.
Wie hoch ist denn die LOW Batt Spannung in den Geräteeinstellungen eingetragen? Bei mir macht der BWM unter 2.3V Probleme, daher ist bei mir 2.3V eingestellt wenn du dort z.B. 2V eingestellt hast dann kann es sein das der BWM seinem Betrieb einstellt, bevor er die LowBatt Meldung abschicken kann...
Wie hoch ist denn die LOW Batt Spannung in den Geräteeinstellungen eingetragen? Bei mir macht der BWM unter 2.3V Probleme, daher ist bei mir 2.3V eingestellt wenn du dort z.B. 2V eingestellt hast dann kann es sein das der BWM seinem Betrieb einstellt, bevor er die LowBatt Meldung abschicken kann...
Gruß Carsten
-
- Beiträge: 280
- Registriert: 16.05.2018, 22:54
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 5 Mal
Re: Batterieprüfung
bei mir steht die Low-Bat.-Schwelle auf 2,2V
Ich werde Sie mal auf 2,3V ändern und beobachten.
Ich werde Sie mal auf 2,3V ändern und beobachten.