Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MyMeyer @bahnuhr last edited by

      @bahnuhr Tabelle fertig 🙂 Das berechnen mit deiner Formel findet da aber im Iobroker JS statt richtig ?

      bahnuhr 2 Replies Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @MyMeyer last edited by

        @mymeyer sagte in ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker:

        @bahnuhr Tabelle fertig 🙂 Das berechnen mit deiner Formel findet da aber im Iobroker JS statt richtig ?

        Ja

        M 1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active @MyMeyer last edited by

          @mymeyer sagte in ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker:

          Iobroker JS

          sieht bei mir so aus:

          // Wemos-Drucksensor hat sich geändert
              on({id: "mqtt.2.Wemos_Drucksensor.SENSOR"}, function(obj) {  
                  obj = JSON.parse(obj.state.val); 
                  var wert_Heizung = parseFloat(((obj.ADS1115.A1-2650)/1000*23.58/100).toFixed(2));
                  log ("Heizung: " + obj.ADS1115.A1 + " , " + wert_Heizung);
                  var wert_FB_Heizung = parseFloat(((obj.ADS1115.A2-2650)/1000*23.58/100).toFixed(2));
                  log ("FB-Heizung: " + obj.ADS1115.A2 + " , " + wert_FB_Heizung);
                  var wert_Wasser = parseFloat(((obj.ADS1115.A3-2650)/1000*56.6/100).toFixed(2));
                  log ("Wasser: " + obj.ADS1115.A3 + " , " + wert_Wasser);
                  setState("javascript.0.Geräte.Wemos.Wemos-Drucksensor.Sensor_05_Heizung", wert_Heizung);
                  setState("javascript.0.Geräte.Wemos.Wemos-Drucksensor.Sensor_05_FB-Heizung", wert_FB_Heizung);
                  setState("javascript.0.Geräte.Wemos.Wemos-Drucksensor.Sensor_12_Wasser", wert_Wasser);
              });
          

          Musst du halt anpassen.

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @bahnuhr last edited by

            @bahnuhr sagte: sieht bei mir so aus:

            Die Datenpunkte unter "javascript.0.Geräte.Wemos.Wemos-Drucksensor" sind vom Typ "string"?

            bahnuhr 1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @paul53 last edited by

              @paul53 sagte in ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker:

              @bahnuhr sagte: sieht bei mir so aus:

              Die Datenpunkte unter "javascript.0.Geräte.Wemos.Wemos-Drucksensor" sind vom Typ "string"?

              Wie kommst du da drauf ?

              ... parsefloat !!!

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @bahnuhr last edited by

                @bahnuhr sagte: Wie kommst du da drauf ?

                .toFixed(2) macht aus einer Zahl einen String.

                bahnuhr 1 Reply Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active last edited by

                  @paul53 sagte in ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker:

                  @bahnuhr sagte: Wie kommst du da drauf ?

                  .toFixed(2) macht aus einer Zahl einen String.

                  Ja, und parsefloat macht wieder eine number draus.

                  Oder, hab ich da was falsch verstanden !!!

                  1 Reply Last reply Reply Quote 0
                  • bahnuhr
                    bahnuhr Forum Testing Most Active @paul53 last edited by

                    @paul53
                    Bitte genau die Klammern beachten.

                    925df6cc-698d-4e85-b87a-9f7b90027397-image.png

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @bahnuhr last edited by

                      @bahnuhr sagte: Bitte genau die Klammern beachten.

                      Ja, sehe gerade dass die parseFloat-Klammer das .toFixed(2) mit umschließt. Ist so etwas umständlich. Besser:

                              var wert_Heizung = Math.round((obj.ADS1115.A1-2650)/1000*23.58) / 100;
                      
                      bahnuhr 1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active @paul53 last edited by

                        @paul53 sagte in ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker:

                        @bahnuhr sagte: Bitte genau die Klammern beachten.

                        Ja, sehe gerade dass die parseFloat-Klammer das .toFixed(2) mit umschließt. Ist so etwas umständlich. Besser:

                                var wert_Heizung = Math.round((obj.ADS1115.A1-2650)/1000*23.58) / 100;
                        

                        bekommt man es damit auch hin, dass genau 2 Nachkommastellen erzeugt werden ?

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @bahnuhr last edited by

                          @bahnuhr sagt: bekommt man es damit auch hin, dass genau 2 Nachkommastellen erzeugt werden ?

                          Durch das Wandeln in eine Zahl sind es in jedem Fall maximal 2 Nachkommastellen.

                          bahnuhr 1 Reply Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active @paul53 last edited by

                            @paul53 sagte in ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker:

                            @bahnuhr sagt: bekommt man es damit auch hin, dass genau 2 Nachkommastellen erzeugt werden ?

                            Durch das Wandeln in eine Zahl sind es in jedem Fall maximal 2 Nachkommastellen.

                            Lt. google wird eine Ganzzahl zurück gegeben.

                            ..... Die Math.round() Funktion gibt die nächstgelegenen Ganzzahl einer Zahl zurück.....

                            Und dies will ich ja nicht.
                            Ich möchte 2 Nachkommastellen.

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @bahnuhr last edited by

                              @bahnuhr sagte: Ich möchte 2 Nachkommastellen.

                              Wenn eine Ganzzahl durch 100 geteilt wird, erhält man (max.) 2 Nachkommastellen.

                              bahnuhr 1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active @paul53 last edited by

                                @paul53 sagte in ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker:

                                @bahnuhr sagte: Ich möchte 2 Nachkommastellen.

                                Wenn eine Ganzzahl durch 100 geteilt wird, erhält man (max.) 2 Nachkommastellen.

                                Also erst * 100
                                dann math.round
                                und dann wieder / 100

                                Ist aber auch umständlich, oder ?

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @bahnuhr last edited by paul53

                                  @bahnuhr sagte: Ist aber auch umständlich, oder ?

                                  Wieso? Ich habe die vorhandene Division nur nach der Rundung gemacht. Original-Formel:

                                          var wert_Heizung = parseFloat(((obj.ADS1115.A1-2650)/1000*23.58/100).toFixed(2));
                                  

                                  Geändert in:

                                  var wert_Heizung = Math.round((obj.ADS1115.A1-2650)/1000*23.58) / 100;
                                  
                                  bahnuhr 1 Reply Last reply Reply Quote 1
                                  • bahnuhr
                                    bahnuhr Forum Testing Most Active @paul53 last edited by

                                    @paul53 sagte in ESP8266 ESPEASY Heizungsdruck per MQTT an ioBroker:

                                    var wert_Heizung = Math.round((obj.ADS1115.A1-2650)/1000*23.58) / 100;

                                    Ja, funktioniert auch:
                                    92361347-4bc1-4bf5-acad-bdcc88ac4d20-image.png

                                    Danke für den Input.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      MyMeyer @bahnuhr last edited by MyMeyer

                                      @bahnuhr Hi , ich bin mal wieder 🙂 Habe den Sensor eingebaut , aber irgendwie passen die Werte nicht. Kannst Du bitte nochmal drüber schauen. Wo ist meine Gedankenfehler. 😕

                                      Tasmota:
                                      33f58f31-163a-419c-a6fe-35a0561c415a-image.png

                                      Excel:
                                      cddfb8c9-afdf-43e1-9066-316d4dcea340-image.png

                                      Wenn Die Pumpe aus ist bekomme ich diesen Wert angezeit:
                                      AUS:
                                      7a4a6cab-1eba-4dfa-98bf-e04657efd2f5-image.png

                                      EIN:
                                      62948c00-7b35-48f0-869e-f087266e87c8-image.png

                                      Auf dem Manometer von der Pumpe steht aber 1.0bar ! Zur Info noch der Sensor ist auf ADS01 angeschlossen.

                                      Wo liegt der Fehler ? Siehst Du es oder ist der Sensor shit ?

                                      A bahnuhr 4 Replies Last reply Reply Quote 0
                                      • A
                                        acidsubway @MyMeyer last edited by

                                        Jetzt muss ich mich noch mal melden, die ganze Sache ist total einfach.
                                        Ich habe damals einen ADS1115 verwendet, diesen nur mit 3,3V angeschlossen dadurch kamen die Probleme.
                                        Dies habe ich behoben und dabei festgestellt das der Drucksensor defekt ist.

                                        https://www.amazon.de/KKmoon-Signalgenerator-Spannungsgeber-Signalquelle-Konstantstromquelle/dp/B07YSGVX2W/ref=sr_1_25?__mk_de_DE=ÅMÅŽÕÑ&crid=3PL2EAG5UW1W9&dchild=1&keywords=signalgeber&qid=1623178740&sprefix=signalgebe%2Caps%2C164&sr=8-25

                                        Habe an den ADS einen Signalgeber angeschlossen um 0 und 10bar im espeasy auslesen.
                                        Dadurch das ein Drucksensor immer Linear ist muss man im ESPEasy nur Null und 10Bar angeben.
                                        Danach wieder Sensor angeschlossen und nachgemessen was auf Signal rauskommt.

                                        zBsp bei einerm Sensor wie oben beschrieben:

                                        kommt 1,3V am Signal an

                                        1,3V - 0,5V = 0,8V
                                        0,8V : 4V = 0,2V x 10Bar = 2Bar sollte der Manometer an der Heizung anzeigen 😉

                                        MfG

                                        E 1 Reply Last reply Reply Quote 0
                                        • A
                                          acidsubway @MyMeyer last edited by acidsubway

                                          @mymeyer zeig mal ein Bild wo dein Sensor sitzt.
                                          Du solltest den Sensor in der Nähe vom MAG setzen.

                                          MfG

                                          M 1 Reply Last reply Reply Quote 0
                                          • bahnuhr
                                            bahnuhr Forum Testing Most Active @MyMeyer last edited by

                                            @mymeyer

                                            Hast du an A0 wirklich 5V dran?
                                            Der Wert erscheint mir zu wenig.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            522
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            0.5v-4.5v sensor 10bar heizungsdruck heizungsdruck iobroker mqtt 0
                                            7
                                            72
                                            5871
                                            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