Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Diskussionsthread zu "Blockly für Dummies"

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    279

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Diskussionsthread zu "Blockly für Dummies"

Scheduled Pinned Locked Moved Blockly
47 Posts 10 Posters 6.5k Views 10 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H-a-m-iH H-a-m-i

    Ok prima, also ist es nicht schlimm, mehrere Falls Blöcke ineinander zu bauen. Solche Blöcke kommen nämlich bei mir öfter vor.

    @codierknecht sagte in Diskussionsthread zu "Blockly für Dummies":

    in diesem Fall ist Lesbarkeit wichtiger als noch das letzte Quentchen Performance rauszuquetschen.

    Aber bedeutet das dann, dass die aufgeräumte, zweite Variante mehr Ressourcen/Zeit verbraucht als die erste? In diesem Fall geht es ja um das Einschalten eines Lichts per Bewegungsmelder und das soll so schnell wie möglich passieren...

    @paul53 sagte in Diskussionsthread zu "Blockly für Dummies":

    was mittels Timer-Variable eleganter geht:

    Ach cool, das ist ja noch besser. Danke. Der grüne "Verzögerung timeout" Block oben gibt also immer an, ob dieser timeout gerade läuft, richtig?

    CodierknechtC Online
    CodierknechtC Online
    Codierknecht
    Developer Most Active
    wrote on last edited by
    #30

    @h-a-m-i sagte in Diskussionsthread zu "Blockly für Dummies":

    Aber bedeutet das dann, dass die aufgeräumte, zweite Variante mehr Ressourcen/Zeit verbraucht als die erste? In diesem Fall geht es ja um das Einschalten eines Lichts per Bewegungsmelder und das soll so schnell wie möglich passieren...

    Was die Performance angeht, reden wir von Millisekunden, die eine Variante evtl. schneller ist als eine andere.
    Das fällt wohl kaum ins Gewicht.

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    JoJo58J 1 Reply Last reply
    0
    • H-a-m-iH Offline
      H-a-m-iH Offline
      H-a-m-i
      wrote on last edited by
      #31

      Super. Vielen Dank euch

      1 Reply Last reply
      0
      • CodierknechtC Codierknecht

        @h-a-m-i sagte in Diskussionsthread zu "Blockly für Dummies":

        Aber bedeutet das dann, dass die aufgeräumte, zweite Variante mehr Ressourcen/Zeit verbraucht als die erste? In diesem Fall geht es ja um das Einschalten eines Lichts per Bewegungsmelder und das soll so schnell wie möglich passieren...

        Was die Performance angeht, reden wir von Millisekunden, die eine Variante evtl. schneller ist als eine andere.
        Das fällt wohl kaum ins Gewicht.

        JoJo58J Online
        JoJo58J Online
        JoJo58
        wrote on last edited by
        #32

        @codierknecht

        Ich habe mir dein "Blockly for dummies" durchgelesen und bin echt angetan davon :+1: , ist wirklich hilfreich, vielen Dank. Ich wäre froh wenn ich einiges davon schon früher gewusst hätte.
        Hab dann doch Fragen dazu. Ich habe sehr viele Blocklys und alle in einer Ordnerstruktur in root erstellt. Ob die Blocklys alle sinnvoll sind, bezweifele ich selber, aber egal. Ich habe bei allen Namen, egal ob Ordner oder Blocklys, leider Leerzeichen und auch Umlauten angelegt. Habe gerade zum Testen einen Ordner, darunter noch einen Ordner und da ein Blockly erstellt. Alles mit Leerzeichen und Umlauten. Die habe ich dann nachträglich umbenannt und das hat geklappt.

        1. Frage: Ist es sinnvoll das jetzt im nachhinein bei allen Blocklys (über 300) zu machen und die alle mit Bindestrich/Unterstrich und ohne Umlaute umzubenennen?

        2. Frage: Ich kannte den "nicht" Block nicht, habe also immer auf "Wert von Objekt ID = falsch" oder "Variable = falsch" geprüft. Lohnt es sich das nach und nach in den Blocklys zu ändern?

        Wenn du/ihr ja sagt, habe ich eine neue Beschäftigung :grin:

        Gruß Johannes

        Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
        Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
        Einfach ein tolles Hobby :-)

        HomoranH 1 Reply Last reply
        0
        • JoJo58J JoJo58

          @codierknecht

          Ich habe mir dein "Blockly for dummies" durchgelesen und bin echt angetan davon :+1: , ist wirklich hilfreich, vielen Dank. Ich wäre froh wenn ich einiges davon schon früher gewusst hätte.
          Hab dann doch Fragen dazu. Ich habe sehr viele Blocklys und alle in einer Ordnerstruktur in root erstellt. Ob die Blocklys alle sinnvoll sind, bezweifele ich selber, aber egal. Ich habe bei allen Namen, egal ob Ordner oder Blocklys, leider Leerzeichen und auch Umlauten angelegt. Habe gerade zum Testen einen Ordner, darunter noch einen Ordner und da ein Blockly erstellt. Alles mit Leerzeichen und Umlauten. Die habe ich dann nachträglich umbenannt und das hat geklappt.

          1. Frage: Ist es sinnvoll das jetzt im nachhinein bei allen Blocklys (über 300) zu machen und die alle mit Bindestrich/Unterstrich und ohne Umlaute umzubenennen?

          2. Frage: Ich kannte den "nicht" Block nicht, habe also immer auf "Wert von Objekt ID = falsch" oder "Variable = falsch" geprüft. Lohnt es sich das nach und nach in den Blocklys zu ändern?

          Wenn du/ihr ja sagt, habe ich eine neue Beschäftigung :grin:

          Gruß Johannes

          HomoranH Offline
          HomoranH Offline
          Homoran
          Global Moderator Administrators
          wrote on last edited by
          #33

          @jojo58
          zu 2)
          du hast leider kein Beispiel gezeigt.
          Interessant wird es wenn du mehrfach den Wert des Triggerdatenpunkts nochmals separat über "Wert von..." holst.
          Dann lohnt es sich auf jeden Fall statt dessen den Block WERT aus dem Beteich Trigger zu nehmen und nicht Wert daraus zu machen.

          kein Support per PN! - Fragen im Forum stellen -
          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          JoJo58J 1 Reply Last reply
          0
          • HomoranH Homoran

            @jojo58
            zu 2)
            du hast leider kein Beispiel gezeigt.
            Interessant wird es wenn du mehrfach den Wert des Triggerdatenpunkts nochmals separat über "Wert von..." holst.
            Dann lohnt es sich auf jeden Fall statt dessen den Block WERT aus dem Beteich Trigger zu nehmen und nicht Wert daraus zu machen.

            JoJo58J Online
            JoJo58J Online
            JoJo58
            wrote on last edited by
            #34

            @homoran
            Mit dem "WERT" aus Trigger das kenne ich, in dem Beispiel hier, triggere ich allerdings auf 2 Bewegungsmelder. Die Werte setze ich in die Variablen "Bewegung_Kaffeemaschine" und "Bewegung_Spuele" und arbeite damit.
            Im Screenshot (etwa ein viertel des Blocklys) habe ich schon 7 (von insgesamt 16) mal die Prüfung auf "falsch" und das meinte ich. Und ich sehe gerade das ich den "currentState" auch mehrfach verwende, hätte ich auch in eine Variable setzen sollen.

            Blockly auf falsch.jpg

            Die Frage ist halt, lohnt es sich, oder ist es sinnvoll, die in diesem Blockly 16 mal vorhandene Prüfung auf "falsch" zu ändern und den "nicht" Block zu nehmen? Bei neuen werde ich es definitiv machen.

            Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
            Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
            Einfach ein tolles Hobby :-)

            HomoranH 1 Reply Last reply
            0
            • JoJo58J JoJo58

              @homoran
              Mit dem "WERT" aus Trigger das kenne ich, in dem Beispiel hier, triggere ich allerdings auf 2 Bewegungsmelder. Die Werte setze ich in die Variablen "Bewegung_Kaffeemaschine" und "Bewegung_Spuele" und arbeite damit.
              Im Screenshot (etwa ein viertel des Blocklys) habe ich schon 7 (von insgesamt 16) mal die Prüfung auf "falsch" und das meinte ich. Und ich sehe gerade das ich den "currentState" auch mehrfach verwende, hätte ich auch in eine Variable setzen sollen.

              Blockly auf falsch.jpg

              Die Frage ist halt, lohnt es sich, oder ist es sinnvoll, die in diesem Blockly 16 mal vorhandene Prüfung auf "falsch" zu ändern und den "nicht" Block zu nehmen? Bei neuen werde ich es definitiv machen.

              HomoranH Offline
              HomoranH Offline
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #35

              @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

              die in diesem Blockly 16 mal vorhandene Prüfung auf "falsch" zu ändern und den "nicht" Block zu nehmen?

              ich würde mir dafürdie Arbeit nicht machen, zumal wenn du dir vornimmst

              @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

              Bei neuen werde ich es definitiv machen.

              Aber

              @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

              den "currentState" auch mehrfach verwende, hätte ich auch in eine Variable setzen sollen.

              spart mehr Ressourcen und hat den Vorteil, dass immer der selbe Wert vorliegt, wenn die Variable direkt zu Beginn gefüllt wird

              kein Support per PN! - Fragen im Forum stellen -
              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              JoJo58J 1 Reply Last reply
              0
              • HomoranH Homoran

                @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

                die in diesem Blockly 16 mal vorhandene Prüfung auf "falsch" zu ändern und den "nicht" Block zu nehmen?

                ich würde mir dafürdie Arbeit nicht machen, zumal wenn du dir vornimmst

                @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

                Bei neuen werde ich es definitiv machen.

                Aber

                @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

                den "currentState" auch mehrfach verwende, hätte ich auch in eine Variable setzen sollen.

                spart mehr Ressourcen und hat den Vorteil, dass immer der selbe Wert vorliegt, wenn die Variable direkt zu Beginn gefüllt wird

                JoJo58J Online
                JoJo58J Online
                JoJo58
                wrote on last edited by
                #36

                @homoran sagte in Diskussionsthread zu "Blockly für Dummies":

                spart mehr Ressourcen und hat den Vorteil, dass immer der selbe Wert vorliegt, wenn die Variable direkt zu Beginn gefüllt wird

                Wusste ich nicht und werde ich anpassen. Und wenn ich einmal dran bin, dann ändere ich die Prüfungen auf falsch auch. Zumindest bei größeren Blocklys.

                Und was ist mit der Frage zu den Namen der Scripte? Die sollte ich ändern?

                Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
                Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
                Einfach ein tolles Hobby :-)

                HomoranH 1 Reply Last reply
                0
                • JoJo58J JoJo58

                  @homoran sagte in Diskussionsthread zu "Blockly für Dummies":

                  spart mehr Ressourcen und hat den Vorteil, dass immer der selbe Wert vorliegt, wenn die Variable direkt zu Beginn gefüllt wird

                  Wusste ich nicht und werde ich anpassen. Und wenn ich einmal dran bin, dann ändere ich die Prüfungen auf falsch auch. Zumindest bei größeren Blocklys.

                  Und was ist mit der Frage zu den Namen der Scripte? Die sollte ich ändern?

                  HomoranH Offline
                  HomoranH Offline
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #37

                  @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

                  Frage zu den Namen der Scripte? Die sollte ich ändern?

                  hmm, auch da bin ich mir nicht wirklich sicher. Ist ja nicht unerheblicher Aufwand.
                  Bei neuen drauf achten, aber ändern IMHO nicht zwingend nötig.

                  kein Support per PN! - Fragen im Forum stellen -
                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  JoJo58J 1 Reply Last reply
                  0
                  • HomoranH Homoran

                    @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

                    Frage zu den Namen der Scripte? Die sollte ich ändern?

                    hmm, auch da bin ich mir nicht wirklich sicher. Ist ja nicht unerheblicher Aufwand.
                    Bei neuen drauf achten, aber ändern IMHO nicht zwingend nötig.

                    JoJo58J Online
                    JoJo58J Online
                    JoJo58
                    wrote on last edited by
                    #38

                    @homoran

                    Okay, dann weiß ich Bescheid. Werde es einfach nach und nach mal anpassen und bei neuen Blocklys direkt darauf achten. Danke für deine Hilfe.

                    PS: Mit dem prüfen auf falsch, das ist lesbarer, mit dem "nicht" Block, da muss ich mehr aufpassen. Ist bestimmt auch eine Gewohnheitssache. :wink:

                    Johannes

                    Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
                    Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
                    Einfach ein tolles Hobby :-)

                    CodierknechtC 1 Reply Last reply
                    0
                    • JoJo58J JoJo58

                      @homoran

                      Okay, dann weiß ich Bescheid. Werde es einfach nach und nach mal anpassen und bei neuen Blocklys direkt darauf achten. Danke für deine Hilfe.

                      PS: Mit dem prüfen auf falsch, das ist lesbarer, mit dem "nicht" Block, da muss ich mehr aufpassen. Ist bestimmt auch eine Gewohnheitssache. :wink:

                      Johannes

                      CodierknechtC Online
                      CodierknechtC Online
                      Codierknecht
                      Developer Most Active
                      wrote on last edited by Codierknecht
                      #39

                      @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

                      Mit dem prüfen auf falsch, das ist lesbarer, mit dem "nicht" Block, da muss ich mehr aufpassen. Ist bestimmt auch eine Gewohnheitssache

                      So ist es.
                      Man muss sich nur mal vergegenwärtigen, was da eigentlich passiert.
                      Eine Prüfung mit "Falls" wird ja intern als "if" abgebildet. Und so ein "if" prüft, ob der übergebene Ausdruck als Ergebnis ein "true" oder ein "false" zurückliefert.

                      if (value > 42)
                      

                      liefert true wenn der Wert in value größer als 42 ist und falseim anderen Fall.
                      Bei solch einer Prüfung auf z.B. Zahlenwerte ist das ja noch völlig klar.
                      Was aber, wenn man eine bool'sche Variable prüft, die selbst nur true oder false sein kann?

                      if (istWochenende == true)
                      

                      Nehmen wir mal an, die Variable "istWochenende" enthält gerade den Wert true.
                      Dann würde beim Ablauf des Scripts ja eigentlich folgende Prüfung erfolgen:

                      if (true == true)
                      

                      Hier sieht man eigentlich schon, dass eine solche Formulierung ziemlicher Quatsch ist.
                      Der Ausdruck liefert als Ganzes true. Das steht aber ja bereits in der Variablen drin. Man kann also genau so gut schreiben:

                      if (istWochenende)
                      

                      Das liest sich dann schon wesentlich besser. Ist für meine Begriffe auch wesentlich intuitiver.

                      Jetzt ist es eigentlich nur noch reine Gewöhnungssache, das auch bei "Falsch" so zu verwenden.
                      Das sieht bei Blockly leider etwas umständlich aus. In JavaScript (und allen anderen C-artigen Sprachen) sieht das als reiner Code wesentlich einfacher aus:

                      if (value)  // liefert "true", wenn value = true
                      if (!value) // liefert "true", wenn value = false (negiert)
                      

                      Programmierer sind halt faul - sonst wären sie nicht Programmierer geworden.
                      Darum verwenden sie deutlich lieber die kürzere Schreibweise.

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      paul53P 1 Reply Last reply
                      2
                      • CodierknechtC Codierknecht

                        @jojo58 sagte in Diskussionsthread zu "Blockly für Dummies":

                        Mit dem prüfen auf falsch, das ist lesbarer, mit dem "nicht" Block, da muss ich mehr aufpassen. Ist bestimmt auch eine Gewohnheitssache

                        So ist es.
                        Man muss sich nur mal vergegenwärtigen, was da eigentlich passiert.
                        Eine Prüfung mit "Falls" wird ja intern als "if" abgebildet. Und so ein "if" prüft, ob der übergebene Ausdruck als Ergebnis ein "true" oder ein "false" zurückliefert.

                        if (value > 42)
                        

                        liefert true wenn der Wert in value größer als 42 ist und falseim anderen Fall.
                        Bei solch einer Prüfung auf z.B. Zahlenwerte ist das ja noch völlig klar.
                        Was aber, wenn man eine bool'sche Variable prüft, die selbst nur true oder false sein kann?

                        if (istWochenende == true)
                        

                        Nehmen wir mal an, die Variable "istWochenende" enthält gerade den Wert true.
                        Dann würde beim Ablauf des Scripts ja eigentlich folgende Prüfung erfolgen:

                        if (true == true)
                        

                        Hier sieht man eigentlich schon, dass eine solche Formulierung ziemlicher Quatsch ist.
                        Der Ausdruck liefert als Ganzes true. Das steht aber ja bereits in der Variablen drin. Man kann also genau so gut schreiben:

                        if (istWochenende)
                        

                        Das liest sich dann schon wesentlich besser. Ist für meine Begriffe auch wesentlich intuitiver.

                        Jetzt ist es eigentlich nur noch reine Gewöhnungssache, das auch bei "Falsch" so zu verwenden.
                        Das sieht bei Blockly leider etwas umständlich aus. In JavaScript (und allen anderen C-artigen Sprachen) sieht das als reiner Code wesentlich einfacher aus:

                        if (value)  // liefert "true", wenn value = true
                        if (!value) // liefert "true", wenn value = false (negiert)
                        

                        Programmierer sind halt faul - sonst wären sie nicht Programmierer geworden.
                        Darum verwenden sie deutlich lieber die kürzere Schreibweise.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by paul53
                        #40

                        @codierknecht sagte: if !(value)

                        if (!value) // liefert true, wenn value = false (negiert)
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        CodierknechtC 1 Reply Last reply
                        0
                        • paul53P paul53

                          @codierknecht sagte: if !(value)

                          if (!value) // liefert true, wenn value = false (negiert)
                          
                          CodierknechtC Online
                          CodierknechtC Online
                          Codierknecht
                          Developer Most Active
                          wrote on last edited by
                          #41

                          @paul53
                          Danke!

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            stronoff
                            wrote on last edited by
                            #42

                            @Codierknecht :

                            Vielen Dank für Deinen "Blockly für Dummies" Beitrag der mir schon sehr viel geholfen hat.

                            Für ein Thema habe ich bisher noch keine schöne Lösung gefunden :

                            Ich habe immer wieder die Herausforderung, dass ich mit mehreren verschiedenen (Zahlen-) Datenpunkten rechnen möchte:

                            DP_1 + DP_2 - DP_3 + (DP_4/1000)
                            z. B. um mehrere Stromverbraucher (ein DP_4 ist z.B. in Wh, alle anderen in kWh) zusammenzufassen und in einen neuen Datenpunkt zu schreiben.

                            Bisher löse ich das, in dem ich zu dem einen DP_4 ein Alias erstelle und das Alias schon mit der Umrechnung in kWh anlege und dann mit "Summe über Liste" rechne.

                            Aber wie würde ich dann z. B sowas am sinnvollsten und effizientesten bewerkstelligen? :

                            (DP_1 + DP_2 - DP_3 + (DP_4/1000))/4

                            Die Durchschnitt / gleitender Durchschnitt Ermittlung weiter oben habe ich gesehen. Mir geht es nur darum zu verstehen, ob ich hinsichtlich "komplexerer" Berechnungen etwas übersehen habe.

                            CodierknechtC 1 Reply Last reply
                            0
                            • S stronoff

                              @Codierknecht :

                              Vielen Dank für Deinen "Blockly für Dummies" Beitrag der mir schon sehr viel geholfen hat.

                              Für ein Thema habe ich bisher noch keine schöne Lösung gefunden :

                              Ich habe immer wieder die Herausforderung, dass ich mit mehreren verschiedenen (Zahlen-) Datenpunkten rechnen möchte:

                              DP_1 + DP_2 - DP_3 + (DP_4/1000)
                              z. B. um mehrere Stromverbraucher (ein DP_4 ist z.B. in Wh, alle anderen in kWh) zusammenzufassen und in einen neuen Datenpunkt zu schreiben.

                              Bisher löse ich das, in dem ich zu dem einen DP_4 ein Alias erstelle und das Alias schon mit der Umrechnung in kWh anlege und dann mit "Summe über Liste" rechne.

                              Aber wie würde ich dann z. B sowas am sinnvollsten und effizientesten bewerkstelligen? :

                              (DP_1 + DP_2 - DP_3 + (DP_4/1000))/4

                              Die Durchschnitt / gleitender Durchschnitt Ermittlung weiter oben habe ich gesehen. Mir geht es nur darum zu verstehen, ob ich hinsichtlich "komplexerer" Berechnungen etwas übersehen habe.

                              CodierknechtC Online
                              CodierknechtC Online
                              Codierknecht
                              Developer Most Active
                              wrote on last edited by
                              #43

                              @stronoff
                              Das geht natürlich auch ohne Alias.
                              Wird allerdings mit zunehmender Zahl von Operanden ziemlich unübersichtlich.
                              Mit "externe Eingänge" kann man das etwas übersichtlicher gestalten.

                              15686ca3-b3d6-4488-aff1-be7b05427513-image.png

                              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                              HmIP|ZigBee|Tasmota|Unifi
                              Zabbix Certified Specialist
                              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                              HomoranH S 2 Replies Last reply
                              1
                              • CodierknechtC Codierknecht

                                @stronoff
                                Das geht natürlich auch ohne Alias.
                                Wird allerdings mit zunehmender Zahl von Operanden ziemlich unübersichtlich.
                                Mit "externe Eingänge" kann man das etwas übersichtlicher gestalten.

                                15686ca3-b3d6-4488-aff1-be7b05427513-image.png

                                HomoranH Offline
                                HomoranH Offline
                                Homoran
                                Global Moderator Administrators
                                wrote on last edited by
                                #44

                                @codierknecht sagte in Diskussionsthread zu "Blockly für Dummies":

                                Mit "externe Eingänge" kann man das etwas übersichtlicher gestalten.

                                zumal dann die Klammersetzung deutlicher wird.

                                hier

                                @stronoff sagte in Diskussionsthread zu "Blockly für Dummies":

                                (DP_1 + DP_2 - DP_3 + (DP_4/1000))/4

                                ist bei DP1 - 3 ja gar keine Klammerung

                                kein Support per PN! - Fragen im Forum stellen -
                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                CodierknechtC 1 Reply Last reply
                                1
                                • HomoranH Homoran

                                  @codierknecht sagte in Diskussionsthread zu "Blockly für Dummies":

                                  Mit "externe Eingänge" kann man das etwas übersichtlicher gestalten.

                                  zumal dann die Klammersetzung deutlicher wird.

                                  hier

                                  @stronoff sagte in Diskussionsthread zu "Blockly für Dummies":

                                  (DP_1 + DP_2 - DP_3 + (DP_4/1000))/4

                                  ist bei DP1 - 3 ja gar keine Klammerung

                                  CodierknechtC Online
                                  CodierknechtC Online
                                  Codierknecht
                                  Developer Most Active
                                  wrote on last edited by
                                  #45

                                  @homoran
                                  Das überlasse ich dann gerne dem TE :grin:

                                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                  HmIP|ZigBee|Tasmota|Unifi
                                  Zabbix Certified Specialist
                                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                  1 Reply Last reply
                                  0
                                  • CodierknechtC Codierknecht

                                    @stronoff
                                    Das geht natürlich auch ohne Alias.
                                    Wird allerdings mit zunehmender Zahl von Operanden ziemlich unübersichtlich.
                                    Mit "externe Eingänge" kann man das etwas übersichtlicher gestalten.

                                    15686ca3-b3d6-4488-aff1-be7b05427513-image.png

                                    S Offline
                                    S Offline
                                    stronoff
                                    wrote on last edited by
                                    #46

                                    @codierknecht :
                                    Wow!

                                    Auf die Idee, die Ergebnisse von den Mathematikblöcken in einen anderen Mathematikblock zu stecken bin ich nicht gekommen. Aber in Verbindung mit den "externen Eingängen" macht es das natürlich wirklich viel übersichtlicher!

                                    Vielen Dank! :+1:

                                    1 Reply Last reply
                                    0
                                    • J Offline
                                      J Offline
                                      jensven
                                      wrote on last edited by
                                      #47

                                      Wäre super wenn der baustein "IDs vom selektor" genauso gut wie alles andere bisher erklärt wird.
                                      Ich mache da immer ein großer bogen drumherum und somit werden meine blöcke sehr wahrscheinlich unnötig kompliziert aufgebaut

                                      1 Reply Last reply
                                      1
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      270

                                      Online

                                      32.7k

                                      Users

                                      82.5k

                                      Topics

                                      1.3m

                                      Posts
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Home
                                      • Recent
                                      • Tags
                                      • Unread 0
                                      • Categories
                                      • Unreplied
                                      • Popular
                                      • GitHub
                                      • Docu
                                      • Hilfe