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. Bitte um Kurzcheck Blockly und Datentypen

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    302

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    930

Bitte um Kurzcheck Blockly und Datentypen

Geplant Angeheftet Gesperrt Verschoben Blockly
16 Beiträge 4 Kommentatoren 636 Aufrufe 3 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.
  • ? Ein ehemaliger Benutzer

    Hi
    ich habe ein Blockly um auf Helligkeit basierend Rolladen zu schließen.
    Die Helligkeit wird mir per MQTT (String) in IOBroker übermittelt. Ich hatte dort mit "Wert von Objekt ID" gearbeitet um den String in eine Number zu konvertieren. Dies geht wohl mit Admin 5 und JS3.3 nicht mehr.
    Deswegen habe ich nun einen Alias angelegt (type: number) und prüfe diesen im Blockly gegen die Eingabe Strings/values vom VIS.

    Ist dies so korrekt gelöst?

    <xml xmlns="https://developers.google.com/blockly/xml">
      <block type="on" id="qx}[y=CfL_j+sAQTW;.L" x="-187" y="-262">
        <field name="OID">mqtt.0.HeizKellerTank2.Lux.Helligkeit</field>
        <field name="CONDITION">ne</field>
        <field name="ACK_CONDITION"></field>
        <statement name="STATEMENT">
          <block type="controls_if" id="4g1=r#,3O9FcGD!f-iMW">
            <value name="IF0">
              <block type="time_compare_ex" id="*i9xu-g(k]NQUAifGVtf">
                <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                <field name="USE_ACTUAL_TIME">TRUE</field>
                <field name="OPTION">between</field>
                <value name="START_TIME">
                  <shadow type="text">
                    <field name="TEXT">12:00</field>
                  </shadow>
                  <block type="time_astro" id="|GVA2fmugCA@{*!MyayN">
                    <field name="TYPE">sunset</field>
                    <field name="OFFSET">-45</field>
                  </block>
                </value>
                <value name="END_TIME">
                  <shadow type="text">
                    <field name="TEXT">18:00</field>
                  </shadow>
                  <block type="time_astro" id="hUSu:npx`+HVcvJlpADV">
                    <field name="TYPE">sunset</field>
                    <field name="OFFSET">45</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="comment" id="Ly0v.9^[?YE{z]bBKCc^">
                <field name="COMMENT">Rollade Küche Lux Schließen</field>
                <next>
                  <block type="controls_if" id="aVeRm0uQ.G3`_DkDBzuL">
                    <value name="IF0">
                      <block type="logic_operation" id="i3UJ{C(EJ{s-qjt#T#L9" inline="false">
                        <field name="OP">AND</field>
                        <value name="A">
                          <block type="logic_compare" id="7iCz}?N7N|h|OL]8ajMC">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value" id="vJCPWjrh0,k3vb)kIE!n">
                                <field name="ATTR">val</field>
                                <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerKuecheSchließen</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="logic_boolean" id="4a0Ot_}]t+}=_x@+V~5k">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_compare" id="qm+1R4kR?5[iW$x:mbW=">
                            <field name="OP">LTE</field>
                            <value name="A">
                              <block type="field_oid" id="5A/:al[=+67^8=TF.w*B">
                                <field name="oid">alias.0.HeizKellerTank2/Lux/Helligkeit.Helligkeit</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="get_value" id="e*=D)p%KKL~HHKo0N(hA">
                                <field name="ATTR">val</field>
                                <field name="OID">javascript.0.scriptEnabled.Rolladen.KuecheLuxSchließen</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="control" id="]+(~y}77yOG(2aa4r]3o">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">shelly.0.SHSW-25#73F734#1.Shutter.Position</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="math_number" id="Ya~tog^H+M,gSn,xnqte">
                            <field name="NUM">0</field>
                          </block>
                        </value>
                        <next>
                          <block type="request" id="^X7Hys0ek/k;gB);G~`f">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                            <field name="WITH_STATEMENT">FALSE</field>
                            <field name="LOG">log</field>
                            <value name="URL">
                              <shadow type="text" id="Q|/1O4yZa7[8G}:94`${">
                                <field name="TEXT">http://192.168.7.163/light/0?turn=on&amp;brightness=60&amp;white=25</field>
                              </shadow>
                            </value>
                            <next>
                              <block type="control" id="nG=%:VW{RB7.v1kmsWh(">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerKuecheSchließen</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="(PK_E@3ft}x.^*)qj2CC">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="debug" id="YL+a!o^uUcac10zzE.a)">
                                    <field name="Severity">log</field>
                                    <value name="TEXT">
                                      <shadow type="text" id="q4b;;}fcaxcQDtKuae^k">
                                        <field name="TEXT">Dunkel: Rollade Küche schließen</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </statement>
                    <next>
                      <block type="comment" id="KH*g1=wsqiDel-[7WOY/">
                        <field name="COMMENT">Rollade Arbeitszimmer Lux Schließen</field>
                        <next>
                          <block type="controls_if" id="jnZj})L=@(?jAlB*k/rr">
                            <value name="IF0">
                              <block type="logic_operation" id="TflMkg+^;6!xX6*y6N2z" inline="false">
                                <field name="OP">AND</field>
                                <value name="A">
                                  <block type="logic_compare" id="ypCddC!]CsQbi:9s~#qw">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="!:q%:B}k$/xzJ(LLO%CQ">
                                        <field name="ATTR">val</field>
                                        <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerArbeitszimmerSchließen</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="YfJ:-/7wrZ8*[!Yxaj@{">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="logic_compare" id="]{$6xh*u-8e3g|(8%7rp">
                                    <field name="OP">LTE</field>
                                    <value name="A">
                                      <block type="field_oid" id="bO5-|nscovSS;I)~cH_b">
                                        <field name="oid">alias.0.HeizKellerTank2/Lux/Helligkeit.Helligkeit</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="get_value" id="o%m;BzpLOi2PEn^PN33n">
                                        <field name="ATTR">val</field>
                                        <field name="OID">javascript.0.scriptEnabled.Rolladen.ArbeitszimmerLuxSchließen</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="*G:Nub)o_2p{|~rZJy_+">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">shelly.0.SHSW-25#745D08#1.Shutter.Position</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="math_number" id="9|D#~V0b1xm6PO}j?Y]v">
                                    <field name="NUM">0</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="control" id="qC]$L2@ez5p6qqpflHrL">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerArbeitszimmerSchließen</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="U@/Khiy[o:jKTw50yc?K">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="debug" id="WSJ[VMKw!.;sup5Nizvd">
                                        <field name="Severity">log</field>
                                        <value name="TEXT">
                                          <shadow type="text" id="D~cBP%w1V=wZ:qTJ-#G6">
                                            <field name="TEXT">Dunkel: Rollade Arbeitszimmer schließen</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                            <next>
                              <block type="comment" id="{(]D%uLRbSw^xKDKRUy[">
                                <field name="COMMENT">Rollade Esszzimmer Lux Schließen</field>
                                <next>
                                  <block type="controls_if" id="GGkF!WPAAnsE)V]O_wzI">
                                    <value name="IF0">
                                      <block type="logic_operation" id="_,Ip3;`ca4!7h@~$=H5G" inline="false">
                                        <field name="OP">AND</field>
                                        <value name="A">
                                          <block type="logic_compare" id="y--2eFSTVI=e~`^6Hvq5">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="get_value" id="_Ez[zA#iJWaSn*Su@El5">
                                                <field name="ATTR">val</field>
                                                <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerEsszimmerSchließen</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="logic_boolean" id="e*6y6U8_nc3}P?r6v)+G">
                                                <field name="BOOL">FALSE</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="logic_compare" id="Wh;weC9FAiAF];p-kQ+8">
                                            <field name="OP">LTE</field>
                                            <value name="A">
                                              <block type="field_oid" id="*$QIpsYkgrGEKv0/f6ax">
                                                <field name="oid">alias.0.HeizKellerTank2/Lux/Helligkeit.Helligkeit</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="get_value" id="`#x_YW4rJLWYHg^*CngH">
                                                <field name="ATTR">val</field>
                                                <field name="OID">javascript.0.scriptEnabled.Rolladen.EsszimmerLuxSchließen</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="control" id="BF}/9`Dle-7Po7mDv#U4">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">shelly.0.SHSW-25#740A41#1.Shutter.Position</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="k4i4wS@yD3Rpm@l#QhH]">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="control" id="E^{+N!^#Y1GPk]TBcTd)">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerEsszimmerSchließen</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="@r0_p02#]o2}Lvrwofp9">
                                                <field name="BOOL">TRUE</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="debug" id="C6*Qd)i/FM1+x!IKCZV}">
                                                <field name="Severity">log</field>
                                                <value name="TEXT">
                                                  <shadow type="text" id="oU_?,.I0Fh0a4F*XcHE%">
                                                    <field name="TEXT">Dunkel: Rollade Esszimmer schließen</field>
                                                  </shadow>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </statement>
      </block>
      <block type="comment" id="0)ReTvOhNc0fU2$U;hOK" x="-163" y="887">
        <field name="COMMENT">Merker Schließen zurücksetzen</field>
        <next>
          <block type="schedule" id="-ok}bCi_A5Q]=uTR1pm6">
            <field name="SCHEDULE">*/5 * * * *</field>
            <statement name="STATEMENT">
              <block type="controls_if" id="8g^B+6bA6#R@5*Y*?S=M">
                <value name="IF0">
                  <block type="logic_operation" id="/:Vp[.`Pm-4?PPs~*7V;" inline="false">
                    <field name="OP">AND</field>
                    <value name="A">
                      <block type="time_compare_ex" id="0,+z+c@v)Mb40jc]rFJm">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
                        <field name="USE_ACTUAL_TIME">TRUE</field>
                        <field name="OPTION">&lt;</field>
                        <value name="START_TIME">
                          <shadow type="text" id="/=BI}QH|!c|:g0uFXCpp">
                            <field name="TEXT">12:00</field>
                          </shadow>
                        </value>
                      </block>
                    </value>
                    <value name="B">
                      <block type="time_compare_ex" id="ZQVz`=bXSwNRKG3lgluk">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
                        <field name="USE_ACTUAL_TIME">TRUE</field>
                        <field name="OPTION">&lt;</field>
                        <value name="START_TIME">
                          <shadow type="text" id="z-Ulw~-!X:33^CxjF1f.">
                            <field name="TEXT">15:00</field>
                          </shadow>
                        </value>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="controls_if" id="F[kfxhv?K3Z~R~6rsdr9">
                    <value name="IF0">
                      <block type="logic_compare" id="2=.by4:`_y4P!o=By`3Q">
                        <field name="OP">EQ</field>
                        <value name="A">
                          <block type="logic_boolean" id="}w(R,0}#,}Wyl8O]:Wv1">
                            <field name="BOOL">TRUE</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="get_value" id="HdIb36*g-AgbSO?b~T6K">
                            <field name="ATTR">val</field>
                            <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerArbeitszimmerSchließen</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="control" id="W4c-oz?8jgFRpN/.q1=N">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerArbeitszimmerSchließen</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="logic_boolean" id="g5^qC=_9cwT9XKCcRqNq">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                      </block>
                    </statement>
                    <next>
                      <block type="controls_if" id="k+/}v(NHS7*`C)`|vmI;">
                        <value name="IF0">
                          <block type="logic_compare" id="WM=*?gX[7PXjwIYppJ?E">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="logic_boolean" id="4lK~YxOrkC~@-~S+a%8-">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="get_value" id="nVf=48m~M=MK=WAbhC2Y">
                                <field name="ATTR">val</field>
                                <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerKuecheSchließen</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="control" id="2oH[@9~P|3f}mZB0bF9|">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerKuecheSchließen</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="!GQ,I:1]Rx26[JVdG{D%">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                          </block>
                        </statement>
                        <next>
                          <block type="controls_if" id="K_d:s8sUz!z0qBtl?Axs">
                            <value name="IF0">
                              <block type="logic_compare" id="0ypq[a4Bxv9C|yU)qDgm">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="logic_boolean" id="^8CrNU$Bu?4v#[i3!P8R">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="get_value" id="PWE7ohWJ,m.H]Vkx)OGj">
                                    <field name="ATTR">val</field>
                                    <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerEsszimmerSchließen</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="control" id="5l]0#T~q:F2@Uw}Ipw)H">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">javascript.0.scriptEnabled.Rolladen.MerkerEsszimmerSchließen</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="=65VY:kS+F2n`[/Ai~e,">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </xml>
    

    ea7e211b-3a6c-42cd-a9e1-d86ba4369dbe-grafik.png

    Vielen Dank vorab!

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #3

    @pete0815 sagte in Bitte um Kurzcheck Blockly und Datentypen:

    Ist dies so korrekt gelöst?

    Nein, die Objekt-ID (Helligkeit) enthält nicht den Wert. Besser so:

    Bild_2021-08-18_175223.png

    Wert:

    Blockly_DP_Props.JPG

    Keine eigenen Datenpunkte unter "javascript.0.scriptEnabled" erstellen!

    Ist der Alias vom Typ Zahl und der MQTT-Datenpunkt vom Typ Zeichenkette? Dann nimm den Alias auch zum Triggern.

    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

    ? 2 Antworten Letzte Antwort
    0
    • paul53P paul53

      @pete0815 sagte in Bitte um Kurzcheck Blockly und Datentypen:

      Ist dies so korrekt gelöst?

      Nein, die Objekt-ID (Helligkeit) enthält nicht den Wert. Besser so:

      Bild_2021-08-18_175223.png

      Wert:

      Blockly_DP_Props.JPG

      Keine eigenen Datenpunkte unter "javascript.0.scriptEnabled" erstellen!

      Ist der Alias vom Typ Zahl und der MQTT-Datenpunkt vom Typ Zeichenkette? Dann nimm den Alias auch zum Triggern.

      ? Offline
      ? Offline
      Ein ehemaliger Benutzer
      schrieb am zuletzt editiert von
      #4

      @paul53 said in Bitte um Kurzcheck Blockly und Datentypen:

      @pete0815 sagte in Bitte um Kurzcheck Blockly und Datentypen:

      Ist dies so korrekt gelöst?

      Nein, die Objekt-ID (Helligkeit) enthält nicht den Wert. Besser so:

      Bild_2021-08-18_175223.png

      Wert:

      Blockly_DP_Props.JPG

      ok, vielen Dank! Dann kann ich mir den Alias sparen? Sinn war ja den Mqtt DP vom Standardtyp string in number über einen Alias zu konvertieren. Da ich den Mqtt DP öfters verwende, wäre das dann nur 1mal konviert an Stelle von x-fach bei jeder Verwendung. Macht das Sinn?

      Keine eigenen Datenpunkte unter "javascript.0.scriptEnabled" erstellen!

      Oooh Oooh, da habe ich nahezu 99,9% der selbst erstellten DPs.

      Ist der Alias vom Typ Zahl und der MQTT-Datenpunkt vom Typ Zeichenkette? Dann nimm den Alias auch zum Triggern.

      Ja, habe ihn per Skript erstellt, dass Du hier im Forum zur Verfügung gestellt hast. Habe aber eben auch gesehen, dass es inzwischen einen Alias Manager gibt.

      1 Antwort Letzte Antwort
      0
      • A Ahnungsbefreit

        @pete0815 Nein, mit oder ohne Alias (und das sollte eigentlich den gleichen Datentyp haben wie die Quelle). Den Inhalt eines Datenpunkts bekommst Du nur mit "Wert von ..."

        Das hier

        54686f09-2668-465b-b746-3feced3dbcab-image.png

        kann nicht funktionieren. Wenn es an den Datentypen hängt, dann kannst Du die ja auch in Blockly konvertieren.

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #5

        @ahnungsbefreit said in Bitte um Kurzcheck Blockly und Datentypen:

        @pete0815 Nein, mit oder ohne Alias (und das sollte eigentlich den gleichen Datentyp haben wie die Quelle). Den Inhalt eines Datenpunkts bekommst Du nur mit "Wert von ..."

        Das hier

        54686f09-2668-465b-b746-3feced3dbcab-image.png

        kann nicht funktionieren. Wenn es an den Datentypen hängt, dann kannst Du die ja auch in Blockly konvertieren.

        Danke, nochmal gut und verständlich erklärt. Irgendwann muß ich das mal länger raffen.

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @pete0815 sagte in Bitte um Kurzcheck Blockly und Datentypen:

          Ist dies so korrekt gelöst?

          Nein, die Objekt-ID (Helligkeit) enthält nicht den Wert. Besser so:

          Bild_2021-08-18_175223.png

          Wert:

          Blockly_DP_Props.JPG

          Keine eigenen Datenpunkte unter "javascript.0.scriptEnabled" erstellen!

          Ist der Alias vom Typ Zahl und der MQTT-Datenpunkt vom Typ Zeichenkette? Dann nimm den Alias auch zum Triggern.

          ? Offline
          ? Offline
          Ein ehemaliger Benutzer
          schrieb am zuletzt editiert von
          #6

          @paul53

          Darf ich nochmal dumm zum Verständnis fragen. Hatte es vorher auf "Wert von" und dann direkt auf den Mqtt DP laufen:
          6553769c-a8e9-406a-8f00-01d9913c1a2d-grafik.png

          Das hat bis Admin5/JS3.3 funktioniert. Warum funktioniert das ohne Konvertierung wenn der MQTT DP immer vom Typ String ist. Der sollte doch dann keinen Wert haben oder?

          mickymM paul53P 2 Antworten Letzte Antwort
          0
          • ? Ein ehemaliger Benutzer

            @paul53

            Darf ich nochmal dumm zum Verständnis fragen. Hatte es vorher auf "Wert von" und dann direkt auf den Mqtt DP laufen:
            6553769c-a8e9-406a-8f00-01d9913c1a2d-grafik.png

            Das hat bis Admin5/JS3.3 funktioniert. Warum funktioniert das ohne Konvertierung wenn der MQTT DP immer vom Typ String ist. Der sollte doch dann keinen Wert haben oder?

            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #7

            @pete0815 Weil Du grundsätzlich auch Strings vergleichen kannst - das nennt man dann sortieren:

            A ist kleiner als B. ;)

            und auch

            1 ist keiner als 2

            allerdings wird

            2 größer als 12 sein. ;)

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            ? 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @pete0815 Weil Du grundsätzlich auch Strings vergleichen kannst - das nennt man dann sortieren:

              A ist kleiner als B. ;)

              und auch

              1 ist keiner als 2

              allerdings wird

              2 größer als 12 sein. ;)

              ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #8

              @mickym said in Bitte um Kurzcheck Blockly und Datentypen:

              @pete0815 Weil Du grundsätzlich auch Strings vergleichen kannst - das nennt man dann sortieren:

              A ist kleiner als B. ;)

              und auch

              1 ist keiner als 2

              allerdings wird

              2 größer als 12 sein. ;)

              Aaah ok. Vielen Dank! da wäre ich nie drauf gekommen :man-facepalming:

              1 Antwort Letzte Antwort
              0
              • ? Ein ehemaliger Benutzer

                @paul53

                Darf ich nochmal dumm zum Verständnis fragen. Hatte es vorher auf "Wert von" und dann direkt auf den Mqtt DP laufen:
                6553769c-a8e9-406a-8f00-01d9913c1a2d-grafik.png

                Das hat bis Admin5/JS3.3 funktioniert. Warum funktioniert das ohne Konvertierung wenn der MQTT DP immer vom Typ String ist. Der sollte doch dann keinen Wert haben oder?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #9

                @pete0815 sagte: Das hat bis Admin5/JS3.3 funktioniert.

                Jetzt nicht mehr?

                @pete0815 sagte in Bitte um Kurzcheck Blockly und Datentypen:

                Warum funktioniert das ohne Konvertierung wenn der MQTT DP immer vom Typ String ist

                Wenn eine Seite eines Vergleichs eine Zahl enthält, macht Javascript eine implizite Typwandlung des Strings auf der anderen Seite in eine Zahl.

                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

                ? 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @pete0815 sagte: Das hat bis Admin5/JS3.3 funktioniert.

                  Jetzt nicht mehr?

                  @pete0815 sagte in Bitte um Kurzcheck Blockly und Datentypen:

                  Warum funktioniert das ohne Konvertierung wenn der MQTT DP immer vom Typ String ist

                  Wenn eine Seite eines Vergleichs eine Zahl enthält, macht Javascript eine implizite Typwandlung des Strings auf der anderen Seite in eine Zahl.

                  ? Offline
                  ? Offline
                  Ein ehemaliger Benutzer
                  schrieb am zuletzt editiert von
                  #10

                  @paul53 said in Bitte um Kurzcheck Blockly und Datentypen:

                  @pete0815 sagte: Das hat bis Admin5/JS3.3 funktioniert.

                  Jetzt nicht mehr?

                  Nuja, die Schaltung funktioniert noch, aber der Log lief auf einmal bei mir voll. Ein paar Tage habe ich nichts bemerkt und heute hatte ich einen 16MB Log.

                  2021-08-17 23:55:45.896 - info: mqtt.0 (843) State value to set for "mqtt.0.HeizKellerTank2.Lux.Helligkeit" has to be type "number" but received type "string" 
                  

                  Hieraus die Intention dies zu Verbessern und richtig umzusetzen.

                  @pete0815 sagte in Bitte um Kurzcheck Blockly und Datentypen:

                  Warum funktioniert das ohne Konvertierung wenn der MQTT DP immer vom Typ String ist

                  Wenn eine Seite eines Vergleichs eine Zahl enthält, macht Javascript eine implizite Typwandlung des Strings auf der anderen Seite in eine Zahl.

                  danke.Widerspricht sich das zur Auskunft von @mickym ?
                  Alleine kann ich Beides nachvollziehen, aber zusammen tue ich mich schwer.

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • ? Ein ehemaliger Benutzer

                    @paul53 said in Bitte um Kurzcheck Blockly und Datentypen:

                    @pete0815 sagte: Das hat bis Admin5/JS3.3 funktioniert.

                    Jetzt nicht mehr?

                    Nuja, die Schaltung funktioniert noch, aber der Log lief auf einmal bei mir voll. Ein paar Tage habe ich nichts bemerkt und heute hatte ich einen 16MB Log.

                    2021-08-17 23:55:45.896 - info: mqtt.0 (843) State value to set for "mqtt.0.HeizKellerTank2.Lux.Helligkeit" has to be type "number" but received type "string" 
                    

                    Hieraus die Intention dies zu Verbessern und richtig umzusetzen.

                    @pete0815 sagte in Bitte um Kurzcheck Blockly und Datentypen:

                    Warum funktioniert das ohne Konvertierung wenn der MQTT DP immer vom Typ String ist

                    Wenn eine Seite eines Vergleichs eine Zahl enthält, macht Javascript eine implizite Typwandlung des Strings auf der anderen Seite in eine Zahl.

                    danke.Widerspricht sich das zur Auskunft von @mickym ?
                    Alleine kann ich Beides nachvollziehen, aber zusammen tue ich mich schwer.

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #11

                    @pete0815 Na ja mein Beispiel mit den Zahlen war nicht ganz richtig und die implizite Typumwandlung in Zahlen findet halt statt, wenn die Strings beides in 2 Zahlen gewandelt werden kann. Ist jedoch eines der beiden Typen ein String und das andere eine Zahl, wird auch das andere ein String. (siehe Beispiel unten 52)

                    https://www.w3schools.com/js/js_type_conversion.asp

                    9a3b8677-d20b-4ccb-a1f6-3a3f7d13e805-image.png

                    Im Endeffekt hat @paul53 natürlich mal wieder Recht, wenn beide Strings in Zahlen gewandelt werden kann. Allerdings weiß ich nicht, ob diese implizierte Konvertierung tatsächlich bei Vergleichsoperationen stattfindet - oder nur wenn damit gerechnet wird. ;) - Aber das kann @paul53 sicher auch klären.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    ? paul53P 2 Antworten Letzte Antwort
                    0
                    • mickymM mickym

                      @pete0815 Na ja mein Beispiel mit den Zahlen war nicht ganz richtig und die implizite Typumwandlung in Zahlen findet halt statt, wenn die Strings beides in 2 Zahlen gewandelt werden kann. Ist jedoch eines der beiden Typen ein String und das andere eine Zahl, wird auch das andere ein String. (siehe Beispiel unten 52)

                      https://www.w3schools.com/js/js_type_conversion.asp

                      9a3b8677-d20b-4ccb-a1f6-3a3f7d13e805-image.png

                      Im Endeffekt hat @paul53 natürlich mal wieder Recht, wenn beide Strings in Zahlen gewandelt werden kann. Allerdings weiß ich nicht, ob diese implizierte Konvertierung tatsächlich bei Vergleichsoperationen stattfindet - oder nur wenn damit gerechnet wird. ;) - Aber das kann @paul53 sicher auch klären.

                      ? Offline
                      ? Offline
                      Ein ehemaliger Benutzer
                      schrieb am zuletzt editiert von
                      #12

                      @mickym
                      Danke, jetzt habe ich es wohl verstanden und die Helligkeit ist in der Zwischenzeit zur Dunkelheit geworden und die Rollos haben sich ohne Meldung im Log wie gewünscht geschlossen. Besten Dank!

                      1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @pete0815 Na ja mein Beispiel mit den Zahlen war nicht ganz richtig und die implizite Typumwandlung in Zahlen findet halt statt, wenn die Strings beides in 2 Zahlen gewandelt werden kann. Ist jedoch eines der beiden Typen ein String und das andere eine Zahl, wird auch das andere ein String. (siehe Beispiel unten 52)

                        https://www.w3schools.com/js/js_type_conversion.asp

                        9a3b8677-d20b-4ccb-a1f6-3a3f7d13e805-image.png

                        Im Endeffekt hat @paul53 natürlich mal wieder Recht, wenn beide Strings in Zahlen gewandelt werden kann. Allerdings weiß ich nicht, ob diese implizierte Konvertierung tatsächlich bei Vergleichsoperationen stattfindet - oder nur wenn damit gerechnet wird. ;) - Aber das kann @paul53 sicher auch klären.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #13

                        @mickym sagte: wenn beide Strings in Zahlen gewandelt werden kann.

                        Wenn beide Seiten eines Vergleichs Strings enthalten, erfolgt keine Typwandlung, sondern ein String-Vergleich wie Du ihn beschrieben hast.

                        @mickym sagte in Bitte um Kurzcheck Blockly und Datentypen:

                        ob diese implizierte Konvertierung tatsächlich bei Vergleichsoperationen stattfindet - oder nur wenn damit gerechnet wird.

                        Auch, wenn gerechnet wird, außer bei + (Addition): Wenn bei + nur an einer Stelle ein String vorkommt, erfolgt immer eine String-Verkettung. Beispiel: "4" + 1 + 2 = 4 + "1" + 2 = "412".

                        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

                        ? 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @mickym sagte: wenn beide Strings in Zahlen gewandelt werden kann.

                          Wenn beide Seiten eines Vergleichs Strings enthalten, erfolgt keine Typwandlung, sondern ein String-Vergleich wie Du ihn beschrieben hast.

                          @mickym sagte in Bitte um Kurzcheck Blockly und Datentypen:

                          ob diese implizierte Konvertierung tatsächlich bei Vergleichsoperationen stattfindet - oder nur wenn damit gerechnet wird.

                          Auch, wenn gerechnet wird, außer bei + (Addition): Wenn bei + nur an einer Stelle ein String vorkommt, erfolgt immer eine String-Verkettung. Beispiel: "4" + 1 + 2 = 4 + "1" + 2 = "412".

                          ? Offline
                          ? Offline
                          Ein ehemaliger Benutzer
                          schrieb am zuletzt editiert von
                          #14

                          @paul53

                          Ich glaube, ich habe eine Idee woher die Log Einträge kommen. Die kamen nur zwischen 20:45h und 06:30h. Das dürfte grob eine Zeit sein, wo der Mqtt String 0 gewesen ist (Dunkel).

                          Ist das dann ein besonderer Fall für die Umwandlung (ggf Division durch 0 oder sowas) und läuft deswegen ins Log?

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • ? Ein ehemaliger Benutzer

                            @paul53

                            Ich glaube, ich habe eine Idee woher die Log Einträge kommen. Die kamen nur zwischen 20:45h und 06:30h. Das dürfte grob eine Zeit sein, wo der Mqtt String 0 gewesen ist (Dunkel).

                            Ist das dann ein besonderer Fall für die Umwandlung (ggf Division durch 0 oder sowas) und läuft deswegen ins Log?

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #15

                            @pete0815 sagte: Mqtt String 0 gewesen ist (Dunkel).

                            Ist das dann ein besonderer Fall für die Umwandlung (ggf Division durch 0 oder sowas) und läuft deswegen ins Log?

                            Wo machst Du eine Division? "0" ist nichts besonderes.

                             "mqtt.0.HeizKellerTank2.Lux.Helligkeit" has to be type "number" but received type "string"
                            

                            Das ist ein Fehler im MQTT-Adapter, da der Datenpunkt den falschen Typ "number" hat. Dieser Fehler ist früher nicht aufgefallen, da nicht angemeckert.

                            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

                            ? 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @pete0815 sagte: Mqtt String 0 gewesen ist (Dunkel).

                              Ist das dann ein besonderer Fall für die Umwandlung (ggf Division durch 0 oder sowas) und läuft deswegen ins Log?

                              Wo machst Du eine Division? "0" ist nichts besonderes.

                               "mqtt.0.HeizKellerTank2.Lux.Helligkeit" has to be type "number" but received type "string"
                              

                              Das ist ein Fehler im MQTT-Adapter, da der Datenpunkt den falschen Typ "number" hat. Dieser Fehler ist früher nicht aufgefallen, da nicht angemeckert.

                              ? Offline
                              ? Offline
                              Ein ehemaliger Benutzer
                              schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                              #16

                              @paul53 said in Bitte um Kurzcheck Blockly und Datentypen:

                              @pete0815 sagte: Mqtt String 0 gewesen ist (Dunkel).

                              Ist das dann ein besonderer Fall für die Umwandlung (ggf Division durch 0 oder sowas) und läuft deswegen ins Log?

                              Wo machst Du eine Division? "0" ist nichts besonderes.

                              Bei dem DP handelt es sich um die Helligkeit in Lux. Da die Meldung nur im Log zwischen ca. 20:45h und 6:30h alle 20 Sekunden auftaucht war dies für mich ein Ansatz/Frage da die Helligkeit in der Zeit 0 Lux ist.
                              Da aber nicht anwendbar, ok und verworfen.

                               "mqtt.0.HeizKellerTank2.Lux.Helligkeit" has to be type "number" but received type "string"
                              

                              Das ist ein Fehler im MQTT-Adapter, da der Datenpunkt den falschen Typ "number" hat. Dieser Fehler ist früher nicht aufgefallen, da nicht angemeckert.

                              Edit: Aah, habe es gefunden. Adapter gestopt, Datenpunkte gelöscht und Adapter gestartet. Die alten DPs waren "number". Die neuen sind "string".
                              Das dürfte es gewesen sein :)

                              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

                              571

                              Online

                              32.8k

                              Benutzer

                              82.8k

                              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