habe es für mich etwas angepasst und auch was dabei gelernt
Code: Alles auswählen
! Batteriespannungen oder LOWBAT auslesen V 0.1 vom 17.11.2017 KN
! ACHTUNG! Die Systemvariable NICHT auf der Startseite der WebUI anzeigen lassen
! da Steuerzeichen für den Zeilenvorschub enthalten sind!
! Anzupassen sind:
! - das Gewerk BatDev (hier Batteriebetrieben genannt)
! - Die Systemvariable fuer die Ausgabe als string anlegen
! - fuer Debuggingzwecke ist die Variable debug auf true zu setzen
var BatDev = dom.GetObject("Batteriebetrieben");
boolean debug = false;
string SVVariable_Spannungen = "Batteriespannungen";
var item;
string itemID;
string text = "";
string channel_name;
string batvalue;
text = "Batteriespannungen vom "#system.Date("%d.%m.%Y %H:%M:%S") #"\n";
if(debug) {WriteLine(BatDev.EnumUsedIDs());}
! Durch alle angemeldeten Geräte laufen
foreach(itemID, BatDev.EnumUsedIDs())
{
!Gerätedetails & Schnittstelle holen
item = dom.GetObject(itemID);
channel_name = dom.GetObject(item.DPByHssDP("BATTERY_STATE"));
if(channel_name)
{
batvalue = dom.GetObject(channel_name).Value();
! Text zusammensetzen
text = text#"Spannung an "#item.Name()#": "#batvalue.ToString(1)#" V\n";
if (debug) {WriteLine(text);}
}
else
{
channel_name = dom.GetObject(item.DPByHssDP("LOWBAT"));
if(channel_name)
{
batvalue = dom.GetObject(channel_name).Value();
if (batvalue == false) {batvalue = "OK";} else {batvalue = "BATTERIEWECHSEL STEHT AN!";}
if (debug) {WriteLine(item.Name() #" : " #batvalue.ToString());}
! Text zusammensetzen
text = text#"Spannung an "#item.Name()#": "#batvalue.ToString(1)#"\n";
}
}
}
if (debug) {WriteLine(text);}
! Ausgabe in Systemvariable
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(SVVariable_Spannungen)).State(text);
Die Ausgabe sieht in etwas so aus:
Code: Alles auswählen
Batteriespannungen vom 17.11.2017 18:32:06
Spannung an AlarmSirene:1: OK
Spannung an AlarmSirene:2: OK
Spannung an AlarmSirene:3: OK
Spannung an AlarmSirene:4: OK
Spannung an FKT_Abstell:1: OK
Spannung an FKT_Bad:1: OK
Spannung an FKT_Bar:1: OK
Spannung an FKT_Buero:1: OK
Spannung an FKT_Erker_Links:1: OK
Spannung an FKT_Erker_Mitte:1: OK
Spannung an FKT_Erker_Rechts:1: OK
Spannung an FKT_Flur:1: OK
Spannung an FKT_Freisitz_Links:1: OK
Spannung an FKT_Freisitz_Mitte:1: OK
Spannung an FKT_Freisitz_Rechts:1: OK
Spannung an FKT_Gaeste_Dach:1: OK
Spannung an FKT_Gaeste_Gross:1: OK
Spannung an FKT_Gaeste_Klein:1: OK
Spannung an FKT_Gaestebad:1: OK
Spannung an FKT_Garagen_Links:1: OK
Spannung an FKT_Garagen_Rechts:1: OK
Spannung an FKT_Haustuer:1: OK
Spannung an FKT_Heizung:1: OK
Spannung an FKT_KellerAusenTuer:1: OK
Spannung an FKT_Kueche_Links:1: OK
Spannung an FKT_Kueche_Mitte:1: OK
Spannung an FKT_Kueche_Rechts:1: OK
Spannung an FKT_Kueche_Strasse:1: OK
Spannung an FKT_Neigungssensor_Garage:1: OK
Spannung an FKT_Schlafen:1: OK
Spannung an FKT_Vorrat:1: OK
Spannung an FKT_WC:1: OK
Spannung an HKT_Bad:4: 2.6 V
Spannung an HKT_Buero_Links:4: 2.6 V
Spannung an HKT_Buero_Rechts:4: 2.5 V
Spannung an HKT_Couch:4: 2.6 V
Spannung an HKT_Erker:4: 2.6 V
Spannung an HKT_FlurEG:4: 2.5 V
Spannung an HKT_FlurUG:4: 2.6 V
Spannung an HKT_Gaeste:4: 2.6 V
Spannung an HKT_Gaestebad:4: 2.6 V
Spannung an HKT_Kueche:4: 2.6 V
Spannung an HKT_Schlafen:4: 2.6 V
Spannung an HKT_WC:4: 2.5 V
Spannung an Rauchmelder_Abstell:1: OK
Spannung an Rauchmelder_Bar:1: OK
Spannung an Rauchmelder_Buero:1: OK
Spannung an Rauchmelder_Couch:1: OK
Spannung an Rauchmelder_Erker:1: OK
Spannung an Rauchmelder_FlurEG:1: OK
Spannung an Rauchmelder_FlurOG:1: OK
Spannung an Rauchmelder_FlurUG:1: OK
Spannung an Rauchmelder_Gaeste:1: OK
Spannung an Rauchmelder_Kueche:1: OK
Spannung an Rauchmelder_Schlafen:1: OK
Spannung an Rauchmelder_Vorrat:1: OK
Spannung an Wassermelder:1: OK
Spannung an WHT_Bad:2: 2.6 V
Spannung an WHT_Buero:2: 2.6 V
Spannung an WHT_Flur:2: 2.5 V
Spannung an WHT_Gaeste:2: 2.6 V
Spannung an WHT_Gaestebad:2: 2.6 V
Spannung an WHT_Kueche:2: 2.7 V
Spannung an WHT_Schlafen:2: 2.6 V
Spannung an WHT_WC:2: 2.4 V
Spannung an WHT_Wohnen:2: 2.6 V