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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

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

          @elluminatus Heating control ist eigentlich dafür gedacht Profile zu erstellen. Also Nachtabsenkung, Urlaub etc.
          Wenn Du das alles nicht brauchst, dann brauchst Du auch kein Heating Control.

          Dann musst Du im Panel Script ein Thermostat anlegen :

          let Wohn_Themostat = <PageThermo>
          {
          'type': 'cardThermo',
          'heading': 'Wohn Thermostat',
          'useColor': true,
          'items': [<PageItem>{ id: 'alias.0.Thermostate.Keller_Werkstatt', minValue: 10, maxValue: 30 }]
          };

          Und Dein copy script anpassen auf die neuen Objekte

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

            @gargano Ja ich wollte beides nutzen können. Jetzt habe ich zumindest beide Einträge beim VDmot. Schau mal:

            71fe50ba-e4e2-4fbb-804c-d260e21edc5f-image.png

            Habe im NSPanel jetzt extra mal einen hohen Wert eingestellt von 23 Grad. Der wird jetzt übernommen, so scheint es...

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

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

              Habe ja jetzt

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

              Sehe ich das richtig : Ein Temp Sensor pro Raum, aber nur ein NSPanel ?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            802
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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