Ich persönlich brauche diese Information nicht wirklich. Mir reicht was die Raspberrymatic UI anzeigt.
Trotzdem hat mich die Neugierde gepackt und hier nochmal eine andere Variante
OPERATING_VOLTAGE nur wenn der DP LOW_BAT oder LOWBAT gefunden wird auslesen.
Zumindest bei den Geräten die ich habe ist die Liste korrekt
Code: Alles auswählen
var all = dom.GetObject(ID_DEVICES);
string id;
foreach(id, all.EnumUsedIDs()) {
var device = dom.GetObject(id);
var channel = device.Channels().GetAt(0);
var low_batt_dp = channel.DPByHssDP("LOW_BAT");
if (!low_batt_dp) {
low_batt_dp = channel.DPByHssDP("LOWBAT");
}
if (low_batt_dp) {
var volt_dp = channel.DPByHssDP("OPERATING_VOLTAGE");
if (volt_dp) {
WriteLine(device # " = " # volt_dp.Value());
}
}
}