Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    945

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Diskussionsthread zu "Blockly für Dummies"

Geplant Angeheftet Gesperrt Verschoben Blockly
47 Beiträge 10 Kommentatoren 6.1k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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 Offline
    JoJo58J Offline
    JoJo58
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        0
        • paul53P paul53

          @codierknecht sagte: if !(value)

          if (!value) // liefert true, wenn value = false (negiert)
          
          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            stronoff
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antworten Letzte Antwort
              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 Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #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 - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                CodierknechtC 1 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • J Offline
                      J Offline
                      jensven
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      1
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      804

                      Online

                      32.6k

                      Benutzer

                      82.0k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe