Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    9
    1
    669

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    3.0k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    3.0k

Diskussionsthread zu "Blockly für Dummies"

Geplant Angeheftet Gesperrt Verschoben Blockly
49 Beiträge 10 Kommentatoren 7.7k Aufrufe 10 Beobachtet
  • Ä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.
  • 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: Asus PN 42 / N100 / 8 GB / 500 GB

    CodierknechtC 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @codierknecht sagte: if !(value)

      if (!value) // liefert true, wenn value = false (negiert)
      
      CodierknechtC Offline
      CodierknechtC Offline
      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 Offline
          CodierknechtC Offline
          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 Offline
            HomoranH Offline
            Homoran
            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 -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
            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 Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #45

              @homoran
              Das überlasse ich dann gerne dem TE 😁

              "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 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

                  J 1 Antwort Letzte Antwort
                  1
                  • J jensven

                    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

                    J Offline
                    J Offline
                    jensven
                    schrieb am zuletzt editiert von
                    #48

                    Ist jetzt schon ne weile her dass ich meine Anregung aufgeschrieben habe
                    Will hier nicht unnötig stress machen aber doch mal nachfragen wie der stand ist?

                    CodierknechtC 1 Antwort Letzte Antwort
                    0
                    • J jensven

                      Ist jetzt schon ne weile her dass ich meine Anregung aufgeschrieben habe
                      Will hier nicht unnötig stress machen aber doch mal nachfragen wie der stand ist?

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #49

                      @jensven
                      Ich hab's mal ergänzt.

                      https://forum.iobroker.net/topic/70481/blockly-for-dummies-...-starthilfe-und-tipps/4

                      "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

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      225

                      Online

                      33.0k

                      Benutzer

                      83.3k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2026
                      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