Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. iobroker, MQTT und Shelly - Was geht wie?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

iobroker, MQTT und Shelly - Was geht wie?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
167 Beiträge 10 Kommentatoren 46.4k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM 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 GT Offline
    TH GT Offline
    TH G
    schrieb am zuletzt editiert von
    #59

    @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.

    mickymM 1 Antwort Letzte Antwort
    0
    • TH GT TH G

      @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.

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

      @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.

      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.

      TH GT 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @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 GT Offline
        TH GT Offline
        TH G
        schrieb am zuletzt editiert von
        #61

        @mickym

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

        Nochmals Danke für deine Geduld und Hilfe

        TH GT 1 Antwort Letzte Antwort
        0
        • TH GT TH G

          @mickym

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

          Nochmals Danke für deine Geduld und Hilfe

          TH GT Offline
          TH GT Offline
          TH G
          schrieb am zuletzt editiert von
          #62

          @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

          mickymM 1 Antwort Letzte Antwort
          1
          • TH GT TH G

            @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

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

            @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

            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.

            TH GT 1 Antwort Letzte Antwort
            1
            • mickymM 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 GT Offline
              TH GT Offline
              TH G
              schrieb am zuletzt editiert von
              #64

              @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?

              mickymM 2 Antworten Letzte Antwort
              0
              • TH GT TH G

                @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?

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

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

                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
                1
                • TH GT TH G

                  @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?

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

                  @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.

                  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.

                  TH GT 1 Antwort Letzte Antwort
                  1
                  • mickymM 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 GT Offline
                    TH GT Offline
                    TH G
                    schrieb am zuletzt editiert von
                    #67

                    @mickym

                    Super hat funktioniert mit dem Alias.

                    Danke

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • TH GT TH G

                      @mickym

                      Super hat funktioniert mit dem Alias.

                      Danke

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

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

                      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.

                      TH GT 1 Antwort Letzte Antwort
                      1
                      • mickymM mickym

                        @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 GT Offline
                        TH GT Offline
                        TH G
                        schrieb am zuletzt editiert von
                        #69

                        @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

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • TH GT TH G

                          @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

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

                          @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.

                          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.

                          TH GT 1 Antwort Letzte Antwort
                          1
                          • mickymM 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 GT Offline
                            TH GT Offline
                            TH G
                            schrieb am zuletzt editiert von
                            #71

                            @mickym

                            Ich bin wieder begeistert von deiner Unterstützung und Erklärungen. Schade, dass ich von diesem Thema keine Ahnung habe.

                            Danke

                            mickymM 1 Antwort Letzte Antwort
                            0
                            • TH GT TH G

                              @mickym

                              Ich bin wieder begeistert von deiner Unterstützung und Erklärungen. Schade, dass ich von diesem Thema keine Ahnung habe.

                              Danke

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

                              @th-g Na freut mich - na manchmal muss ich auch bissi recherchieren - und vielleicht schaust Du Dir auch mal NodeRed anstelle von Blockly an, wenn Du Lust hast, vielleicht hilft Dir das ja auch. ;)

                              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.

                              TH GT 1 Antwort Letzte Antwort
                              1
                              • mickymM mickym

                                @th-g Na freut mich - na manchmal muss ich auch bissi recherchieren - und vielleicht schaust Du Dir auch mal NodeRed anstelle von Blockly an, wenn Du Lust hast, vielleicht hilft Dir das ja auch. ;)

                                TH GT Offline
                                TH GT Offline
                                TH G
                                schrieb am zuletzt editiert von
                                #73

                                @mickym

                                Kurzes Update. Alles läuft und ich habe auch weitere Sensordaten auf Alias umgestellt.

                                Ein kleines Problem gibt es aber. Ich kann Alias nicht nutzen, um in Skripten Aktionen durchzuführen. Irgendwie werden die Werte nicht richtig "erkannt/gelesen"

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • TH GT TH G

                                  @mickym

                                  Kurzes Update. Alles läuft und ich habe auch weitere Sensordaten auf Alias umgestellt.

                                  Ein kleines Problem gibt es aber. Ich kann Alias nicht nutzen, um in Skripten Aktionen durchzuführen. Irgendwie werden die Werte nicht richtig "erkannt/gelesen"

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

                                  @th-g Leider kann ich mir ohne konkrete Beispiele das nicht vorstellen. Also bitte ein Beispiel mit allen Informationen, das man es ggf. nachstellen kann.

                                  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.

                                  TH GT 2 Antworten Letzte Antwort
                                  1
                                  • mickymM mickym

                                    @th-g Leider kann ich mir ohne konkrete Beispiele das nicht vorstellen. Also bitte ein Beispiel mit allen Informationen, das man es ggf. nachstellen kann.

                                    TH GT Offline
                                    TH GT Offline
                                    TH G
                                    schrieb am zuletzt editiert von
                                    #75

                                    @mickym

                                    Danke und ich bin noch am testen und werde das dann hier noch reinschreiben.

                                    1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @th-g Leider kann ich mir ohne konkrete Beispiele das nicht vorstellen. Also bitte ein Beispiel mit allen Informationen, das man es ggf. nachstellen kann.

                                      TH GT Offline
                                      TH GT Offline
                                      TH G
                                      schrieb am zuletzt editiert von TH G
                                      #76

                                      @mickym

                                      Ich bekomme es leider nicht hin. Eigentlich ist das was ich will ganz einfach. Einen Fehler sehe ich in der Logik derzeit nicht.

                                      Bildschirmfoto 2023-07-07 um 21.03.30.png

                                      Die Aussentemperatur ist unter der Abluft-Temperatur aber die 0 wird nicht bei Passivkühlung gesetzt.

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • TH GT TH G

                                        @mickym

                                        Ich bekomme es leider nicht hin. Eigentlich ist das was ich will ganz einfach. Einen Fehler sehe ich in der Logik derzeit nicht.

                                        Bildschirmfoto 2023-07-07 um 21.03.30.png

                                        Die Aussentemperatur ist unter der Abluft-Temperatur aber die 0 wird nicht bei Passivkühlung gesetzt.

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

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

                                        @mickym

                                        Ich bekomme es leider nicht hin. Eigentlich ist das was ich will ganz einfach. Einen Fehler sehe ich in der Logik derzeit nicht.

                                        Bildschirmfoto 2023-07-07 um 21.03.30.png

                                        Die Aussentemperatur ist unter der Abluft-Temperatur aber die 0 wird nicht bei Passivkühlung gesetzt.

                                        Na wenn Du das mit dem Komma gemacht hast, dann ist das das Problem. Nochmal Dezimalzahlen werden mit Punkt und als Zahl bearbeitet. Wenn Du aber mit Komma und Strings arbeitest dann geht das nicht. Dann musst halt einen neuen Datenpunkt für Deinen String machen. Javascipt und Blockly arbeiten mit Dezimalzahlen mit einem Punkt. Also nimm diese Konvertierung raus und definiere den Alias Zahl. - Musst Du wissen wieviel Aufwand du rein stecken willst nur um die deutsche Schreibweise bei Dezimalzahlen auszugeben.

                                        Generell sind Dezimalzahlen beim Programmieren mit Dezimalpunkt und nicht mit Dezimalkomma. Wenn Dir das für die Darstellung nicht passt - dann erstelle nochmal einen eigenen Datenpunkt oder Alias.

                                        Das habe ich Dir aber hier erklärt: https://forum.iobroker.net/post/1012640

                                        Stringvergleiche arbeiten anders als Vergleiche mit Zahlen. Hat auch nichts mit Alias zu tun - das ist generell so, dass man sich an Dezimalpunkte gewöhnen sollte und nur bei der Visualisierung ggf. gesondert konvertiert. Nur VIS musst Du dir jemand anders suchen. Ich nutze NodeRed.

                                        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.

                                        TH GT 1 Antwort Letzte Antwort
                                        1
                                        • mickymM mickym

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

                                          @mickym

                                          Ich bekomme es leider nicht hin. Eigentlich ist das was ich will ganz einfach. Einen Fehler sehe ich in der Logik derzeit nicht.

                                          Bildschirmfoto 2023-07-07 um 21.03.30.png

                                          Die Aussentemperatur ist unter der Abluft-Temperatur aber die 0 wird nicht bei Passivkühlung gesetzt.

                                          Na wenn Du das mit dem Komma gemacht hast, dann ist das das Problem. Nochmal Dezimalzahlen werden mit Punkt und als Zahl bearbeitet. Wenn Du aber mit Komma und Strings arbeitest dann geht das nicht. Dann musst halt einen neuen Datenpunkt für Deinen String machen. Javascipt und Blockly arbeiten mit Dezimalzahlen mit einem Punkt. Also nimm diese Konvertierung raus und definiere den Alias Zahl. - Musst Du wissen wieviel Aufwand du rein stecken willst nur um die deutsche Schreibweise bei Dezimalzahlen auszugeben.

                                          Generell sind Dezimalzahlen beim Programmieren mit Dezimalpunkt und nicht mit Dezimalkomma. Wenn Dir das für die Darstellung nicht passt - dann erstelle nochmal einen eigenen Datenpunkt oder Alias.

                                          Das habe ich Dir aber hier erklärt: https://forum.iobroker.net/post/1012640

                                          Stringvergleiche arbeiten anders als Vergleiche mit Zahlen. Hat auch nichts mit Alias zu tun - das ist generell so, dass man sich an Dezimalpunkte gewöhnen sollte und nur bei der Visualisierung ggf. gesondert konvertiert. Nur VIS musst Du dir jemand anders suchen. Ich nutze NodeRed.

                                          TH GT Offline
                                          TH GT Offline
                                          TH G
                                          schrieb am zuletzt editiert von TH G
                                          #78

                                          @mickym

                                          Alle Daten liegen Dezimal und mit Punkt vor und ich habe das mit dem Komma nicht gemacht.

                                          mickymM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          460

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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