Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. programmieren mit Blockly lernen, benötige Hilfe

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    programmieren mit Blockly lernen, benötige Hilfe

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @woupi last edited by paul53

      @woupi sagte: am Anfang vom Skript alle Datenpunkte, die benötigt werden, in Variablen setzen und anschließend im Skript dann nur noch mit den Variablen?

      Nicht alle DP-Werte, sondern nur die Werte, die mehr als einmal im Skript verwendet werden, denn die Verarbeitung von Variablen ist effizienter als ein wiederholter Funktionsaufruf.

      @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

      keinen Möglichkeit gibt, mit dem Trigger Wert zu arbeiten

      Wert kann man in Mehrfachtriggern nur dann verwenden, wenn die Werte der Trigger-Datenpunkte gleich ausgewertet werden. I.d.R. werden sie jedoch verschieden ausgewertet.

      1 Reply Last reply Reply Quote 1
      • W
        woupi last edited by

        Vielen Dank @Homoran und @paul53.

        Frage 2 und 3 ist damit geklärt.
        Frage 1 leider so noch nicht, oder ich habe die Antwort nicht verstanden.

        Das einzige was ich, in dem verlinkten Artikel, gefunden habe ist, das man es wegen der schlechten Lesbarkeit eventuell nicht so machen sollte.
        Aber ob das jetzt schlechter ist als jede Menge falls Abfragen, stand da so nicht.

        VG
        Sascha

        Homoran paul53 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @woupi last edited by Homoran

          @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

          Frage 1 leider so noch nicht,

          die Frage versteh ich nicht.

          @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

          Ist es besser mit "und" bzw "oder" zu arbeiten oder besser mit falls?

          du arbeitest doch im falls mit (mehrfach verschachteltem) und.

          Was davon willst du denn wie ersetzen?

          W 1 Reply Last reply Reply Quote 1
          • W
            woupi @Homoran last edited by

            @homoran
            Oh, sorry, dass ich mich so unklar ausgedrückt habe.

            Ich habe ganz viele blockly gefunden, die zwar grundsätzlich etwas anderes machen, aber vom Prinzip her die gleichen Aufgaben erledigen ud bei denen sind halt immer Falls in einander Verschachtelt. Ich habe mal schnell den Anfang links daneben gepackt.

            237ab9a6-f56a-41d7-bc46-587f38531caa-image.png

            Es ist ja gar nicht so, dass ich das machen möchte, zumal ich nicht mal genau weiß wie ich das bei den meisten meiner Punkte anstellen müsste.
            Sondern vielmehr, dass ich immer (besser meistens) nur solche Verschachtelungen finde und eben selten, so wie ich es gemacht haben mit den ganzen "und" bzw "oder".

            Ich hoffe das war verständlicher.

            VG
            Sascha

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

              @woupi sagte: Frage 1 leider so noch nicht

              Das macht jeder so, wie er es am besten selbst nachvollziehen kann.
              6 mal einen Vergleich "Wert von Frequenz > 18" vermeidet man. Man macht es einmal und setzt mit dem Ergebnis eine Variable.

              W 1 Reply Last reply Reply Quote 1
              • W
                woupi @paul53 last edited by

                @paul53 sagte in programmieren mit Blockly lernen, benötige Hilfe:

                @woupi sagte: Frage 1 leider so noch nicht

                Das macht jeder so, wie er es am besten selbst nachvollziehen kann.

                Ok, super, da kann ich mit leben.

                6 mal einen Vergleich "Wert von Frequenz > 18" vermeidet man. Man macht es einmal und setzt mit dem Ergebnis eine Variable.

                Ja super. Das ist so was. Eigentlich vollkommen klar, logisch und nachvollziehbar, aber ich komm nicht drauf.

                Vielen Dank.

                Jetzt habe ich erstmal für heute Abend viel Arbeit, die Punkte mit den Variablen umzusetzen.

                VG
                Sascha

                paul53 1 Reply Last reply Reply Quote 0
                • W
                  woupi last edited by

                  Ich habe gerade angefangen, dass mit den Variablen umzusetzen.
                  Ist der Anfang so richtig?
                  bbc90823-0f72-45de-88a3-e873af94a8b3-image.png

                  Vor allem ist mir jetzt nicht klar ob die Variablen "WP_An" wenn der Datenpunkt = 1 und die Variablen "WP_Aus" wenn der Datenpunkt = 0 jeweils auf true steht.

                  VG
                  Sascha

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

                    @woupi sagte: Ist der Anfang so richtig?

                    Die Variablen müssen innerhalb des Triggers gesetzt werden, da sie sonst ab Skriptstart Konstanten enthalten.

                    W 1 Reply Last reply Reply Quote 1
                    • W
                      woupi @paul53 last edited by

                      @paul53
                      Ok, ja macht Sinn.

                      Ich sehe schon, so einfach ist das dann auch wieder nicht.

                      Ich nutze z.B. den Datenpunkt "Temperatur" (ist die Wohnzimmertemperatur) in mehreren Triggern.
                      Muss ich jetzt in jedem Trigger die Variable setzen, wo ich sie dann auch brauche?

                      W 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @woupi last edited by paul53

                        @woupi
                        Anhand des ersten BLocklys habe ich mal angefangen, so umzustellen, dass es übersichtlicher wird.

                        Blockly_temp.JPG

                        Reihenfolge von oben nach unten wie im Original.

                        W 2 Replies Last reply Reply Quote 1
                        • W
                          woupi @paul53 last edited by

                          @paul53
                          Super, vielen Dank.

                          1 Reply Last reply Reply Quote 0
                          • W
                            woupi @woupi last edited by

                            @paul53
                            Ich nutze z.B. den Datenpunkt "Temperatur" (ist die Wohnzimmertemperatur) in mehreren Triggern.
                            Muss ich jetzt in jedem Trigger die Variable setzen, wo ich sie dann auch brauche?

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

                              @woupi sagte: Muss ich jetzt in jedem Trigger die Variable setzen, wo ich sie dann auch brauche?

                              Im gezeigten Skript ist die Temperatur der einzige Trigger. Dann verwendet man Wert (unter "Trigger") für die Wohnzimmertemperatur. Da der WP-Status nur an einer Stelle geprüft wird, verwendet man dafür keine Variable.

                              W 1 Reply Last reply Reply Quote 1
                              • W
                                woupi @paul53 last edited by

                                @paul53

                                Ach so, ja klar, du hast ja nur den einen kleinen Teil.

                                Das Gesamte Skript ist ziemlich groß und besteht aus mehreren Triggern.
                                In vielen davon werden aber die gleichen Datenpunkte abgefragt, wie z.B. Wohnzimmertemperatur, Außentemperatur, WP Status usw.

                                Darauf bezog sich meine Frage. Sorry.

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

                                  @woupi sagte: In vielen davon werden aber die gleichen Datenpunkte abgefragt, wie z.B. Wohnzimmertemperatur,

                                  Wenn Einzel-Trigger verwendet werden, macht man es so:

                                  Blockly_temp.JPG

                                  Die Variable WohnzTemp wird bei Skriptstart und bei Wertänderung gesetzt und kann in allen Triggern des Skriptes ausgewertet werden.

                                  W 2 Replies Last reply Reply Quote 1
                                  • W
                                    woupi @paul53 last edited by

                                    @paul53
                                    Vielen Dank.
                                    VG
                                    Sascha

                                    1 Reply Last reply Reply Quote 0
                                    • W
                                      woupi @paul53 last edited by woupi

                                      @paul53 sagte in programmieren mit Blockly lernen, benötige Hilfe:

                                      Blockly_temp.JPG

                                      Die Variable WohnzTemp wird bei Skriptstart und bei Wertänderung gesetzt und kann in allen Triggern des Skriptes ausgewertet werden.

                                      Die Wert Veränderung wird hier ausgelöst
                                      dfc058a5-6298-4a45-8690-a009bac8b65e-image.png
                                      und nicht hier (der Teil ist nur zum einmaligen setzen),
                                      474491a6-798d-4803-9856-298864ee227f-image.png
                                      oder?

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

                                        @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

                                        oder

                                        ja! ausserhalb des Triggers dient zum Setzen bei Skriptstart

                                        1 Reply Last reply Reply Quote 1
                                        • W
                                          woupi @paul53 last edited by woupi

                                          @paul53

                                          Ich habe deinen Startvorschlag, dafür nochmal ganz lieben Danke, weiter geführt. Hier mal der Abschnitt.
                                          Es wäre ganz toll wenn Ihr da nochmal drüber sehen könntet, ob man das jetzt so einigermaßen vernünftig wäre.
                                          73ced6ec-0292-484f-8ab1-c6ae03abb7f3-image.png
                                          49e88446-7ca5-4fd4-9f1c-d9fba7838409-image.png

                                          Vielen Dank
                                          VG
                                          Sascha

                                          Codierknecht paul53 3 Replies Last reply Reply Quote 0
                                          • Codierknecht
                                            Codierknecht Developer Most Active @woupi last edited by Codierknecht

                                            @woupi
                                            Gibt es dabei Wertekonstellationen, die insgesamt immer die gleiche Aussage liefern?
                                            Keine Ahnung wie man das bezeichnen sollte ... Zustand A, Zustand B.

                                            Dann könnte man die Teilaussagen über Funktionen bestimmen lassen und die Logik im eigentlichen Trigger dann über die Ergebnisse der Teilaussagen steuern.
                                            Dürfte etwas übersichtlicher sein.

                                            4ce27b59-fd05-4c31-989d-b4efd3b157ff-grafik.png

                                            Ob das dann performanter ist oder nicht, lasse ich mal dahingestellt.
                                            Lesbarkeit hat hier bei mir eine deutlich höhere Priorität.

                                            Der verlinkte Beitrag wendet sich an die blutigen Anfänger. Über dieses Stadium scheintst Du mir schon hinaus zu sein 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            568
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            46
                                            2132
                                            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