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.
    • 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
                        • TH G
                          TH G @mickym last edited by

                          @mickym

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

                          Danke

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

                            @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 G 1 Reply Last reply Reply Quote 1
                            • TH G
                              TH G @mickym last edited by

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

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

                                @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 G 2 Replies Last reply Reply Quote 1
                                • TH G
                                  TH G @mickym last edited by

                                  @mickym

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

                                  1 Reply Last reply Reply Quote 0
                                  • TH G
                                    TH G @mickym last edited by 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.

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @TH G last edited by 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 G 1 Reply Last reply Reply Quote 1
                                      • TH G
                                        TH G @mickym last edited by TH G

                                        @mickym

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

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

                                          @th-g Dann mach halt überall Debug Ausgaben dran und lass Dir Aussentemperatur und Abluft-Temperatur ausgeben und ob es im richtigen Ast passiert.

                                          Was komisch ist, ist dass Dein Puzzleteil englisch ist.

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

                                            Was komisch ist, ist dass Dein Puzzleteil englisch ist.

                                            Ja das wundert mich auch, dass die Sprachen total willkürlich vermischt sind.

                                            mickym Homoran 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            668
                                            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