Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Neu entwickelter Heizungs-Controller für ELV HmIP-VDMot

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Neu entwickelter Heizungs-Controller für ELV HmIP-VDMot

    This topic has been deleted. Only users with topic management privileges can see it.
    • Gargano
      Gargano @Elluminatus last edited by Gargano

      @elluminatus Hi,

      der VDMot hat ja einen eigenen Control PI-Algorithmus und dem braucht man nur die Soll und Istwerte mitzuteilen.

      1c519836-47b3-4af6-b2e0-4a79e195ed2a-image.png
      Ich habe das über ein kleines JS-Script gelöst :

      Soll wert ist : heatingcontrol.0.Rooms.Wohnzimmer.CurrentTarget
      Mit dem NSPanel wird dies dann der Ist Wert : alias.0.NSPanels.Wohn.Sensor.ANALOG.Temperature.ACTUAL
      Falls Du einen anderen Temp Sensor verwendest dann den Wert von dem entsprechenden Sensor.
      Die Id's müsstest Du dann entsprechend anpassen.

      Script :

      const idWohn_Temp="alias.0.NSPanels.Wohn.Sensor.ANALOG.Temperature.ACTUAL";
      const idWohn_SetPoint="heatingcontrol.0.Rooms.Wohnzimmer.CurrentTarget";
      const idWohn_FB_Value="mqtt.1.VdMotFBH.valves.Wohn.tValue";
      const idWohn_FB_Target="mqtt.1.VdMotFBH.valves.Wohn.tTarget";

      on({id: idWohn_Temp, change: 'ne'}, function (obj) {
      setState(idWohn_FB_Value,obj.state.val);
      });

      on({id: idWohn_SetPoint, change: 'ne'}, function (obj) {
      setState(idWohn_FB_Target,obj.state.val);
      });

      Also bei jeder Änderung von SetPoint oder Temp werden die Daten über MQTT dem FBMot mitgeteilt.
      Heatingcontrol hat damit nichts zu tun, außer die Sollwerte (Setpoints) zu verwalten.
      Also keinen Aktor eintragen.

      Anstatt direkt auf die Objekte zuzugreifen kannst Du das auch mit Alias lösen.
      Dazu ein Greät erstellen :

      d97353c8-67a3-44a7-93e5-fa7d2e2477c8-image.png
      Aktuelle Temp dann Deine Objekt-ID.

      Im Heating Conrtrol dann dies einstellen :
      26e28f80-05b7-4098-b2a8-826c4135ff18-image.png

      und die IDs so anpassen
      const idWohn_Temp="alias.0.Thermostate.Wohn.ACTUAL";
      const idWohn_SetPoint="alias.0.Thermostate.Wohn.SET";

      Der Vorschlag von Andreas funktoniert nicht, da es dann ein 2-Punkt Regelung wäre und keine PI.

      NSPanel habe ich inzwischen, bin aber mit der Temperaturmessung nicht zufrieden.
      Ich werde wohl ein DS18B20 anschließen.

      VG Werner

      1 Reply Last reply Reply Quote 0
      • Gargano
        Gargano @wendy2702 last edited by Gargano

        @wendy2702

        Was von Tindie muss man den Bestellen damit man es komplett hat?

        Alles.

        18666676-6ef8-4fc2-b429-89bd3bd2c2bf-image.png

        Dazu noch ein Hutschienen-Gehäuse bestellen. (gibts nicht auf Tindie)
        12V Netzteil.

        Gruß

        1 Reply Last reply Reply Quote 1
        • L
          Lenti84 last edited by

          Hallo zusammen,
          ich klinke mich mal am Rande mit ein.

          Mein Vorschlag zur HeatingControl App war, dass im VdMot ein extra (subscription, nicht publish) Topic erstellt werden könnte, damit dieser direkt auf an/aus Befehle reagiert, falls die App nur diese Art von Befehlen absetzen kann. Dieses Topic würde dann parallel zum Target Wert (0...100%) laufen und die beiden Zustände 0% bzw. 100% abbilden.
          Der VdMot Controller ist dann natürlich nichts weiter als ein aufwendiger 0/1 Ventilsteller...

          Scheinbar braucht die HeatingControl App aber noch weitere Outputs vom VdMot, damit sie diesen erkennen und in iobroker zuordnen kann. Da ich kein iobroker nutze, kann ich das nur erschwert nachprüfen.

          VG

          1 Reply Last reply Reply Quote 0
          • Gargano
            Gargano @Elluminatus last edited by wendy2702

            @elluminatus
            Hast Du das jetzt umsetzen können mit dem Script ?

            const idWohn_Temp="alias.0.NSPanels.Wohn.Sensor.ANALOG.Temperature.ACTUAL";
            const idWohn_SetPoint="heatingcontrol.0.Rooms.Wohnzimmer.CurrentTarget";
            const idWohn_FB_Value="mqtt.1.VdMotFBH.valves.Wohn.tValue";
            const idWohn_FB_Target="mqtt.1.VdMotFBH.valves.Wohn.tTarget";
            
            on({id: idWohn_Temp, change: 'ne'}, function (obj) {
            setState(idWohn_FB_Value,obj.state.val);
            });
            
            on({id: idWohn_SetPoint, change: 'ne'}, function (obj) {
            setState(idWohn_FB_Target,obj.state.val);
            });
            
            

            Falls ich sonst noch helfen kann, immer her mit den Fragen...

            VG

            MOD EDIT: LOG IN CODE TAGS </> GESETZT

            E 1 Reply Last reply Reply Quote 0
            • E
              Elluminatus @Gargano last edited by

              @gargano Hi danke der Nachfrage. Ich habe den Heizungscontroller da und er läuft. Am Wochenende werde ich dazu kommen ihn einzubauen. Dann melde ich mich an dieser Stelle wieder.

              Beste Grüße
              Elluminatus

              E 1 Reply Last reply Reply Quote 0
              • E
                Elluminatus @Elluminatus last edited by Elluminatus

                So, kurzer Zwischenbericht: angeschlossen ist der Controller, erreichbar ist er und die Ventile erkennt er auch:

                photo_5440779625165866073_y.jpg
                photo_5440779625165866110_y.jpg
                photo_5440779625165866225_y.jpg

                Anbindung an MQTT klappt auch.

                1 Reply Last reply Reply Quote 0
                • Gargano
                  Gargano last edited by

                  @elluminatus
                  Nimm bitte die V1.0.8 Beta.
                  Andreas hat noch nicht released, kannst aber von meinem Github runterladen
                  VdMot 1.0.8 Beta
                  Du hast wahrscheinlich die C2 Platine.

                  Ich habe inzwischen auch den NSPanel in der U-Putz Dose versenkt.
                  Im unteren Teil ist der DHT20, Temperatur und Luftfeuchte Sensor über I²C Bus am NSPanel angeschlossen.
                  Da war vorher der Lichtschalter, Deckel fehlt noch.

                  20230219_084525[1].jpg

                  E 1 Reply Last reply Reply Quote 0
                  • E
                    Elluminatus @Gargano last edited by Elluminatus

                    @gargano Das sieht perfekt aus. Die 0.8 Beta hole ich mir. Welche Dateien brauche ich für das Update?

                    Für WT32 die ESP32_firmware.bin und
                    für STM32 die STM32_C2_firmware.bin?
                    Mit der Partitions.bin muss ich nichts machen, richtig?

                    Ich bekomme mit Deinem Skript auch derzeit folgende Warnmeldung:

                    "You are assigning a number to the state "mqtt.0.FBH-KE-HWR.valves.Werkstatt.tValue" which expects a string. Please fix your code to use a string or change the state type to number. "

                    Beste Grüße
                    Elluminatus

                    Gargano 1 Reply Last reply Reply Quote 0
                    • Gargano
                      Gargano @Elluminatus last edited by

                      @elluminatus Dann ändere bitte den Typ von tValue in den Objekten:

                      {
                      "_id": "mqtt.2.VdMotFBH.valves.Bad.tValue",
                      "common": {
                      "name": "/VdMotFBH/valves/Bad/tValue",
                      "write": true,
                      "read": true,
                      "role": "variable",
                      "desc": "mqtt server variable",
                      "type": "number"
                      },

                      E 1 Reply Last reply Reply Quote 0
                      • E
                        Elluminatus @Gargano last edited by Elluminatus

                        @gargano Danke sehr, mache ich.

                        Und sagst Du mir noch welche Dateien ich für das 1.0.8 Update brauche?

                        Für WT32 die ESP32_firmware.bin und
                        für STM32 die STM32_C2_firmware.bin?
                        Mit der Partitions.bin muss ich nichts machen, richtig?

                        So also der number Fehler ist weg.

                        Gargano 1 Reply Last reply Reply Quote 0
                        • Gargano
                          Gargano @Elluminatus last edited by Gargano

                          @elluminatus
                          Partitions hast Du ja schon, da also nichts machen.

                          Für den WT32 die ESP32_firmware.bin
                          und für den STM32 die STM32_C2_firmware.bin. Du hast ja sicherlich die C2 Hardware..

                          sollte dann so auschauen :

                          073423c9-c026-4873-8573-e9845aef7169-image.png

                          E 1 Reply Last reply Reply Quote 0
                          • E
                            Elluminatus @Gargano last edited by Elluminatus

                            @gargano Okay versuche ich.

                            c682d6bc-13a9-4264-a225-f9bfeb2a5682-image.png

                            162fc7b5-febf-40eb-b246-9dfb2a22edf7-image.png

                            Ich bekomme beim Update Versuch ein Error... Muss ich das Filesystem vorher formatieren und dann erst hochladen?

                            Habe noch eine Sache gesehen:

                            e79c7fed-d426-4c55-bf06-af7435f795d7-image.png

                            Die Anzeige bei tValue ist rot und bleibt immer bei 17.54. Ist das zunächst so in Ordnung?

                            Gargano 1 Reply Last reply Reply Quote 0
                            • Gargano
                              Gargano @Elluminatus last edited by Gargano

                              @elluminatus
                              Da gibt es auf der Platine einen Steckjumper zwischen WTH32 und dem Motorstecker :
                              X 20 STM Reset

                              18a61bac-0fbd-434d-84ae-0cb11f932a2d-image.png

                              sollte immer gesteckt sein.
                              Wenn nicht gesteckt, kann er auch nicht updaten ,
                              Wenn Du keinen Jumper hast, kannst auch eine Drahtbrücke drauflöten.

                              Sollte so aussehen :

                              d14fd71c-eacc-48b1-a12c-1900e20e3879-image.png

                              IoBroker :
                              tTarget (=Soll Temperatur) sollte aber auch nicht (null) sein und tValue sollte sich mit der Temperatur vom Raum ändern.

                              Zeig mal Dein Script bitte.

                              E 1 Reply Last reply Reply Quote 0
                              • E
                                Elluminatus @Gargano last edited by Elluminatus

                                @gargano Das war der Hinweis zum Update, danke sehr:

                                2b6d8100-7f68-4db6-99f4-549252637634-image.png

                                Hier das Skript:

                                const idWohn_Temp="alias.0.Thermostate.KE_Werkstatt.ACTUAL";
                                
                                const idWohn_SetPoint="heatingcontrol.0.Rooms.Keller_Werkstatt.CurrentTarget";
                                
                                const idWohn_FB_Value="mqtt.0.FBH-KE-HWR.valves.Werkstatt.tValue";
                                
                                const idWohn_FB_Target="mqtt.0.FBH-KE-HWR.valves.Werkstatt.tTarget";
                                
                                 
                                
                                on({id: idWohn_Temp, change: 'ne'}, function (obj) {
                                
                                setState(idWohn_FB_Value,obj.state.val);
                                
                                });
                                
                                 
                                
                                on({id: idWohn_SetPoint, change: 'ne'}, function (obj) {
                                
                                setState(idWohn_FB_Target,obj.state.val);
                                
                                });
                                
                                 
                                
                                
                                
                                Gargano 1 Reply Last reply Reply Quote 0
                                • Gargano
                                  Gargano @Elluminatus last edited by Gargano

                                  @elluminatus
                                  Sieht eigentlich ok aus.
                                  Was steht denn beim Objekt

                                  heatingcontrol.0.Rooms.Keller_Werkstatt.CurrentTarget
                                  

                                  Oder hast Du noch kein Profil erstellt ?

                                  Ich habe mir unter Geräte ein Thermostat angelegt
                                  6ea37bf0-5963-44ec-a449-1ccb26bd2265-image.png

                                  und unter Heating Control dann dies eingetragen

                                  b8c8a617-0f01-4c85-b916-577bd33e68f2-image.png

                                  E 1 Reply Last reply Reply Quote 0
                                  • E
                                    Elluminatus @Gargano last edited by Elluminatus

                                    @gargano Oh je, ja klar, das Profil scheint es zu sein. Es ist nicht aktiviert gewesen.
                                    Ich ändere das mal...

                                    2803ac6a-01e8-490e-938b-9df71efb86a9-image.png Moment

                                    d537cc77-7110-408f-b260-35581668fc50-image.png

                                    Gargano 1 Reply Last reply Reply Quote 0
                                    • Gargano
                                      Gargano @Elluminatus last edited by Gargano

                                      @elluminatus Und dann halt im Heating Control Editor eintragen

                                      c4e80dbb-fdbc-4c7c-8113-af50889c5f9b-image.png

                                      cd461144-71ca-488b-9e28-b02e01fa495b-image.png

                                      E 1 Reply Last reply Reply Quote 0
                                      • E
                                        Elluminatus @Gargano last edited by

                                        @gargano Also diese Visualisierung ist mir neu, wo finde ich die? Muss da etwas installiert werden?

                                        1 Reply Last reply Reply Quote 0
                                        • Gargano
                                          Gargano last edited by

                                          @elluminatus Such mal unter
                                          iobroker Heating Control Visualisierung

                                          Das ist eine VIS Vorlage im Github:
                                          iobroker heating control

                                          1 Reply Last reply Reply Quote 0
                                          • E
                                            Elluminatus last edited by Elluminatus

                                            @gargano Okay, also eine Vis nutze ich derzeit gar nicht. Aber dafür habe ich ja eigentlich das NSPanel um die Temperatur im Raum auszuwählen. Ich dachte dies wird dann im Heatingcontrol eingetragen?

                                            Habe ja jetzt

                                            1. Einen separaten Temp Sensor pro Raum
                                            2. NS Panel um Wunschtemp auszuwählen
                                            3. Den VDmot um die Motorventile zu steuern

                                            Es ist auch nboch rot:

                                            d74930d3-634f-4142-9324-5a9d86c84c5b-image.png

                                            Gargano 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            168
                                            17395
                                            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