Eine "OR" Abfrage im Skript. Funktioniert nicht mit || Aber warum?
08.02.2024, 19:08
Das folgende Skript soll mir Heizungsthermostate und Wandthermostate ermitteln.
Wenn ich in der IF-Abfrage nur device.HssType() == "HmIP-WTH-1" benutze, bekomme ich Ergebnisse, wenn ich device.HssType() == "HmIP-eTRV-E-S" abfrage auch. Wenn ich beide (s.u.) mit OR (also ||) verbinde, ist das Ergebnis leer.
Ich verstehe es nicht. Hat jemand eine Idee?
string deviceid;
foreach(deviceid, dom.GetObject(ID_DEVICES).EnumUsedIDs())
{
var device = dom.GetObject(deviceid);
WriteLine("Überprüfung des Geräts: " # device.Name() # " (Typ: " # device.HssType() # ")");
if(device.HssType() == "HmIP-WTH-1" || device.HssType() == "HmIP-eTRV-E-S")
{
WriteLine("Gerät gefunden: " # device.Name() # " (Typ: " # device.HssType() # ")");
}
}
Wenn ich in der IF-Abfrage nur device.HssType() == "HmIP-WTH-1" benutze, bekomme ich Ergebnisse, wenn ich device.HssType() == "HmIP-eTRV-E-S" abfrage auch. Wenn ich beide (s.u.) mit OR (also ||) verbinde, ist das Ergebnis leer.
Ich verstehe es nicht. Hat jemand eine Idee?
string deviceid;
foreach(deviceid, dom.GetObject(ID_DEVICES).EnumUsedIDs())
{
var device = dom.GetObject(deviceid);
WriteLine("Überprüfung des Geräts: " # device.Name() # " (Typ: " # device.HssType() # ")");
if(device.HssType() == "HmIP-WTH-1" || device.HssType() == "HmIP-eTRV-E-S")
{
WriteLine("Gerät gefunden: " # device.Name() # " (Typ: " # device.HssType() # ")");
}
}