NEWS
Neu entwickelter Heizungs-Controller für ELV HmIP-VDMot
-
@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. -
@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)
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
-
@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.
-
@gargano Ja gerne. Was meinst Du mit VDmot einstellen?
-
@elluminatus In der Config :
wichtig ist dies:
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 :
Für Control ist einiges unter
Control
beschrieben.Falls Du mehrere Heizkreise in einem Raum hast :
Heizkreise linken -
@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?
-
@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.
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. -
@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 :
Unter '0_userdata.0' eine Verzeichnis 'HeatingControl' und darunter ein Verzeichnis 'Wohn' (oder Dein Raum) einrichten und darunter einen Datenpunkt 'Mode_Number'
mit Type = numberDarin 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...
-
@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?
Dann unter Geräte Manager im Thermostat einen neuen Alias MODE1 mit type = String anlegen
-
@elluminatus versuchs mal mit rot+
Ansonsten kann ich morgen nochmal schauen -
@elluminatus welche Version hast Du beim Gerätemanager ?
Die 1.1.2 ist buggy. Geh mal zurück auf die 1.1.1 -
@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?
-
@elluminatus hast Du das Thermostat in einer Subpage eingetragen ?
Ich habs direkt vor dem Service eingetragen -
@gargano Nein habe ich nicht in eine Subpage eingetragen. Nach meinen Ergänzungen scheint es zu laufen.. ich teset morgen mal umfänglicher...
-
@elluminatus ok
-
@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?
-
@elluminatus muss jeweils separat sein für jeden NSPanel
Du kannst aber das in einem Script erledigen -
@Elluminatus Du kannst aber die ganzen Routinen in einem Script erledigen
-
@Gargano Ich habe inzwischen erfolgreich einen Raum mit NSPanel an dem Modul am laufen. Frage ist dieser Weg der derzeit aktuelle? Oder hat sich an den Einrichtungsmöglichkeiten bei der VDmot Platine oder der beim heatingcontrol Skript etwas geändert (im Bezug auf die unterstützung von motorgetriebenen Ventilen?)
Beste Grüße
Elluminatus -
@elluminatus
Bei der Übertragung der Soll/Ist Werte nach VDMot hat sich nichts getan. Es sind aber ein paar Erweiterungen hinzugekommen :- MQTT : Übersenden nur bei Änderungen (einstellbar)
- Funktion Kühlen/Heizen (Wenn es die Heizung ermöglicht. Z.B. durch Wärmepumpe)
- Ein Messenger kam hinzu, der bei Fehler eine Message per PushOver oder Email schickt
- Anzeige der Soll / Ist Werte auf der Status Seite
- kleinere Bugfixes
Andreas hat dies noch nicht in das Master Repo geschoben.
Wenn Du magst, kannst Du die neue Version von meinen Github runter laden :
Download ESP32 hierDa ist aber nur das ESP32 File drin, für den STM sollte es die Version 1.1.1 sein.
Download STM hierWiki gibt es jetzt auch hier
Viele Grüße