Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly lesen und verstehen

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Blockly lesen und verstehen

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

      Hallo und danke für die Antworten.

      Ich habe mal etwas gespielt und für meinen Luftsensor was zusammengebaut. Es läuft und ist das so ok oder sind da noch Fehler enthalten.

      Sollte man immer den Wert in eine Zahl konvertieren?

      Danke

      Thorsten

      <block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="O8iu3lg)QM8s;y{6_ICk" x="213" y="-387">
        <mutation items="1"></mutation>
        <field name="CONDITION">any</field>
        <field name="ACK_CONDITION"></field>
        <value name="OID0">
          <shadow type="field_oid" id="5GB80o^E2@#R)5]ORaTz">
            <field name="oid">luftdaten.0.192_168_178_102.SDS_P1</field>
          </shadow>
        </value>
        <statement name="STATEMENT">
          <block type="variables_set" id="?(Wl%|/^B%suUSm;Mc6E">
            <field name="VAR" id="LHJRauu_=w1@jF_d]lI(" variabletype="">Wert_P1</field>
            <value name="VALUE">
              <block type="convert_tonumber" id="mO80{AyEEhoz=[C;fsc%">
                <value name="VALUE">
                  <block type="get_value" id="j%{yt;pX{Jk!Rx:=c(4V">
                    <field name="ATTR">val</field>
                    <field name="OID">luftdaten.0.192_168_178_102.SDS_P1</field>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="controls_if" id=")#r#seEU~|D=U)i$UKPL">
                <value name="IF0">
                  <block type="logic_compare" id="));)#qFZ;~;J_fJH)):R">
                    <field name="OP">GT</field>
                    <value name="A">
                      <block type="variables_get" id="sf_*[Yug?PqD|E[t3XU4">
                        <field name="VAR" id="LHJRauu_=w1@jF_d]lI(" variabletype="">Wert_P1</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="math_number" id="v]-[41z)bG-YTAVqRU0%">
                        <field name="NUM">2</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="control" id="g(2/#ex3eDe9{EB+OvHm">
                    <mutation delay_input="false"></mutation>
                    <field name="OID">stiebel-isg.0.Einstellungen.LUEFTEN.LUEFTUNGSSTUFEN.val82</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="math_number" id="u|]Y-hlZ,ln@3`D}_}js">
                        <field name="NUM">0</field>
                      </block>
                    </value>
                    <next>
                      <block type="control" id="28:uU`@aWFofmT3^{I`j">
                        <mutation delay_input="false"></mutation>
                        <field name="OID">stiebel-isg.0.Einstellungen.LUEFTEN.LUEFTUNGSSTUFEN.val83</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="math_number" id="~!]wmvb1,.=NXO]zTXnn">
                            <field name="NUM">0</field>
                          </block>
                        </value>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </statement>
      </block>
      
      F 1 Reply Last reply Reply Quote 0
      • F
        frankyboy73 @TH G last edited by

        @TH-G
        Hi, die Steuere Bausteine müssten in das Mache und nicht darunter.
        Luft1.JPG
        Und noch zu Info, den Code vom Blockly bitte in nen Code hier im Post einfügen. Oben in der Leiste 5. Symbol und dann da wo Code_text steht, anstatt Code Text den Code einfügen.

        <xml xmlns="http://www.w3.org/1999/xhtml">
          <variables>
            <variable type="" id="LHJRauu_=w1@jF_d]lI(">Wert_P1</variable>
          </variables>
          <block type="on_ext" id="O8iu3lg)QM8s;y{6_ICk" x="-137" y="-212">
            <mutation items="1"></mutation>
            <field name="CONDITION">any</field>
            <field name="ACK_CONDITION"></field>
            <value name="OID0">
              <shadow type="field_oid" id="5GB80o^E2@#R)5]ORaTz">
                <field name="oid">luftdaten.0.192_168_178_102.SDS_P1</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="variables_set" id="?(Wl%|/^B%suUSm;Mc6E">
                <field name="VAR" id="LHJRauu_=w1@jF_d]lI(" variabletype="">Wert_P1</field>
                <value name="VALUE">
                  <block type="convert_tonumber" id="mO80{AyEEhoz=[C;fsc%">
                    <value name="VALUE">
                      <block type="get_value" id="j%{yt;pX{Jk!Rx:=c(4V">
                        <field name="ATTR">val</field>
                        <field name="OID">luftdaten.0.192_168_178_102.SDS_P1</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="controls_if" id=")#r#seEU~|D=U)i$UKPL">
                    <value name="IF0">
                      <block type="logic_compare" id="));)#qFZ;~;J_fJH)):R">
                        <field name="OP">GT</field>
                        <value name="A">
                          <block type="variables_get" id="sf_*[Yug?PqD|E[t3XU4">
                            <field name="VAR" id="LHJRauu_=w1@jF_d]lI(" variabletype="">Wert_P1</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="math_number" id="v]-[41z)bG-YTAVqRU0%">
                            <field name="NUM">2</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="control" id="g(2/#ex3eDe9{EB+OvHm">
                        <mutation delay_input="false"></mutation>
                        <field name="OID">stiebel-isg.0.Einstellungen.LUEFTEN.LUEFTUNGSSTUFEN.val82</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="math_number" id="u|]Y-hlZ,ln@3D}_}js">
                            <field name="NUM">0</field>
                          </block>
                        </value>
                        <next>
                          <block type="control" id="28:uU@aWFofmT3^{I`j">
                            <mutation delay_input="false"></mutation>
                            <field name="OID">stiebel-isg.0.Einstellungen.LUEFTEN.LUEFTUNGSSTUFEN.val83</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="math_number" id="~!]wmvb1,.=NXO]zTXnn">
                                <field name="NUM">0</field>
                              </block>
                            </value>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </xml>
        
        1 Reply Last reply Reply Quote 0
        • TH G
          TH G last edited by

          Danke und so sieht es nun aus.

          2020-04-13-101846_1900x1014_scrot.png

          Wie kann ich eigentlich nur das Blockbild kopieren?

          F 1 Reply Last reply Reply Quote 0
          • F
            frankyboy73 @TH G last edited by

            @TH-G
            Hi, ich würde das alles unter einen Trigger packen und bei Falls mache noch ein Sonst einfügen. (Geht übers Zahnrad am Falls Baustein) Sonst fragst du unnötig doppelt auf Änderung ab und setzt deine Wert P1 auch unnötig 2 mal.
            Falls Wert über 35, mache das, sonst(also wenn nicht über 35) das (Grob erklärt)
            So in etwa.
            Luft2.JPG

            Wegen dem Bildauschnitt gibt es Snipping Tool. Da kann man dann mit der Maus den Bildauschnitt wählen den man will.
            Windows 10 hat das aber auch direkt mit an Board. Schau mal hier.
            https://www.focus.de/digital/computer/pc-tipps/computer-windows-10-bei-screenshot-ausschnitt-selbst-festlegen_id_7162065.html

            TH G 1 Reply Last reply Reply Quote 0
            • TH G
              TH G @frankyboy73 last edited by TH G

              @frankyboy73

              Danke werde ich nochmals ändern.

              Ich nutze den RPI nur über VNC, da das Gerät im Keller steht und da gehen dann leider die Tools nicht, die ich sonst auf meinem Mac nutze

              F 1 Reply Last reply Reply Quote 0
              • F
                frankyboy73 @TH G last edited by

                @TH-G sagte in Blockly lesen und verstehen:

                Ich nutze den RPI nur über VNC, da das Gerät im Keller steht und da gehen dann leider die Tools nicht, die ich sonst auf meinem Mac nutze

                Hi, das verstehe ich jetzt nicht ganz. Du gehst per VNC auf deinen Pi und mit dem Pi dann auf die Iobroker Oberfäche?
                Du kannst doch am Mac oder PC direkt über die IP und den Port per Browser auf den Iobroker, ohne den Umweg über VNC. Falls sich die Geräte im gleichen Netzwerk befinden. In deinem Fall
                192.168.178.166:8081 (wenn ich das richtig gesehen habe)

                TH G 1 Reply Last reply Reply Quote 0
                • TH G
                  TH G @frankyboy73 last edited by

                  @frankyboy73

                  Lach stimmt ja 🙂

                  1 Reply Last reply Reply Quote 0
                  • TH G
                    TH G last edited by

                    So nun möchte ich folgendes machen.

                    Bildschirmfoto 2020-04-14 um 10.16.19.png

                    In den drei Objekt IDs steht wenn aktiv ein "true"

                    Nun soll der jeweilige Text wenn true in das Feld Status EMI gesetzt werden.

                    Wie mache ich diese falls Abfrage?

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

                      @TH-G wenn ich dich richtig verstanden habe musst du eine falls mit 2 sonst falls (über das Zahrad) erzeugen,
                      dann unter falls schreiben: wert von EMI-OK = true, dann unter mache den ersten aktualisiere Block

                      mit den zwei sonstfalls die weiteren Trigger und Antworten

                      1 Reply Last reply Reply Quote 0
                      • TH G
                        TH G last edited by TH G

                        Hallo Homoran,

                        ich sehe gerade nicht, wo ich die Bedingung z.B. EMI-OK = true finde bzw. wie ich die Objekt-ID dort reinbekomme

                        Bildschirmfoto 2020-04-14 um 11.19.11.png

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

                          @TH-G sagte in Blockly lesen und verstehen:

                          wie ich die Objekt-ID dort reinbekomme

                          sieht schon gut aus.
                          du brauchst jetzt noch den Block "Wert von ID" aus dem Bereich System (wenn ich das richtig im Kopf habe)

                          TH G 1 Reply Last reply Reply Quote 0
                          • TH G
                            TH G @Homoran last edited by

                            @Homoran

                            Ja gerade selbst gefunden und scheint auch so zu gehen

                            Bildschirmfoto 2020-04-14 um 11.30.22.png

                            Danke für deine Hilfe

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

                              @TH-G sagte in Blockly lesen und verstehen:

                              scheint auch so zu gehen

                              will ich doch hoffen 😉

                              1 Reply Last reply Reply Quote 0
                              • TH G
                                TH G last edited by TH G

                                Leider funktioniert es doch nicht. Es steht immer der Wert EMI OK im Feld Statuts EMI.

                                Woran kann es liegen?

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

                                  @TH-G sagte in Blockly lesen und verstehen:

                                  Woran kann es liegen?

                                  ist der Wert EMI-OK immer wahr?

                                  1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @TH G last edited by

                                    @TH-G

                                    Warum willst du überhaupt blockly lernen?
                                    Wenn du schon eine Programmiersprache lernst (und blockly ist auch eine Programmiersprache), dann lerne für IoBroker lieber gleich JavaScript.

                                    Für Java Skript gibt es viel mehr Tutorials, praktische Beispiele und Hilfe im Internet wie für blockly.
                                    Die Handvoll Befehle, die für IoBroker individuell sind, kannst du aus der Dokumentation heraus lesen oder dir hier im Forum helfen lassen.

                                    Wenn du die Grundstruktur von Java Skript verstanden hast, hast du dann auch gleichzeitig die Grundkenntnisse weitere Programmiersprachen eventuell in der Zukunft zu lernen.
                                    Das ist bei blockly mE nicht der Fall.

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

                                      @OliverIO da muss ich leider widersprechen.

                                      Ich selber habe nicht das Problem mit logischem und strukturiertem Denken
                                      Ich schaffe es auch bestehende javascripts nach Fehlern oder Umbaumöglichkeiten zu durchsuchen und entsprechend umzubauen.

                                      Was mir immer wieder fehlt ist die richtige Syntax am richtigen Ort.
                                      Da kann ich zehnmal lesen und "achja" sagen. es klappt nicht.

                                      Ist wie eine Fremdsprache. Lesen ja richtig sprechen - nein. Und bei einer Programmiersprach geht kein: "der weiß ja was ich meine"

                                      ich bin auf Blockly angewiesen da Blockly mir genau das abnimmt.
                                      Natürlich sehe ich mir immer wider die Skripte im js-Format an, auch um Fehler zu suchen, aber schreiben werde ich es nie können - leider

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Homoran last edited by

                                        @Homoran
                                        Du hast dich ja bereits mit beidem schon einmal auseinandergesetzt und für dich den Entschluss getroffen. Wenn jemand aber gerade frisch anfängt, dann sollte er sich dieseN Gedanken einmal stellen

                                        1 Reply Last reply Reply Quote 0
                                        • TH G
                                          TH G last edited by TH G

                                          Wenn ich nur das Logikmodul ausführe geht es, mit dem Trigger nicht.

                                          True steht nur in den Feldern wenn diese aktiv sind, wenn nicht ist das Feld leer.

                                          Bildschirmfoto 2020-04-15 um 15.31.59.png

                                          1 Reply Last reply Reply Quote 0
                                          • TH G
                                            TH G last edited by

                                            Keiner eine Idee?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            883
                                            Online

                                            32.1k
                                            Users

                                            80.7k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            47
                                            3037
                                            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