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
      Ich benutze Tasmota; mit espeasy kenn ich mich nicht aus.

      Aber du bekommst doch ads Werte geliefert.
      Und zwar 18.595.

      Und diesen lässt du übertragen noch iob.
      Und dann per Script mit der o.g. Formel auswerten.

      Also
      (Wert-2650)/1000*37,74%

      ergibt somit: 6,01 bar

      mfg

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

        @bahnuhr Aber es kann doch nicht sein wenn das Teil (Sensor) auf dem Tisch liegt das dort 6 Bar anliegen. Auf der Druckseite ist ja noch nichts angeschlossen. Oder habe ich da einen Denkfehler....

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

          @bahnuhr Aber es kann doch nicht sein wenn das Teil (Sensor) auf dem Tisch liegt das dort 6 Bar anliegen. Auf der Druckseite ist ja noch nichts angeschlossen. Oder habe ich da einen Denkfehler....

          Dann stimmen deine Werte nicht.
          Schließe bitte an einen ADS Port den Ausgang des Sensors.
          Und an einen anderen Port 5V anschließen und diesen Wert ablesen.

          und diesen trägst du als Referenz bei 5V ein und rechnest die Tabelle neu durch.

          Fazit.
          Viel falsch anschließen kannst du da eigentlich nicht.
          Du musste halt mit dem Sensor das neu druchrechnen.

          Bei mir sind 3 Sensoren angeschlossen:

          A0	5V
          A1	0,5mpa Drucksensor - Heizung
          A2	0,5mpa Drucksensor - FB-Heizung
          A3	1,2mpa Drucksensor - Wasser
          

          Und jeder liefert einen anderen analogen Wert:
          49ea613b-979c-40f9-972f-ac62961e5257-image.png

          Und diese rechne ich dann anders um; eben je nach Gerät.
          Und in VIS kommt dann folgendes raus:
          50158d2e-a35a-4408-a967-3beb2d8dcd4c-image.png

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

            @bahnuhr Hi , habe jetzt Tasmota drauf. Geht ja schnell 🙂 . Aktueller Wert ist 18611. Kannst Du mir das Excel File schicken zum berechnen der Werte ?

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

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

              @bahnuhr Hi , habe jetzt Tasmota drauf. Geht ja schnell 🙂 . Aktueller Wert ist 18611. Kannst Du mir das Excel File schicken zum berechnen der Werte ?

              Da dort noch mehr drin ist, schicke ich Excel Tabellen grundsätzlich nicht rum.

              Sind doch aber nur 5 Spalten. Bekommst du schon hin.

              M 1 Reply Last reply Reply Quote 0
              • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            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