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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    programmieren mit Blockly lernen, benötige Hilfe

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

      Hallo an die Profis im programmieren, genauer mit blockly.

      Ich arbeite jetzt eine weile mit blockly und bekomme das meiste auch hin aber ich stoße immer wieder auf Fragen die ich mir stelle und auf die ich keine Antwort gefunden habe.

      1. Ist es besser mit "und" bzw "oder" zu arbeiten oder besser mit falls?
        Hier mal ein Beispiel. Ist nur ein kleiner Teil eines meiner Skripte und es geht auch nicht um die Funktion die dahinter steckt:
        c87e96f2-f335-476a-a287-7ebb14c806a0-image.png

      2. Ich weiß das man in Programmiersprachen immer mit Variablen arbeiten. Den genauen Grund kenne ich nicht.
        Sollte man bei blockly auch am Anfang vom Skript alle Datenpunkte, die benötigt werden, in Variablen setzen und anschließend im Skript dann nur noch mit den Variablen? Und wenn Ja, mag mir eventuell einer kurz erklären, warum.

      3. Bei dem Triger
        101b435f-e417-4ade-ae57-a704d6982fa2-image.png
        habe ich ja zwei Datenpunkte auf die gelauscht wird.
        Ist es richtig, dass es so keinen Möglichkeit gibt, mit dem Trigger Wert e54bf4a4-1f7d-4ae6-adc9-4325e2ffb9b4-image.png zu arbeiten, oder habe ich das einfach nur nicht gefunden?

      Ich bedanke mich schonmal im Voraus.
      VG
      Sascha

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

        @woupi sieh mal hier
        https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/11

        1 Reply Last reply Reply Quote 1
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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