NEWS
Logikfehler bei Abfrage "Wenn - dann -sonst!
-

Hallo zusammen!
Ich habe da einen kleine "Verständnishänger" bei der oben gezeigten Abfrage!
Folgende Situation:-
Listenpunkt Variable "Temperatur_Duschen" steht auf 22.0
-
Listenpunkt Aktuelle Temperatur des Thermostaten "EG Bad Thermostat:2.ACTUAL_TEMPERATURE" gleich 21.6
Nach meinem Verständnis müsste doch jetzt bei der Wenn-Abfrage
"Temperatur_Duschen" (22.0) ist kleiner "EG Bad Thermostat:2.ACTUAL_TEMPERATURE" (21.6) der "Sprung" auf "sonst/falsch" gehen; 22.0 ist kleiner 21.6 -> also falsch!Dem ist aber nicht so, der Sprung geht nach mache/wahr.
Kann mir da jemand bitte mal meinen Knoten im Hirn lösen

Danke Euch und noch einen schönen Sonntag!
@Der-Nordmann Du setzt einen String als Wert für Temperatur Duschen, also wird es ein Stringvergleich.
nimm statt der grünen 22.0 eine blaue 22.0 aus den Matheblöcken -
-
@Der-Nordmann Du setzt einen String als Wert für Temperatur Duschen, also wird es ein Stringvergleich.
nimm statt der grünen 22.0 eine blaue 22.0 aus den Matheblöcken@Homoran Habe ich gemacht, aber da muss noch ein größerer Denkfehler sein! Die Reaktion ist die gleiche!
-
@Homoran Habe ich gemacht, aber da muss noch ein größerer Denkfehler sein! Die Reaktion ist die gleiche!
-
-
@Der-Nordmann sagte in Logikfehler bei Abfrage "Wenn - dann -sonst!:
und wie war jetzt der Thermostat?
schreib doch mehr in den debug: alle gebrauchten Eintscheidungskriterien und starte dann dann mal neu und poste den log
-
@Der-Nordmann sagte in Logikfehler bei Abfrage "Wenn - dann -sonst!:
und wie war jetzt der Thermostat?
schreib doch mehr in den debug: alle gebrauchten Eintscheidungskriterien und starte dann dann mal neu und poste den log
@Homoran Ich glaube, ich muss ein wenig warten:

Im Augenblick tut sich nämlich garnüscht!
Der Thermostat ist von Homematic :-) -
@Homoran Ich glaube, ich muss ein wenig warten:

Im Augenblick tut sich nämlich garnüscht!
Der Thermostat ist von Homematic :-)@Der-Nordmann
Also, was ich jetzt herausgefunden habe ist folgendes:-
Listenpunkt Auch wenn im IObroker bei den Objekten keine Änderung in den Objects sehen kann, mein Thermostat zeigt mir den Wert für "EG Bad Thermostat:2.SET_TEMPERATURE" an.
-
ListenpunktWenn ich die Variable "Temperatur_Dusche" auf "Zahl" setze, kann er den Wert "EG Bad Thermostat:2.ACTUAL_TEMPERATURE" wohl nicht auslesen und der Sprung erfolgt nach "sonst".
-
Listenpunkt Wenn die Variable "Temperatur_Dusche" auf "String" gesetzt wird, springt die Abfrage auf "mache".
-
-
@Der-Nordmann
Also, was ich jetzt herausgefunden habe ist folgendes:-
Listenpunkt Auch wenn im IObroker bei den Objekten keine Änderung in den Objects sehen kann, mein Thermostat zeigt mir den Wert für "EG Bad Thermostat:2.SET_TEMPERATURE" an.
-
ListenpunktWenn ich die Variable "Temperatur_Dusche" auf "Zahl" setze, kann er den Wert "EG Bad Thermostat:2.ACTUAL_TEMPERATURE" wohl nicht auslesen und der Sprung erfolgt nach "sonst".
-
Listenpunkt Wenn die Variable "Temperatur_Dusche" auf "String" gesetzt wird, springt die Abfrage auf "mache".
@Der-Nordmann sagte:
Wenn ich die Variable "Temperatur_Dusche" auf "Zahl" setze, kann er den Wert "EG Bad Thermostat:2.ACTUAL_TEMPERATURE" wohl nicht auslesen und der Sprung erfolgt nach "sonst".
?? ACTUAL_TEMPERATURE enthält eine Zahl. Weshalb soll die nicht ausgelesen werden ? Mach mal eine Debug-Ausgabe vom Wert des DP und vom Typ des DP-Wertes.

-
-
@Der-Nordmann sagte:
Wenn ich die Variable "Temperatur_Dusche" auf "Zahl" setze, kann er den Wert "EG Bad Thermostat:2.ACTUAL_TEMPERATURE" wohl nicht auslesen und der Sprung erfolgt nach "sonst".
?? ACTUAL_TEMPERATURE enthält eine Zahl. Weshalb soll die nicht ausgelesen werden ? Mach mal eine Debug-Ausgabe vom Wert des DP und vom Typ des DP-Wertes.

@paul53 Geht anscheinend nicht, oder ich hab nicht verstanden was du meinst :-(

-
@paul53 Geht anscheinend nicht, oder ich hab nicht verstanden was du meinst :-(

@Der-Nordmann
Nimm in der Konfiguration der JS-Instanz den Haken raus:
-
@Der-Nordmann
Nimm in der Konfiguration der JS-Instanz den Haken raus:
-
@Der-Nordmann
So, wie es sein soll. Also muss auch der Vergleich mit der Zahl 22 funktionieren. -
@Der-Nordmann
So, wie es sein soll. Also muss auch der Vergleich mit der Zahl 22 funktionieren.@paul53 Von der Logik her ja, aber "er" tut's nicht!
Die Abfrage springt auf "sonst" und übergibt den Wert 20.5 -
@paul53 Von der Logik her ja, aber "er" tut's nicht!
Die Abfrage springt auf "sonst" und übergibt den Wert 20.5@Der-Nordmann sagte:
Die Abfrage springt auf "sonst"
Das ist doch richtig, denn 22 < 21.6 liefert false.
Dein Vergleich ist falsch. Es muss lauten Temperatur_Duschen > Wert von ACTUAL_TEMPERATURE -
@Der-Nordmann sagte:
Die Abfrage springt auf "sonst"
Das ist doch richtig, denn 22 < 21.6 liefert false.
Dein Vergleich ist falsch. Es muss lauten Temperatur_Duschen > Wert von ACTUAL_TEMPERATURE@paul53
SUPER!!!!!!!!!!!!!!!!!!! Funktioniert !!!!!!!!!!!!!!!!!!
Und ist, wenn man darüber nachdenkt sooooooooooo einfach :-)
Vielen, vielen Dank und noch einen schönen Abend!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden

