Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Logikfehler bei Abfrage "Wenn - dann -sonst!

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Logikfehler bei Abfrage "Wenn - dann -sonst!

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Der Nordmann last edited by

      Logikfehler Wenn dann sonst.png

      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!

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Der Nordmann last edited by

        @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

        D 1 Reply Last reply Reply Quote 0
        • D
          Der Nordmann @Homoran last edited by

          @Homoran Habe ich gemacht, aber da muss noch ein größerer Denkfehler sein! Die Reaktion ist die gleiche!

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Der Nordmann last edited by

            @Der-Nordmann sagte in Logikfehler bei Abfrage "Wenn - dann -sonst!:

            Habe ich gemacht,

            zeigen!

            D 1 Reply Last reply Reply Quote 0
            • D
              Der Nordmann @Homoran last edited by

              @Homoran Logikfehler Wenn dann sonst_Bild2.png

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Der Nordmann last edited by

                @Der-Nordmann sagte in Logikfehler bei Abfrage "Wenn - dann -sonst!:

                @Homoran Logikfehler Wenn dann sonst_Bild2.png

                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

                D 1 Reply Last reply Reply Quote 0
                • D
                  Der Nordmann @Homoran last edited by

                  @Homoran Ich glaube, ich muss ein wenig warten:
                  Logikfehler Wenn dann sonst_Bild3.png

                  Im Augenblick tut sich nämlich garnüscht!
                  Der Thermostat ist von Homematic 🙂

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    Der Nordmann @Der Nordmann last edited by

                    @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".

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Der Nordmann last edited by paul53

                      @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.

                      Blockly_temp.JPG

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        Der Nordmann @paul53 last edited by

                        @paul53 Geht anscheinend nicht, oder ich hab nicht verstanden was du meinst 😞
                        Logikfehler Wenn dann sonst_Bild4.png Logikfehler Wenn dann sonst_Bild5.png

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Der Nordmann last edited by

                          @Der-Nordmann
                          Nimm in der Konfiguration der JS-Instanz den Haken raus:

                          JS_Config.JPG

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            Der Nordmann @paul53 last edited by

                            @paul53
                            Logikfehler Wenn dann sonst_Bild6.png

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Der Nordmann last edited by

                              @Der-Nordmann
                              So, wie es sein soll. Also muss auch der Vergleich mit der Zahl 22 funktionieren.

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                Der Nordmann @paul53 last edited by Der Nordmann

                                @paul53 Von der Logik her ja, aber "er" tut's nicht!
                                Die Abfrage springt auf "sonst" und übergibt den Wert 20.5

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Der Nordmann last edited by paul53

                                  @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

                                  D 1 Reply Last reply Reply Quote 1
                                  • D
                                    Der Nordmann @paul53 last edited by Der Nordmann

                                    @paul53
                                    SUPER!!!!!!!!!!!!!!!!!!! Funktioniert !!!!!!!!!!!!!!!!!!
                                    Und ist, wenn man darüber nachdenkt sooooooooooo einfach 🙂
                                    Vielen, vielen Dank und noch einen schönen Abend!

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    536
                                    Online

                                    32.0k
                                    Users

                                    80.4k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    16
                                    557
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo