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.
    • 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
                                          • M
                                            MyMeyer @acidsubway last edited by

                                            @acidsubway Der Sensor sitzt an der Poolpumpe. Da der Manometer angeschlossen ist.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            476
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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