Ich habe schon sehr viel gelernt durch Eure Angaben und Tipps. Nun komme ich aber auch nach durchkämmen diverser Artikel nicht mehr weiter und benötige Eure Hilfe
Ich habe kürzlich den Kanal 1 von meinem Wettersensor (HmIP-SWO-PL) umbenannt. Nun bekomme ich keine Temperaturen bei Abfrage von ACTUAL_TEMPERATURE auf meiner NEO Seite angezeigt. Anstelle der Temparaturwerte wird «NaN» dargestellt. Alle anderen Wetter-Anzeigen sind korrekt.
Im Errorlog der CCU findet sich jeweils bei / Refresh Aufruf über NEO ein neuer Eintrag:
ERROR: ScriptRuntimeError:
Code: Alles auswählen
var o;
string states="";
states = states # "0=";
o=dom.GetObject("HmIP-RF.00181A499045FA:1.ACTUAL_TEMPERATURE");
if (o!=null)
{states=states#o.Value();}
else {states=states#"?";}
«o» ist hier «NULL». Wenn ich dasselbe auf der CCU direkt für einen anderen Datenpunkt z.B. HUMIDITY mache, bekomme ich die korrekte Antwort. Siehe Beispiel:
Code: Alles auswählen
var neo_temp =dom.GetObject("HmIP-RF.00181A499045FA:1.ACTUAL_TEMPERATURE");
var neo_hum =dom.GetObject("HmIP-RF.00181A499045FA:1.HUMIDITY");
WriteLine ("Temp NEO:" # neo_temp);
WriteLine ("Hum NEO: " # neo_hum # "\t | Value: "# neo_hum.Value() );
Temp NEO:null
Hum NEO: HmIP-RF.00181A499045FA:1.HUMIDITY | Value: 38
Ein kompletter Scan des Channels liefert für Actual Temp keinen Channelname:
Code: Alles auswählen
string KanalName = "HmIP-SWO-PL 00181A499045FA:1";
var AktorKanal = dom.GetObject(KanalName);
string id;
foreach(id, AktorKanal.DPs()) {
var dp = dom.GetObject(id);
WriteLine(id # ": " # dp.Name() # ": " # dp.Value());
}
25794: ACTUAL_TEMPERATURE: 9.600000 ! dp.Name() ausschliesslich für diesen Datenpunkt leer…
25795: HmIP-RF.00181A499045FA:1.ACTUAL_TEMPERATURE_STATUS: 0
25796: HmIP-RF.00181A499045FA:1.HUMIDITY: 39
25797: HmIP-RF.00181A499045FA:1.HUMIDITY_STATUS: 0
...
Woher kommt das? Und wie kann ich dieses Problem auf möglichst einfache Art beheben (ausser den Wert per Script in eine Variable zu schreiben und diesen von dort zu übernehmen)
PS: Das einzige, was ich noch nicht gemacht habe, ist ein ab- / neu anlernen des Wettersensors. Weil: Sollte dies nötig werden, müsste ich dann alle ID’s für die Historian Auswertungen neu einrichtet werden? (Hoffentlich nein…)
Danke im Voraus für Eure Hilfe