NEWS
Skript Heizung - Homematic Geräte
-
hallo, leider stehe ich komplett an un benötige Hilfe....
2 Wandthermostate sollen einen Schaltaktor (für Pumpe) schalten.
in verwendung: Adapter Heatingcontroll
2xHomematic Funk-Wandthermostat HM-TC-IT-WM-W-EU
4x Funk-Heizkörperthermostat HM-CC-RT-DN (2 pro Raumthermostat!)
1x Homematic Funk-Schaltaktor 2fach, Unterputzmontage HM-LC-Sw2-FM (je Schaltausgang 1 Pumpe) <-- 1 Pumpe Haus, 1 Pumpe Zubau (Zubau: 2 Wandthermostate 4HK Thermostate!)
über Heatingcontroll werden 2 Datenpunkte angesteuert - Heizung Aromastudio und Heizung Wohnzimmer
nun schaffe ich es zwar über ein Skript den Aktor der Pumpe einzuschalten, aber nicht mehr aus.
Oder es funktioniert einfach beides nichtAuf Facebook habe ich bereits gefragt, daher erlaube ich mir dies zu verlinken.. da ist auch ein kleiner Kriesen verlauf.
[https://www.facebook.com/groups/440499112958264/permalink/1377388715935961/](link url)Achja... trage ich den pumpenaktor im Heatingcontrol Adapter bei beiden Räumen ein, wird immer nur bei einem Raum geschalten, wenn Raum 2 schalten möchte, bleibt der Aktor aus
-
@Wieger-Daniel
Ich würde die Pumpen abhängig von der maximalen Ventilstellung der HM-CC-RT-DN schalten:// Pumpen abhängig von Ventilstellung schalten const idV1 = 'hm-rpc...'; const idV2 = 'hm-rpc...'; const idV3 = 'hm-rpc...'; const idV4 = 'hm-rpc...'; const idP1 = 'hm-rpc...'; const idP2 = 'hm-rpc...'; var v1 = getState(idV1).val; var v2 = getState(idV2).val; var v3 = getState(idV3).val; var v4 = getState(idV4).val; var p1 = getState(idP1).val; function pumpen() { let maxV = Math.max(v1, v2, v3, v4); if(maxV > 15) p1 = true; else if (maxV < 10) p1 = false; if(getState(idP1).val != p1) setState(idP1, p1) if(getState(idP2).val != p1) setState(idP2, p1) } pumpen(); // Script start on(idV1, function(dp) { v1 = dp.state.val; pumpen(); }); on(idV2, function(dp) { v2 = dp.state.val; pumpen(); }); on(idV3, function(dp) { v3 = dp.state.val; pumpen(); }); on(idV4, function(dp) { v4 = dp.state.val; pumpen(); });
-
@paul53
Vielen DankHabe dies über ein Homematic Script bereits versucht und bin gescheitert
Irgendwie sind die ventile scheinbar länger offen als notwendig und daher schaltet die heizung auch ned richtig
Darf ich dein skript versuchen?
Muss ich nur die grünen Werte anpassen oder?
Also V1, V2, V3, V4 sind die HK Ventile. P1 der Pumpenaktor.
Sollte ich alle 4 Ventile eintragen, oder nur 2(sind ja 2 pro Raumthermostat).
Vielen dank
-
@Wieger-Daniel sagte:
Muss ich nur die grünen Werte anpassen oder?
Ja, die IDs müssen eingetragen werden.
@Wieger-Daniel sagte in Skript Heizung - Homematic Geräte:
V1, V2, V3, V4 sind die HK Ventile. P1 der Pumpenaktor.
Ja.
@Wieger-Daniel sagte in Skript Heizung - Homematic Geräte:
Sollte ich alle 4 Ventile eintragen
Ja. Die Ventilstellungen können trotz gemeinsamem Raumthermostat unterschiedlich sein (I-Anteil des Reglers). Der Raumthermostat regelt nicht, sondern gibt nur Temperatur-Istwert und -Sollwert vor.
-
@paul53
hab das nun übernommen, die Datenpunkte angepasst..Pumpe schaltet nicht aus.
alle Ventile sind auf 0% Pumpe läuft frohlockend weiter.!!
broker0.png -
@Wieger-Daniel sagte:
die Datenpunkte angepasst..
idP1 und idP2 sind identisch. Wenn nur eine Pumpe gesteuert werden soll, dann lösche alles, was idP2 enthält.
Du verwendest eine negative Hysterese. Ändere in
if(maxV > 22) p1 = true; else if (maxV < 20) p1 = false;
-
@paul53
ok fast alle angepassthatte den 2. Datenpunkt mit idP2 zuerst nicht rausgelöscht (übersehen) und ne fehlermeldung erhalten... daher hab ich einfach mal den gleichen wie bei P1 genommen :'D
uff die zwei maxV hab ich vertauscht
dann kanns ja gar nicht funktionieren, wenn ich hier so pfusche...
Danke, Danke Danke
Ich hoffe jetzt hab ichs und es funktioniert. ich glaub ich muss mich nun echt mal in Javascripte einlesen/einlernen...// Pumpen abhängig von Ventilstellung schalten const idV1 = 'hm-rpc.0.REQ0840934.4.VALVE_STATE'/*Wohzimmer2 3 VALVE STATE*/; const idV2 = 'hm-rpc.0.REQ0840963.4.VALVE_STATE'/*Wohnzimmer HK 3 VALVE STATE*/; const idV3 = 'hm-rpc.0.REQ0841103.4.VALVE_STATE'/*Aromastudio HK 3 VALVE STATE*/; const idV4 = 'hm-rpc.0.REQ0841104.4.VALVE_STATE'/*Aromastudio HK 2 4 VALVE STATE*/; const idP1 = 'hm-rpc.0.QEQ0022408.1.STATE'/*Heizpumpe unten STATE*/; var v1 = getState(idV1).val; var v2 = getState(idV2).val; var v3 = getState(idV3).val; var v4 = getState(idV4).val; var p1 = getState(idP1).val; function pumpen() { let maxV = Math.max(v1, v2, v3, v4); if(maxV > 22) p1 = true; else if (maxV < 20) p1 = false; if(getState(idP1).val != p1) setState(idP1, p1) } pumpen(); // Script start on(idV1, function(dp) { v1 = dp.state.val; pumpen(); }); on(idV2, function(dp) { v2 = dp.state.val; pumpen(); }); on(idV3, function(dp) { v3 = dp.state.val; pumpen(); }); on(idV4, function(dp) { v4 = dp.state.val; pumpen(); });
so hab ichs nun gespeichert
-
@Wieger-Daniel sagte:
so hab ichs nun gespeichert
Mit Firefox aus dem Forum kopiert ? Darauf deuten die vielen Leerzeilen hin.
-
@paul53 sagte in Skript Heizung - Homematic Geräte:
@Wieger-Daniel sagte:
so hab ichs nun gespeichert
Mit Firefox aus dem Forum kopiert ? Darauf deuten die vielen Leerzeilen hin.
ja mit Firefox kopiert..
So einschalten hat nun schon mal funktioniert.
So Ausschalten funktioniert auch.nochmals vielen Dank
Aber die Übertragung der Ventilöffnung an die WEBUI ist echt sehr trägedie Ventile sind teils schon sicherlich fast ne Minute zu, kommt erst die Anzeige von 0% in der Webui
-
@Wieger-Daniel sagte:
die Ventile sind teils schon sicherlich fast ne Minute zu, kommt erst die Anzeige von 0% in der Webui
Die Thermostate senden nur alle ca. 2,5 Minuten.
-
@paul53 manchmal wäre mir etwas kürzere Sendeintervalle lieber
Aber egal. Kann man damit leben.
Hauptsache es läuft nun. -
@Wieger-Daniel sagte:
manchmal wäre mir etwas kürzere Sendeintervalle lieber
Dann müssten die Batterien öfter gewechselt werden.