Los geht's:
- die Systemvariablen anlegen von denen man die Werte dann haben möchte. Hinweise dazu stehen im Script.
- nicht benötigte SysVars müssen auch nicht angelegt werden.
- Das Script dann periodisch aufrufen. Zu kurze Intervalle sollten vermieden werden (kennt man ja).
Mittels der WriteLines kann im Script testen überprüft werden ob (und welche) SysVars vorhanden sind.Code: Alles auswählen
!- +++Datenpunkte des HmIP-HAP in Systemvariablen schreiben+++ !- v0.3 by Baxxy 22.08.20 !- Seriennummer des HmIP-HAP in der nächsten Zeile eintragen string hap_sn = "0000D8A99794D9"; !- Namen der vorher anzulegenden SysVars eintragen! (jeweils am Ende innerhalb der " "): object hap_komm = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("HmIP-HAP - Kommunikation"); !- Typ: Logik | falsch = Kommunikation ok | wahr = Kommunikation gestört object hap_ipad = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("HmIP-HAP - IP-Adresse"); !- Typ: Text object hap_duty = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("HmIP-HAP - DutyCycle"); !- Typ: Zahl | Einheit: % | Bereich -1 bis 100 object hap_carr = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("HmIP-HAP - CarrierSense"); !- Typ: Zahl | Einheit: % | Bereich -1 bis 100 !- Auslesen der Werte und schreiben in die vorher anzulegenden SysVars if (hap_komm) { hap_komm.State(dom.GetObject("HmIP-RF."#hap_sn#":0.UNREACH").Value()); WriteLine("SV für HAP - Kommunikation vorhanden.");} if (hap_ipad) { hap_ipad.State(dom.GetObject("HmIP-RF."#hap_sn#":0.IP_ADDRESS").Value()); WriteLine("SV für HAP - IP-Adresse vorhanden.");} if (hap_duty) { hap_duty.State(dom.GetObject("HmIP-RF."#hap_sn#":0.DUTY_CYCLE_LEVEL").Value()); WriteLine("SV für HAP - DutyCycle vorhanden.");} if (hap_carr) { hap_carr.State(dom.GetObject("HmIP-RF."#hap_sn#":0.CARRIER_SENSE_LEVEL").Value()); WriteLine("SV für HAP - Carrier Sense vorhanden.");}
Da ich selber keinen HmIP-HAP habe sind Rückmeldungen zur Funktionalität sowie nichtFunktionalität gern gesehen.