Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. letzen Wert in Variable zwischenspeichern

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    letzen Wert in Variable zwischenspeichern

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Michi_Pi last edited by

      Hallo zusammen,
      ich blicke noch nicht recht durch wie der Ablauf eines Blockly durchläuft. Bzw. speziell mit Variablen und Funktionen, wie und wo ich die setzen muss. Hab in der Doku auch nicht wirklich was dazu gefunden.

      Ich habe eine Szene (hier "Badewanne") wenn diese aktiviert wird, soll die Heizung, sofern die eingeschaltet ist, hochgedreht werden (hier auf 23 grad). Dabei möchte ich aber die letzte Temp. die eingestellt war, zwischenspeichern und diese dann wieder setzen wenn ich die Scene wieder ausschalte.

      Mein Skript sieht jetzt so aus:
      c5bf0e81-0d09-4401-941a-85effd13a210-grafik.png

      Allerdings bezweifle ich, dass das so funktioniert. Denn ich denke, wenn das Skript durchgelaufen ist, mit der Wahr Bedingung, wird die Temp. wohl auf die 23 grad gesetzt. So meine Vermutung.

      Kann mir das jemand erklären ob das richtig ist bzw. zeigen wie ich das richtig darstelle?
      Vielen Dank.

      O dslraser 2 Replies Last reply Reply Quote 0
      • O
        oFbEQnpoLKKl6mbY5e13 @Michi_Pi last edited by oFbEQnpoLKKl6mbY5e13

        @michi_pi
        Schreib doch die Temperatur erst in eine Variable und ändere sie dann.

        Machst du doch eh schon, nur nach dem Triggern wäre richtig.

        Falls Wert was? Da fehlt eine Bedingung wie Wert = irgendwas.

        M 1 Reply Last reply Reply Quote 0
        • M
          Michi_Pi @oFbEQnpoLKKl6mbY5e13 last edited by

          @ofbeqnpolkkl6mby5e13

          was meinst du mit, da fehlt irgenwas?

          ich habe jetzt die eine Variable (Temp_alt) erstellt, mit der aktuell gestellten Temperatur.
          Nunn wird die Badewanne eingeschaltet, Trigger läuft und erkennt Badewanne ist True und HeatingPeriodeActive ist auch True, Temp. wird auf 23 grad gestellt.
          Dann schalte ich die Badewanne aus, Trigger läuft wieder und erkennt Badewanne ist false und HeatingPeriodeActive ist true, Variable wird gesetzt.
          Nur befürchte ich dass die Variable jetzt nicht mehr z.B. 19 Grad ist sondern 23 Grad.
          Ist meine Annahme richtig oder falsch?

          O 1 Reply Last reply Reply Quote 0
          • O
            oFbEQnpoLKKl6mbY5e13 @Michi_Pi last edited by oFbEQnpoLKKl6mbY5e13

            @michi_pi

            sztds.png

            So.

            M 1 Reply Last reply Reply Quote 0
            • M
              Michi_Pi @oFbEQnpoLKKl6mbY5e13 last edited by

              @ofbeqnpolkkl6mby5e13 Okay, danke.

              O 1 Reply Last reply Reply Quote 0
              • O
                oFbEQnpoLKKl6mbY5e13 @Michi_Pi last edited by oFbEQnpoLKKl6mbY5e13

                @michi_pi

                Du musst aber noch einiges an deinem Skript ändern, damit das so funktioniert wie gewünscht. Mein Screenshot soll dich erst mal nur auf die richtige Spur kriegen.

                Zum Beispiel muss die Temperatur ja nicht geändert werden, wenn die Badewann nicht an ist.

                Sinngemäß:
                Wenn Badewanne wurde geändert, dann falls Badewanne = wahr und Wert = irgendwas und Wert von Objekt ID = irgendwas, dann ändere Wert von Objekt ID auf 23.

                Wenn Badewanne wurde geändert, dann falls Badewanne = unwahr usw.

                M 1 Reply Last reply Reply Quote 0
                • M
                  Michi_Pi @oFbEQnpoLKKl6mbY5e13 last edited by

                  @ofbeqnpolkkl6mby5e13 stimmt, diesen Fall hab ich gar nicht bedacht.

                  O 1 Reply Last reply Reply Quote 0
                  • O
                    oFbEQnpoLKKl6mbY5e13 @Michi_Pi last edited by

                    @michi_pi

                    Normalerweise wird natürlich auch nicht getriggert, wenn Badewanne aus ist/bleibt.

                    1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @Michi_Pi last edited by

                      @michi_pi said in letzen Wert in Variable zwischenspeichern:

                      Kann mir das jemand erklären ob das richtig ist bzw. zeigen wie ich das richtig darstelle?

                      Sieht für mich alles richtig aus.
                      Überprüfen kannst Du das Ganze mit debug Bausteinen.
                      Da Du Deine Variable außerhalb des Triggers setzt, wird die beim Blockly Start einmalig eingelesen (die Variable wird ja danach nicht nochmal geändert, da sie nicht im Trigger ist). Im Blockly verwendest Du sie dann nur zum zurückstellen.
                      Ich würde sagen das es richtig ist.

                      O 1 Reply Last reply Reply Quote 0
                      • O
                        oFbEQnpoLKKl6mbY5e13 @dslraser last edited by

                        @dslraser
                        Und wenn sich die Temperatur während der Laufzeit des Skripts ändert?

                        dslraser 1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @oFbEQnpoLKKl6mbY5e13 last edited by

                          @ofbeqnpolkkl6mby5e13
                          gerade nochmal drüber nachgedacht...

                          Ja, Du hast recht. Dann wäre die "Rückstelltemperatur" immer die, die es zum Blockystart war. Das war ja nicht sein Ziel...
                          Dann gehört da doch einiges geändert.

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            Michi_Pi @dslraser last edited by

                            @dslraser @oFbEQnpoLKKl6mbY5e13

                            Weiß gerade nicht wie ich das Skript aufbauen soll, wenn sich die Temp_alt einmal ändert sollte und die Variable auch das mitbekommt.

                            Skript sieht jetzt so aus, denke sollte so gehen, sofern sich die Temp nicht mehr ändert 😅
                            9dd4a8ae-dfae-40ac-a386-5e1f1c2cd996-grafik.png

                            O 1 Reply Last reply Reply Quote 0
                            • O
                              oFbEQnpoLKKl6mbY5e13 @Michi_Pi last edited by oFbEQnpoLKKl6mbY5e13

                              @michi_pi

                              Inkedblockly_LI.jpg

                              zu 1.) Es wurde doch schon geklärt, dass dieser Block nur einmalig beim Starten des Skriptes abgearbeitet wird. Der ergibt keinen Sinn.
                              zu 2.) Falls "Wert" was? Du gibst keine Bedingung an. Der Block "Falls" bewertet eine von dir vorgegebene Bedingung. Nämlich zum Beispiel Falls "Wert" = "23", dann aktualisiere...

                              M dslraser 2 Replies Last reply Reply Quote 0
                              • M
                                Michi_Pi @oFbEQnpoLKKl6mbY5e13 last edited by

                                @ofbeqnpolkkl6mby5e13

                                zu 2. Hier wird wahr abgefragt, das bringt ja der Falls Trigger ja schon mit sich, das brauche ich nicht explizit mit angeben.

                                O 2 Replies Last reply Reply Quote 0
                                • O
                                  oFbEQnpoLKKl6mbY5e13 @Michi_Pi last edited by

                                  @michi_pi

                                  Dann weiß ich jetzt zumindest, dass deine Variable "Wert" vom Typ Boolean ist.

                                  1 Reply Last reply Reply Quote 0
                                  • dslraser
                                    dslraser Forum Testing Most Active @oFbEQnpoLKKl6mbY5e13 last edited by dslraser

                                    @ofbeqnpolkkl6mby5e13 sagte in letzen Wert in Variable zwischenspeichern:

                                    zu 2.) Falls "Wert" was? Du gibst keine Bedingung an. Der Block "Falls" bewertet eine von dir vorgegebene Bedingung. Nämlich zum Beispiel Falls "Wert" = "23", dann aktualisiere...

                                    Falls Wert findest Du unter Trigger und bezieht sich auf den Wert vom Trigger.
                                    (Falls Wert prüft auf true und falls nicht Wert auf false)

                                    Screenshot_20210118-083050_Chrome.jpg

                                    Screenshot_20210118-083122_Chrome.jpg

                                    O 1 Reply Last reply Reply Quote 0
                                    • O
                                      oFbEQnpoLKKl6mbY5e13 @dslraser last edited by oFbEQnpoLKKl6mbY5e13

                                      @dslraser
                                      Okay, habe ich bisher zugegebenermaßen nie benutzt. Kann man auch gar nicht erkennen im Blocky. Eine Variable sieht genauso aus.

                                      dslraser 1 Reply Last reply Reply Quote 0
                                      • dslraser
                                        dslraser Forum Testing Most Active @oFbEQnpoLKKl6mbY5e13 last edited by

                                        @ofbeqnpolkkl6mby5e13 sagte in letzen Wert in Variable zwischenspeichern:

                                        Eine Variable sieht genauso aus.

                                        Ja, leider sind die Farben gleich...

                                        O 1 Reply Last reply Reply Quote 0
                                        • O
                                          oFbEQnpoLKKl6mbY5e13 @dslraser last edited by

                                          @dslraser
                                          Ich finde das auch schlecht lesbar von der Logik her. Würde ich so nie benutzen. Ist aber Geschmackssache.

                                          dslraser 1 Reply Last reply Reply Quote 0
                                          • dslraser
                                            dslraser Forum Testing Most Active @oFbEQnpoLKKl6mbY5e13 last edited by dslraser

                                            @ofbeqnpolkkl6mby5e13

                                            ist in diesem Fall das Gleiche wie das hier

                                            Screenshot_20210118-084443_Chrome.jpg

                                            Screenshot_20210118-085327_Chrome.jpg

                                            oder

                                            Screenshot_20210118-084517_Chrome.jpg

                                            Screenshot_20210118-085352_Chrome.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            912
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            48
                                            3845
                                            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