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.
    • E
      Elluminatus @Gargano last edited by

      @gargano Nein in jedem Raum ein NSPanel und in jedem Raum einen separaten Temp Sensor.

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

        @elluminatus Ok, also alles getrennte Systeme.

        Wie kommt dann die Kopplung von 23° her ?
        Das heißt , Du hast schon ein Thermostat im NSPanel , der die Solltemp wohin schreibt ?

        Du musst doch die Solltemperatur übertragen , hat ja dann nichts mit heating control zu tun.

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

          @gargano Also ich wähle im NSPanel die Thermostat Seite und gebe dort 23 Grad ein. Und der schreibt den Wert in mein Thermostat Alias

          9d3fb3b4-4ea3-4187-bbfa-352e9a0670a4-image.png

          Und von dort nimmt es dann ja dann Dein Skript:

          const idWohn_Temp="alias.0.Thermostate.KE_Werkstatt.ACTUAL";
          
          
          
          
          
          

          und den Werte habe ich dann bei heatingcontrol eingetragen

          bfa21f59-168d-486b-b9bf-2e84552eb774-image.png

          alias.0.Thermostate.KE_Werkstatt.ACTUAL
          alias.0.Thermostate.KE_Werkstatt.SET

          Im vdmot sieht es dann so aus:

          01c7eefd-8b35-4016-95f8-146621c62d23-image.png

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

            @elluminatus ja ok, sieht schonmal gut aus.
            Nur mußt Du im copy Script dann den alias für tTarget nehmen :

            also anstatt

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

            dies

            const idWohn_Temp="alias.0.Thermostate.KE_Werkstatt.ACTUAL";
            const idWohn_SetPoint="alias.0.Thermostate.KE_Werkstatt.SET";
            const idWohn_FB_Value="mqtt.0.FBH-KE-HWR.valves.Werkstatt.tValue";
            const idWohn_FB_Target="mqtt.0.FBH-KE-HWR.valves.Werkstatt.tTarget";
             
            

            Kannst Du mal schauen, ob dann beides geht: Heating Control und NSPanel.
            Bleibt dann nur noch die Sache mit automatic und manuell.

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

              @gargano Ja das sieht gut aus. Das mit dem Set hatte ich vor lauter Kreisdenken schon nicht mehr im Blickfeld. Danke sehr!

              Ja also die Thermostatseite sieht jetzt so aus (hatte es jetzt zu Testzwecken auf 20 Grad gestellt, wird übernommen)

              WhatsApp Image 2023-02-19 at 17.22.58.jpeg

              und steht auf Manu, weiter Profile habe ich unter dem Alias auch erstmal zu Beginn nicht eingetragen. Wäre ja super, wenn ich es jetzt auf Auto stellen könnte und dann das Heatingcontrol Skript die Steuerung übernimt

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

                @elluminatus genau so soll es mit Manu/Auto sein.
                Werde ich morgen mal testen und Bescheid geben.
                Oder falls Du es schon rausgefunden hast, hier bitte reinschreiben.

                Dann musst Du nur noch den VDMot einstellen.

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

                  @gargano Ja gerne. Was meinst Du mit VDmot einstellen?

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

                    @elluminatus In der Config :

                    e7f03c3c-4c71-45c1-93a6-0c74e895c4a7-image.png

                    wichtig ist dies:
                    deac994b-9d05-412e-83c7-4761451c51d8-image.png

                    Low und high ist der Multiplikator vom mittleren Motorstrom zum Ende erkennen.
                    Wenn der Motor überspringt (lautes Rattern) ist der Faktor zu hoch. Bei den Homematic Motoren ist der Faktor 1,7 bei mir gut. Probier mal 0 und 100% in der Statuspage manuell aus.
                    Start (%) ist die Ventilposition nach Poweron oder Reset.

                    und unter Control :
                    fe079f55-5511-4d53-9c21-409231bbdf71-image.png

                    Für Control ist einiges unter

                    Control
                    beschrieben.

                    Falls Du mehrere Heizkreise in einem Raum hast :
                    Heizkreise linken

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

                      @gargano Erstmal danke für die schnelle und umfangreiche Hilfe!

                      Also Ti(S) und Ts(S) habe ich ehrlich gesagt nicht verstanden. Kannst Du mir da nochmal eine Idee geben was ich da eintragen muss?

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

                        @elluminatus
                        Ti ist die Zeit für den Integrationsteil vom Pi-Regler.
                        Hier kannst Du 1800 eintragen
                        Ts ist die Sampling Time und ist das Zeitintervall nach dem ein neuer Stellwert berechnet wird.
                        Hier kannst Du 450 eintragen.
                        Xp erstmal auf 15 stellen.

                        Das sind erstmal die Ausgangswerte.

                        8ee75188-cbe3-480a-8713-37985e791614-image.png

                        Dann ist es ratsam Dir die Kurven von Soll. Ist und Stellwert in eine Datenbank aufzuzeichnen.
                        Danach kannst Du dann die Einstellungen verändern.
                        Ich habe z. B. im Wintergarten mit 16 m² zwei Heizkreise und da ist die Temperatur über den Sollwert ziemlich rausgeschossen.

                        94a2aaf3-0ea2-40d1-b6da-95251fbbfea3-image.png

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

                          @elluminatus sagte in Neu entwickelter Heizungs-Controller für ELV HmIP-VDMot:

                          steht auf Manu, weiter Profile habe ich unter dem Alias auch erstmal zu Beginn nicht eingetragen. Wäre ja super, wenn ich es jetzt auf Auto stellen könnte und dann das Heatingcontrol Skript die Steuerung übernimt

                          Also ich habs rausgefunden, ist nicht ganz einfach, da das NSPanelScript das Thermostat Device nicht richtig handelt.
                          Folgende Änderungen mußt Du machen :

                          Im NSPanelscript :

                          Nach dieser Function die Zeilen zwischen 'add from gargano' einfügen :

                          function GenerateThermoPage(page: PageThermo): Payload[] {
                          
                           if (o.common.role == 'thermostat') {
                                              
                                              // add from gargano
                                              if (existsState(id + '.MODE') && getState(id + '.MODE').val != null) {
                                                  if (getState(id + '.MODE').val===1) {
                                                          statusStr = 'MANU';
                                                  } else {
                                                     statusStr = 'AUTO';
                                                  }
                                              }
                                              // end add from gargano
                                              
                                              if (existsState(id + '.AUTOMATIC') && getState(id + '.AUTOMATIC').val != null) {
                          

                          Dein Thermostat im Script muss dann so aussehen :

                          let Wohn_Themostat = <PageThermo>
                          {
                              'type': 'cardThermo',
                              'heading': 'Wohn Thermostat',
                              'useColor': true,
                              'items': [<PageItem>{ id: 'alias.0.Thermostate.Wohn', minValue: 100, maxValue: 300,
                                      popupThermoMode1: ['auto','manu'],
                                      popUpThermoName: ['Auto/Manu'],
                                      setThermoAlias: ['MODE1'],
                                      icon: 'thermometer'
                                      }]
                          };
                          
                          

                          Wichtig ist

                          setThermoAlias: ['MODE1'],
                          

                          Dann unter Geräte Manager im Thermostat einen neuen Alias MODE1 mit type = String anlegen :

                          86d939e2-3a33-499a-8413-3d9a1c775b64-image.png

                          Unter '0_userdata.0' eine Verzeichnis 'HeatingControl' und darunter ein Verzeichnis 'Wohn' (oder Dein Raum) einrichten und darunter einen Datenpunkt 'Mode_Number'
                          mit Type = number

                          Darin holt sich dann das Thermostat im NSPanel den Zustand.

                          Dann noch ein kleines Script :

                          const idWohn_HC_State = "heatingcontrol.0.Rooms.Wohnzimmer.State";
                          const idUser_Wohn_State = "0_userdata.0.HeatingControl.Wohn.Mode_Number";
                          
                          on({id: idWohn_HC_State}, function (obj) {
                            let thisState =  1;
                            if (obj.state.val=='auto') thisState = 0;
                            setState(idUser_Wohn_State,thisState);
                          });
                          

                          Da wird der State vom HeatingControl (String) umgesetzt in Number für den NSPanel.

                          Die Bezeichnung Wohn mußt Du noch für Deine Räume ändern.
                          Für jeden Raum dann ein eigenes Script und Gerät.

                          Falls Fragen hast, einfach Fragen...

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

                            @gargano sagte in Neu entwickelter Heizungs-Controller für ELV HmIP-VDMot:

                            Es gibt hier bei der Umsetzung ein kleines Problem. Wenn ich hier auf das weiße Plus drücke und
                            die folgenden Sachen eintrage, dann habe ich keinen Zugriff mehr auf den Tab Geräte.

                            Muss hier noch etwas spezielles bei Rolle eingetragen werden? Warum ist bei Dir der Begriff rot? Muss ich über das rot + etwas importieren. Ich glaube mir fehlen hier genauere Zwischenschritte. Muss ich in der Expertenmodus gehen?

                            1dc80f48-1f15-481c-8114-0d72cf6b63dc-image.png

                            Dann unter Geräte Manager im Thermostat einen neuen Alias MODE1 mit type = String anlegen

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

                              @elluminatus versuchs mal mit rot+
                              Ansonsten kann ich morgen nochmal schauen

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

                                @elluminatus welche Version hast Du beim Gerätemanager ?
                                Die 1.1.2 ist buggy. Geh mal zurück auf die 1.1.1

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

                                  @gargano Das hat schon mal geklappt mit dem alten Gerätemanager!

                                  Jetzt bekomme ich im Javascript noch diese Fehlermeldung:

                                  21:44:49.638 error javascript.0 (688) script.js.common.NSPanel.WT_KE_Werkstatt: TypeScript compilation failed: let Werkstatt_Themostat: PageThermo = { ^ ERROR: Type '{ type: "cardThermo"; heading: string; useColor: true; items: PageItem[]; }' is missing the following properties from type 'PageThermo': subPage, parent

                                  let Werkstatt_Themostat: PageThermo = 
                                  {
                                      "type": "cardThermo",
                                      "heading": "Thermostat Werkstatt",
                                      "useColor": true,
                                          'items': [<PageItem>{ id: 'alias.0.Thermostate.KE_Werkstatt', minValue: 150, maxValue: 270,
                                  
                                              popupThermoMode1: ['auto','manu'],
                                  
                                              popUpThermoName: ['Auto/Manu'],
                                  
                                              setThermoAlias: ['MODE1'],
                                  
                                              icon: 'thermometer'
                                  
                                              }]
                                  
                                  };
                                  
                                  

                                  Habe jetzt noch

                                  "subPage": false,
                                      "parent": undefined,
                                  

                                  hinzugefügt?

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

                                    @elluminatus hast Du das Thermostat in einer Subpage eingetragen ?
                                    Ich habs direkt vor dem Service eingetragen

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

                                      @gargano Nein habe ich nicht in eine Subpage eingetragen. Nach meinen Ergänzungen scheint es zu laufen.. ich teset morgen mal umfänglicher...

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

                                        @elluminatus ok

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

                                          @gargano Noch ne kurze Anfängerfrage. Wenn ich mehrere Skripte später laufen habe, muss ich dann diese Bezeichnungen (Wohn) bspw.

                                          idWohn_HC_State
                                          

                                          dann auch jeweils mit einem universellen Namen versehen, oder können da später 10-15 Skripte parallel laufen?

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

                                            @elluminatus muss jeweils separat sein für jeden NSPanel
                                            Du kannst aber das in einem Script erledigen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            609
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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