Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. iobroker, MQTT und Shelly - Was geht wie?

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    iobroker, MQTT und Shelly - Was geht wie?

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

      @th-g Na diese Blockly Puzzles stammen von Google. 😉 - ich mag halt lieber die IBM Nodes von NodeRed. 😉

      Falls Du gedacht hast, das Blockly was eigenes für iobroker ist, dann muss ich Dich leider enttäuschen. 😉

      https://de.wikipedia.org/wiki/Blockly

      Es ist eine "Umgebung zum spielerischen Erlernen von Programmierprinzipien" 😁

      TH G 2 Replies Last reply Reply Quote 0
      • TH G
        TH G @mickym last edited by

        @mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:

        Falls Du gedacht hast, das Blockly was eigenes für iobroker ist, dann muss ich Dich leider enttäuschen.

        Oh das wusste ich nicht, danke für die Info.

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

          @mickym

          Funktioniert so:

          Bildschirm­foto 2023-02-23 um 16.59.52.png

          Ich habe noch gesehen, dass unter Status auch die Temperaturen einzeln ankommen. Das würde das Blockly wohl deutlich vereinfachen oder?

          Bildschirm­foto 2023-02-23 um 17.14.30.png

          mickym 2 Replies Last reply Reply Quote 0
          • mickym
            mickym Most Active @TH G last edited by mickym

            @th-g klar wäre das viel einfacher du könntest direkt das Attribut tC des Objektes in die Datenpunkt e schreiben und die Datenpunkte getrennt abfragen. Auf die Prüfung der id kannst dann verzichten.

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

              @mickym

              Ich finde das sehr verwirrend bei MQTT. Ist das immer so, dass die Daten an unterschiedlichen Stellen stehen?

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @TH G last edited by

                @th-g in der Generation 2 ist es komplexer wenn ich daheim bin suche ich mal den Link. Hat schon System. Ich zeig dir dann noch 2 Varianten mit einzelnen Datenpunkten.

                mickym 1 Reply Last reply Reply Quote 1
                • mickym
                  mickym Most Active @mickym last edited by mickym

                  @mickym So Du musst halt bei Deinem Gerät schauen : https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch#status

                  Hier für den Shelly 1 Plus - vielleicht geht auch noch eine andere Methode den zu schalten. Nicht nur über den rpc Datenpunkt:
                  https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch#status

                  584ece66-5cb5-4bed-9300-4e5ebbda729b-image.png

                  Erstelle mal einen Ordner unter Deinem Shelly:

                  command

                  und dann einen Datenpunkt: switch:0 und da schreibst mal on und off rein oder on,1 - vielleicht switched dann Dein Schalter nach einer Sekunde wieder zurück.

                  Ansonsten ist im /events/rpc alles was der Shelly sonst selbst meldet wenn nicht im Status und der Ast (bei Dir user_1) kommt aus Deinem rpc Kommando. Du kannst verschiedene User angeben, die dann unter einem eigenen Namen was publishen. Das ist erst alles mit der Generation2 so. Das hat den Vorteil einen User im eigenen RPC anzugeben, da Du dann quasi auch in unterschiedlichen RPC Calls (zum Beispiel Blocklies) die Antwort unter unterschiedlichen topics Dir ausgeben lassen kannst.

                  Bockly folgt später.

                  1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @TH G last edited by mickym

                    @th-g So hier die erste Vereinfachung - einfach die Datenpunkte einzeln triggern lassen:

                    60f53772-46d3-44ea-88c7-86011864b535-image.png

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <block type="on" id="a}k/B^QTub@J%E5dJ|pC" x="-13" y="688">
                       <field name="OID">0_userdata.0.test0.test.temperature:100</field>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <statement name="STATEMENT">
                         <block type="debug" id="s-|Jl5zYA9X1`UMZt$}r">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="q~.$g9ZGc_=:Cy!G_H`l">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="text_join" id="N2xj0`=Yf)W5T!wi8QCn">
                               <mutation items="2"></mutation>
                               <value name="ADD0">
                                 <block type="text" id="`C`,kpO1O5n0kDM[gl@P">
                                   <field name="TEXT">Ansaugluft: </field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="get_attr" id="G-LpRTHoLe$aehb1w`Rb">
                                   <value name="PATH">
                                     <shadow type="text" id="?q7NTiKTg@JtdMgq5scX">
                                       <field name="TEXT">tC</field>
                                     </shadow>
                                   </value>
                                   <value name="OBJECT">
                                     <block type="on_source" id="tldQ}a(xD}q%H]0E([a`">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="update" id=".Lf^d}Ob9pX]:ZH:cZWy" disabled="true">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">Object ID</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="get_attr" id="$8GKiNoofme:dUOYQD?a">
                                   <value name="PATH">
                                     <shadow type="text" id="~Hch_u6oO:D+Uze36~(~">
                                       <field name="TEXT">tC</field>
                                     </shadow>
                                   </value>
                                   <value name="OBJECT">
                                     <block type="on_source" id="Bg7$(BB5=Jan5-xfg~Kx">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                       <next>
                         <block type="on" id="0XwZXKyuDaab|q.nPuCd">
                           <field name="OID">0_userdata.0.test0.test.temperature:101</field>
                           <field name="CONDITION">ne</field>
                           <field name="ACK_CONDITION"></field>
                           <statement name="STATEMENT">
                             <block type="debug" id="%,?p^$iA9M[Zt(if8^,v">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="+!]Pxz1($g-eCm0K,3MG">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="text_join" id="YuY0,s6+TAB,gZ|[DKnq">
                                   <mutation items="2"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="liH$7~DHa;#y,flx:0!6">
                                       <field name="TEXT">Zuluft: </field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="get_attr" id="O,Xo7tA6Dm%]aNEFvj=}">
                                       <value name="PATH">
                                         <shadow type="text" id="ize*PfWN?]+V9Q,Z5COg">
                                           <field name="TEXT">tC</field>
                                         </shadow>
                                       </value>
                                       <value name="OBJECT">
                                         <block type="on_source" id="2V^zuCqRdEhSt{3K@qMQ">
                                           <field name="ATTR">state.val</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <next>
                             <block type="on" id="]fpct~=(9RY,gh/Qr%6s">
                               <field name="OID">0_userdata.0.test0.test.temperature:102</field>
                               <field name="CONDITION">ne</field>
                               <field name="ACK_CONDITION"></field>
                               <statement name="STATEMENT">
                                 <block type="debug" id="#{/hC/_x/c=)[r=I3;sI">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="ABz2wpsk}ric{cqY~i4|">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="text_join" id="(=llnRfO{Dg+QJ,{3b+K">
                                       <mutation items="2"></mutation>
                                       <value name="ADD0">
                                         <block type="text" id="K:%Ur(V~2.7X}~rd}rhR">
                                           <field name="TEXT">Abluft. </field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="get_attr" id="*ljvq2C_Og98)|gU@K;J">
                                           <value name="PATH">
                                             <shadow type="text" id="GW+:X(Q#A,@I*LbYT;gF">
                                               <field name="TEXT">tC</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <block type="on_source" id="WAK_N{-75Ey$?3;Hj3|u">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                    </xml>
                    

                    zweite Vereinfachung - alles in einem Trigger - hier muss man die ID wieder selektieren aber der Zugriff auf die Eigenschaften ist easy:

                    ba33a929-c448-4dd1-a3db-39734f4c9ef1-image.png

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id="[a]yK.@;lwe0hytxaDXA">id</variable>
                     </variables>
                     <block type="on_ext" id="duM0}v3uz%0%DY+(bTuU" x="-537" y="-312">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="mD:]e7oEWiavExzl9;GD">
                           <field name="oid">0_userdata.0.test0.test.temperature:100</field>
                         </shadow>
                       </value>
                       <value name="OID1">
                         <shadow type="field_oid" id="Nf[6bLs)::GGL_v}.3W7">
                           <field name="oid">0_userdata.0.test0.test.temperature:101</field>
                         </shadow>
                       </value>
                       <value name="OID2">
                         <shadow type="field_oid" id=";+X8ZOvZQfF30`JG8Lpw">
                           <field name="oid">0_userdata.0.test0.test.temperature:102</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="variables_set" id="-}*p(~s(a|ZGkXG;icH)">
                           <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                           <value name="VALUE">
                             <block type="get_attr" id="~c9H+gET+XUUOBh[$9L@">
                               <value name="PATH">
                                 <shadow type="text" id="FpaW/vGe6AGc)^U2]e4b">
                                   <field name="TEXT">id</field>
                                 </shadow>
                               </value>
                               <value name="OBJECT">
                                 <block type="on_source" id="C|[J^?OqD*:Eo5.^?}%u">
                                   <field name="ATTR">state.val</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="logic_switch_case" id="eDw]M3uC~U,_5LpDbk~]">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" case="2"></mutation>
                               <value name="CONDITION">
                                 <block type="variables_get" id="/IZ8gTN:2x6hAl08h9P!">
                                   <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                                 </block>
                               </value>
                               <value name="CASECONDITION0">
                                 <block type="math_number" id="IPxmhuKO0jg*SJ.RoB4|">
                                   <field name="NUM">100</field>
                                 </block>
                               </value>
                               <statement name="CASE0">
                                 <block type="debug" id=";H{?Hu($};lv9agjb^mM">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="k%BLf~H|$%e)J`k0Xr=B">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="text_join" id="N2xj0`=Yf)W5T!wi8QCn">
                                       <mutation items="2"></mutation>
                                       <value name="ADD0">
                                         <block type="text" id="`C`,kpO1O5n0kDM[gl@P">
                                           <field name="TEXT">Ansaugluft: </field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="get_attr" id="G-LpRTHoLe$aehb1w`Rb">
                                           <value name="PATH">
                                             <shadow type="text" id="?q7NTiKTg@JtdMgq5scX">
                                               <field name="TEXT">tC</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <block type="on_source" id="tldQ}a(xD}q%H]0E([a`">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="CASECONDITION1">
                                 <block type="math_number" id="SbXAsK^ElrJs,!R7NBJ8">
                                   <field name="NUM">101</field>
                                 </block>
                               </value>
                               <statement name="CASE1">
                                 <block type="debug" id="w:_qaJ%=8y-;G0nL3}!~">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="text_join" id=",T8p5e(]GUGMr}VT?Hk@">
                                       <mutation items="2"></mutation>
                                       <value name="ADD0">
                                         <block type="text" id="Lco@yDP8Re?@2UDI{S_0">
                                           <field name="TEXT">Zuluft: </field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="get_attr" id="Rk(W8BY+`E;dF4YU%Y$]">
                                           <value name="PATH">
                                             <shadow type="text" id="=IV1RuSJEeXp-y0W.RZ5">
                                               <field name="TEXT">tC</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <block type="on_source" id="KwLx},`R;y|vCF^SJA^k">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="CASECONDITION2">
                                 <block type="math_number" id="RG,@2Ci(sYY90v)BSKaj">
                                   <field name="NUM">102</field>
                                 </block>
                               </value>
                               <statement name="CASE2">
                                 <block type="debug" id="cA2pV5M)8DRL0w|aSz^J">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="text_join" id="-gEcC9oqiRv/syjd|_b1">
                                       <mutation items="2"></mutation>
                                       <value name="ADD0">
                                         <block type="text" id="wjjiHE|%orae0E,#)1`W">
                                           <field name="TEXT">Abluft: </field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="get_attr" id="2sk?+G]l!,x9cwe4YG4V">
                                           <value name="PATH">
                                             <shadow type="text" id="Gb?H=VyW`%YxMOR/a)Dl">
                                               <field name="TEXT">tC</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <block type="on_source" id=":tW^geR{l`}l.;Kio}M-">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

                    Aber nun wieder genug gepuzzelt - das können andere besser als ich.

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

                      @mickym

                      Du bist ja ganz schön fit in den Dingen. Für mich ist das schon schwierig alles zu verstehen. Ich werde mir auch RedNode mal ansehen, denn das was ich dort schon gesehen habe, hat ja einen ganz anderen Ansatz.

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @TH G last edited by

                        @th-g Der logische Ansatz ist immer der gleiche -

                        Etwas triggert (Du selbst manuell, eine Hardware, ein zeitliches Ereignis) und Du gibst was aus oder steuerst was. Dazwischen kann man Bedingungen einfügen oder die Daten aufbereiten - das ist bei allen Logikmaschinen gleich .
                        Bei NodeRed hast Du halt viele Nodes - die bestimmte Teile (wie ein Unterprogramm für Dich erledigen) und deshalb nicht selbst programmiert werden müssen. Wenn ich Dir dabei helfen soll - gerne. 🙂

                        Probierst Du das mal mit dem Datenpunkt unter command und dem on,1 aus - würde mich interessieren, ob damit Dein Tor steuerbar ist.

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

                          @mickym

                          Ja werde ich machen aber ich komme da erst am WE zu.

                          Nochmals Danke für deine Geduld und Hilfe

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

                            @mickym

                            Hallo und ich hab da mal wieder eine kleine Problemstellung. Habe einen neuen Shelly und möchte hier Temperatur und Luftfeuchtigkeit im VIS anzeigen lassen.

                            Ich dachte ich könnte das Blockly von oben nehmen aber irgendwie habe ich da wohl etwas falsch geändert. Ich würde mich nochmals sehr über Hilfe freuen 🙂

                            Bildschirmfoto 2023-07-04 um 21.36.16.png

                            So kommen die Daten über MQTT:

                            Bildschirmfoto 2023-07-04 um 21.42.25.png

                            mickym 1 Reply Last reply Reply Quote 1
                            • mickym
                              mickym Most Active @TH G last edited by mickym

                              @th-g Verstehe ich nicht. Du triggert hier auf einen rpc datenpunkt. Du musst doch direkt die Datenpunkte nehmen, wo die Temperatur bzw. Luftfeuchtigkeit drinsteht.

                              Du musst doch auf diese beiden DP triggern:

                              38d15085-4fa1-417d-a971-68695bf37c00-image.png

                              Wenn es um die Anzeige im VIS geht - würde ich über ein Alias die Temperatur und Luftfeuchte extrahieren - da brauchst kein Blockly

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

                                @mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:

                                Wenn es um die Anzeige im VIS geht - würde ich über ein Alias die Temperatur und Luftfeuchte extrahieren - da brauchst kein Blockly

                                Oh ok und wie mache ich das bzw. wo kann ich nachlesen wie das geht?

                                mickym 2 Replies Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @TH G last edited by

                                  @th-g Warte ich habe das schon mal genauestens beschrieben - suche nur den Thread wieder.

                                  1 Reply Last reply Reply Quote 1
                                  • mickym
                                    mickym Most Active @TH G last edited by mickym

                                    @th-g sagte in iobroker, MQTT und Shelly - Was geht wie?:

                                    @mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:

                                    Wenn es um die Anzeige im VIS geht - würde ich über ein Alias die Temperatur und Luftfeuchte extrahieren - da brauchst kein Blockly

                                    Oh ok und wie mache ich das bzw. wo kann ich nachlesen wie das geht?

                                    Hier habe ich es genau beschrieben: https://forum.iobroker.net/post/980575

                                    Du kannst es aber auch mit Blockly machen. Wie gesagt triggere einfach auf die entsprechenden Datenpunkte.

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

                                      @mickym

                                      Super hat funktioniert mit dem Alias.

                                      Danke

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @TH G last edited by

                                        @th-g Das wäre die Blockly Lösung auch nicht kompliziert:

                                        25f9970e-8645-4e43-bdb5-3d2502bfb1c8-image.png

                                        Du triggerst auf den Temperaturpunkt und aktualisierst Deinen Datenpunkt mit dem Attribut tC aus dem Objekt.#

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                         <block type="on_ext" id="vpP2(|y+0b9[r*lro6(W" x="-1087" y="-262">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                           <field name="CONDITION">ne</field>
                                           <field name="ACK_CONDITION"></field>
                                           <value name="OID0">
                                             <shadow type="field_oid" id="*,S!U7P~JngOc9QgXBGf">
                                               <field name="oid">0_userdata.0.Test.temperature</field>
                                             </shadow>
                                           </value>
                                           <statement name="STATEMENT">
                                             <block type="debug" id="gHg9b!{ZoLT[SZ-euU:B">
                                               <field name="Severity">log</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="r:}]Vw07P_w=FqsvVrwt">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="get_attr" id="8-52eBa}@%~e8?44xxj,">
                                                   <value name="PATH">
                                                     <shadow type="text" id="qBtaIWaV/o][qH=2C@/$">
                                                       <field name="TEXT">tC</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="OBJECT">
                                                     <block type="on_source" id="t6wW.^2u]uf#KvPiAy}3">
                                                       <field name="ATTR">state.val</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="update" id="EmWw]L+cSy0.[1$WGV_L">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Test.Temperaturen.Bad.Temperatur</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="get_attr" id="Mw{3A7i!}W2bpVA/I{CR">
                                                       <value name="PATH">
                                                         <shadow type="text" id="c+G%n.}l7|EB_noT.3+#">
                                                           <field name="TEXT">tC</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="OBJECT">
                                                         <block type="on_source" id="QpF62#GqqRu=cdjtY)gt">
                                                           <field name="ATTR">state.val</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                        </xml>
                                        

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

                                          @mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:

                                          @th-g Das wäre die Blockly Lösung auch nicht kompliziert:

                                          Was ist denn aus deiner Sicht der ideale Weg? Ich finde das mit dem Alis eigentlich sehr gut, weil ich direkt mit dem Alias auch im Blockly arbeiten könnte.

                                          Gäbe es eigentlich im Alias auch die Möglichkeit, den Punkt durch ein Komma zu ersetzen, denn derzeit kommen alle Werte mit einem Punkt also z.B. 23.5 °C

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @TH G last edited by mickym

                                            @th-g Ja - aber dann werden das Strings - da Javascript natürlich immer mit US Zahlen rechnet. Du kannst den Alias Datenpunkt als String umdeklarieren und in der Konvertierung gibst Du

                                            6db75909-c115-4741-a2d9-dea1977b3e2d-image.png 22542aae-e7dd-4aa9-a6cf-6b194bd76432-image.png

                                            JSON.parse(val).tC.toLocaleString('de-DE')
                                            

                                            ein.

                                            Dann kommt ein String raus - aber mit deutscher Schreibweise:
                                            9fb6edcb-33aa-4533-a72d-e5d5dd11d183-image.png

                                            Ansonsten ist die Lösung mit Alias eine gute Lösung und in meinen Augen auch zu präferieren. Ich hab das mit dem Blockly nur begonnen, weil Du das am Anfang so wolltest.

                                            TH G 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            677
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            167
                                            28814
                                            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