[V4.1.1] Kein Wert soll zu false führen, ein Wert (nach Vergleich) zu true
Verfasst: Do Apr 10, 2025 1:45 pm
Hallo zusammen,
kurz zum Anwendungsfall: der HTTP-API hole ich mir von meiner Unifi Dreammachine die eingebuchten WLAN-Clients. Daraus möchte ich gerne ableiten, ob Hausbewohner anwesend sind (true) oder nicht (false). Aus der API-Antwort übergebe ich den Namen des gesuchten Clients (durch Vergleich mit der MAC-Adresse) an die Logik. Ist der Client nicht eingebucht, übergibt das API-Subsystem keinen Wert.
Meine Frage: wie kann ich eine Logik (oder eine Funktion an anderer Stelle) bauen, die mir wie gewünscht true/false zurückgibt?
So sieht das Ergebnis der API-Abfrage aus:

Führt also aktuell zu keinem Wert (vermutlich NaN?), da nicht im WLAN eingebucht.
Und so verarbeite ich es aktuell in der Logik weiter:

Über den Trigger habe ich versucht, die Logik auch dann auszulösen, wenn es keine Wertänderung gibt - in der Hoffnung, dass sie dann mangels Eingangswert auf false springt. Tut sie aber nicht und verharrt offenbar auf dem letzten empfangenen Wert, deren Vergleich dann zwar korrekterweise zu true führt - nur dass das Gerät eben nicht mehr im WLAN ist.
Ich hoffe, das Problem wird klar, fragt sonst gerne nach.
Bin gespannt auf Ideen und Vorschläge!
Viele Grüße
Micha
kurz zum Anwendungsfall: der HTTP-API hole ich mir von meiner Unifi Dreammachine die eingebuchten WLAN-Clients. Daraus möchte ich gerne ableiten, ob Hausbewohner anwesend sind (true) oder nicht (false). Aus der API-Antwort übergebe ich den Namen des gesuchten Clients (durch Vergleich mit der MAC-Adresse) an die Logik. Ist der Client nicht eingebucht, übergibt das API-Subsystem keinen Wert.
Meine Frage: wie kann ich eine Logik (oder eine Funktion an anderer Stelle) bauen, die mir wie gewünscht true/false zurückgibt?
So sieht das Ergebnis der API-Abfrage aus:

Führt also aktuell zu keinem Wert (vermutlich NaN?), da nicht im WLAN eingebucht.
Und so verarbeite ich es aktuell in der Logik weiter:

Über den Trigger habe ich versucht, die Logik auch dann auszulösen, wenn es keine Wertänderung gibt - in der Hoffnung, dass sie dann mangels Eingangswert auf false springt. Tut sie aber nicht und verharrt offenbar auf dem letzten empfangenen Wert, deren Vergleich dann zwar korrekterweise zu true führt - nur dass das Gerät eben nicht mehr im WLAN ist.
Ich hoffe, das Problem wird klar, fragt sonst gerne nach.
Bin gespannt auf Ideen und Vorschläge!
Viele Grüße
Micha