NEWS
Neu entwickelter Heizungs-Controller für ELV HmIP-VDMot
-
@elluminatus Und dann halt im Heating Control Editor eintragen
-
@gargano Also diese Visualisierung ist mir neu, wo finde ich die? Muss da etwas installiert werden?
-
@elluminatus Such mal unter
iobroker Heating Control VisualisierungDas ist eine VIS Vorlage im Github:
iobroker heating control -
@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
- Einen separaten Temp Sensor pro Raum
- NS Panel um Wunschtemp auszuwählen
- Den VDmot um die Motorventile zu steuern
Es ist auch nboch rot:
-
@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
-
@gargano Ja ich wollte beides nutzen können. Jetzt habe ich zumindest beide Einträge beim VDmot. Schau mal:
Habe im NSPanel jetzt extra mal einen hohen Wert eingestellt von 23 Grad. Der wird jetzt übernommen, so scheint es...
-
@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 steuernSehe ich das richtig : Ein Temp Sensor pro Raum, aber nur ein NSPanel ?
-
@gargano Nein in jedem Raum ein NSPanel und in jedem Raum einen separaten Temp Sensor.
-
@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.
-
@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
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
alias.0.Thermostate.KE_Werkstatt.ACTUAL
alias.0.Thermostate.KE_Werkstatt.SETIm vdmot sieht es dann so aus:
-
@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