Batterieabfrage Script für IP funktioniert nicht
Moderator: Co-Administratoren
Re: Batterieabfrage Script für IP funktioniert nicht
Hey ist es denn auch möglich von einem Funkteilnehmer den Status abzufragen und nicht von allen?
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Batterieabfrage Script für IP funktioniert nicht
Ja, natürlich ist dies möglich.
Die >> Abfrage von Datenpunkten per HM-Script <<
ist in der Doku (siehe Signatur) beschrieben und hinter dem Link ein bisschen praxisorientierter.
Alchy
Die >> Abfrage von Datenpunkten per HM-Script <<
ist in der Doku (siehe Signatur) beschrieben und hinter dem Link ein bisschen praxisorientierter.
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.
Re: Batterieabfrage Script für IP funktioniert nicht
ja das XML-API habe ich drauf, wegen Tablet Akku Abfrage, aber die Batterie Abfrage Operating_Battery abzufragen habe ich immer noch nicht verstanden, vielleicht kannst du mir das Schritt für Schritt erklären zu einem Script.
Also ich habe z.B. einen Heizthermostat HM-IP
Also ich habe z.B. einen Heizthermostat HM-IP
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Batterieabfrage Script für IP funktioniert nicht
Das ist mir ziemlich egal. Es ist nur eine der genannten Möglichkeiten um an Datenpunkte zu kommen.
Lies dir doch das verlinkte noch mal durch.
Diese Aussage ist mir zu wenig oder zu ungenau. Es gibt HssTypen wie HmIP-WTH-2 , HmIP-STHD, HM-TC-IT-WM-W-EU usw. welche du angeben kannst.
Denkst du, wenn du einfach alles durcheinander würfelst wird es einfacher für dich?
BATTERY_STATE oder OPERATING_VOLTAGE usw. hat in jedem Fall nichts mit Operating_Battery zu tun.
Wenn ich der verlinkten Anleitung lesen würde, würde ich auf:
Code: Alles auswählen
var ipserial = (datapoints.Get("HmIP-RF.000E9569A2410E:0.OPERATING_VOLTAGE")).Value();
WriteLine(ipserial);
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.
Re: Batterieabfrage Script für IP funktioniert nicht
Schreibst leicht gereizt.
Sorry meinte OPERATING_VOLTAGE.
Es sind 9 x HmIP-eTRV-2 und ich möchte jede einzelnt angezeigt bekommen, da ich AIO Mediola habe und da keine gesamte haben möchte(Anzeige).
Ich weiss das ich eine Verknüpfung mit Zeit alle 30 min Abfrage mache und nur das Script fehlt mir dazu.
Ich weiss auch das diese Status-Abfrage in ....:0 hinterlegt ist und sogar eine in XML_API eine eigene ID hat nur ich weiss nicht ganz genau wie ich das in einem Script zusammen füge sodas er mir das in der Systemvariablen-Anzeige in der CCU3 anzeigt!!!
Sorry für die Dummheit
Sorry meinte OPERATING_VOLTAGE.
Es sind 9 x HmIP-eTRV-2 und ich möchte jede einzelnt angezeigt bekommen, da ich AIO Mediola habe und da keine gesamte haben möchte(Anzeige).
Ich weiss das ich eine Verknüpfung mit Zeit alle 30 min Abfrage mache und nur das Script fehlt mir dazu.
Ich weiss auch das diese Status-Abfrage in ....:0 hinterlegt ist und sogar eine in XML_API eine eigene ID hat nur ich weiss nicht ganz genau wie ich das in einem Script zusammen füge sodas er mir das in der Systemvariablen-Anzeige in der CCU3 anzeigt!!!
Sorry für die Dummheit
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Batterieabfrage Script für IP funktioniert nicht
Das ist deine Interpretation. Ich bin weder sonderlich aufgeregt noch gereizt.
Höchstens enttäuscht.
Auch das ist deine Interpretation. Bei mir musst du dich bei mir nicht entschuldigen.
Oben steht ein Script, welches dir die Batteriespannung ausgeben sollte. Habe keine solche Geräte und bin zu faul für dich die Doku zu durchsuchen.
Wenn das Script die Spannung eines deiner Geräte ausgibt, dann enthält ipserial also in dem Script den Spannungswert eines deiner Geräte.
Wenn du :
Code: Alles auswählen
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Name deiner Speichervariable").State(ipserial);
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.
Re: Batterieabfrage Script für IP funktioniert nicht
Vielen Dank für die letzten Script eintrag der hat mir gefehlt, jetzt zeigt er ihn auch an , voll Happy jetzt kann ich das in AIO einfügen.
Vielen Vielen Dank
Vielen Vielen Dank
Re: Batterieabfrage Script für IP funktioniert nicht
Hier mal ne Version die alle Bat Werte samt Seriennummer als Json String Systemvariabel anlegt, auch lowbat Werte werden gefunden und eingetragen.
Code: Alles auswählen
var systemVar = "Bats";
! systemVar= Name der SystemVariablen in der die Json erstellt wird bsp--> {Seriennummer:wert,}
! Es werden auch lowbat Werte eingetragen, wenn die Batterie low is "true" ansonsten "false"
string sDevId; string sChnId; string sDPId; string json;
json = json #"{";
foreach (sDevId, root.Devices().EnumUsedIDs()) {
object oDevice = dom.GetObject(sDevId);
foreach(sChnId, oDevice.Channels()) {
object oChannel = dom.GetObject(sChnId);
foreach(sDPId, oChannel.DPs().EnumUsedIDs()) {
object oDP = dom.GetObject(sDPId);
if(oDP.TypeName() == "HSSDP") {
! WriteLine(oDP.HssType()); Debug
if((oDP.HssType() == "BATTERY_STATE") || (oDP.HssType() == "OPERATING_VOLTAGE") || (oDP.HssType() == "LOWBAT")) {
json = json #'\"' #oDevice.Address().ToString(1) #'\"' #":" #oDP.Value().ToString(1) #",";
}
}
}
}
}
if(json.Length() > 1) {
json = json.Substr(0,(json.Length()-1));
}
json = json #"}";
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get(systemVar)) {
dom.GetObject(ID_SYSTEM_VARIABLES).Get(systemVar).State(json);
WriteLine(json #" \r\t in SystemVariablen: " #systemVar #" eingetragen");
}else{
WriteLine("\tAchtung: SystemVariablen: " #systemVar #" : für den Json String:\n"#json #"\n\t nicht vorhanden, bitte vorher als String unter SystemVariablen anlegen!");
}