NEWS
[Geklärt] Auto Hand Blockly schaltet nicht wie gewünscht
-
Hallo,
Für meine Heizungssteuerung habe ich ein Auto/Hand Blockly erstellt.
Bei Auto soll die Heizungssteuerung nach den gewünschten Parametern schalten,
das funktioniert auch.
Wenn ich auf Hand umschalte werden alle Aktoren ausgeschaltet.
Nach ca drei Minuten schalten schalten die Aktoren wieder in den
Auto Modus zurück, ohne das sich das Icon ändert.
Für Auto/Hand habe ich unter javaskript.0 einen Datenpunkt Switch ( Button Auto/Hand) erstellt.
Ich finde den Fehler nicht, warum bei Stellung Hand immer wieder zurück geschaltet wird.
Wer kann mir bitte helfen.
Danke, freundliche Grüße
Michael -
@Altersrentner
In den ersten Block "setze auto auf ..." gehört kein Vergleich rein.
Zeige bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags. -
@paul53 said in Auto Hand Blockly schaltet nicht wie gewünscht:
In den ersten Block "setze auto auf ..." gehört kein Vergleich rein.
verstehe ich nicht. Was muss entfernt werden.
Hier der Datenpunkt.
Gruß Michael -
-
Ich glaube, das wolltest Du sehen?
var auto, Wert; // Hand Auto auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val == true; on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; auto = Wert; if (!auto) { // Alle 4 Pumpen aus setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); setState("hm-rpc.2.MEQ1534348.13"/*Pumpe 1A7*/, false); } }); // Raumtemperatur UG on({id: "mihome.0.devices.weather_v1_158d0002329079.temperature"/*Temperature Eingang*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (Wert >= 20.5) { // Pumpe UG aus setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); } if (Wert < 20) { // Pumpe UG ein setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true); } } }); // Raumtemperatur EG on({id: "mihome.0.devices.weather_v1_158d00023290e8.temperature"/*Temperature Wohnzimmer*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (Wert >= 23) { // Pumpe EG aus setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); } if (Wert <= 22.9) { // Pumpe EG aus setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true); } } }); // Raumtemperatur OG on({id: "fhem.0.TF_Bad.temperature"/*TF_Bad temperature*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (Wert >= 22.5) { // Pumpe EG aus setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); } if (Wert < 22.3) { // Pumpe EG aus setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true); } } });
-
@Altersrentner
Das kann nicht funktionieren, denn Wert darf keine Variable sein, sondern eine Eigenschaft des Trigger-Datenpunktes. Benenne die Variable Wert um in value (genau so geschrieben), damit es funktioniert.Das erste Kommando ändere so:
-
@paul53
Habe Deinen Vorschlag eingearbeitet.
Brachte aber leider keinen Erfolg.var auto, value; // Hand Auto auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val; on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; auto = value; if (!auto) { // Alle 4 Pumpen aus setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); setState("hm-rpc.2.MEQ1534348.13"/*Pumpe 1A7*/, false); } }); // Raumtemperatur UG on({id: "mihome.0.devices.weather_v1_158d0002329079.temperature"/*Temperature Eingang*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (value >= 20.5) { // Pumpe UG aus setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); } if (value < 20) { // Pumpe UG ein setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true); } } }); // Raumtemperatur EG on({id: "mihome.0.devices.weather_v1_158d00023290e8.temperature"/*Temperature Wohnzimmer*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (value >= 23) { // Pumpe EG aus setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); } if (value <= 22.9) { // Pumpe EG aus setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true); } } }); // Raumtemperatur OG on({id: "fhem.0.TF_Bad.temperature"/*TF_Bad temperature*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (value >= 22.5) { // Pumpe EG aus setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); } if (value < 22.3) { // Pumpe EG aus setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true); } } }); _text
Kann es sein, das ein anderes Blockly das Auto/Hand beeinflusst?
Wenn ja, was ich vermute. Wie bekomme ich raus welches.
Gibt es einen Befehl den ich nutzen könnte um Verbindungen anzuzeigen -
@Altersrentner sagte:
Habe Deinen Vorschlag eingearbeitet.
Das Script muss so funktionieren.
@Altersrentner sagte in Auto Hand Blockly schaltet nicht wie gewünscht:
Kann es sein, das ein anderes Blockly das Auto/Hand beeinflusst?
Das muss wohl so sein.
@Altersrentner sagte in Auto Hand Blockly schaltet nicht wie gewünscht:
Wenn ja, was ich vermute. Wie bekomme ich raus welches.
Nach und nach deaktivieren.
-
@paul53 said in Auto Hand Blockly schaltet nicht wie gewünscht:
Das Script muss so funktionieren.
Davon war ich aufgrund Deiner Erfahrungen überzeugt.
Ich denke jetzt das Skript gefunden zu haben, welches den Konflikt ausgelöst hat.
Kann aber im Moment leider nicht weiter testen, da alle Raumtemperaturen
bedingt durch Sonne über Temp.Soll liegen.
Melde mich wieder.
Danke erst mal.
Gruß Michael -
Hallo paul53,
Also es gibt jetzt zwei Skripte sprich Blocklys die für die Heizungssteuerung zuständig sind.
Ursprünglich war dieser Skript zuständig und er funktioniert ohne Auto/Hand ohne Probleme:// Hier noch Räume OG eintragen // Prüfe Temp Puffer und Räume 1A7 schalten console.warn('Prüfe Temp Puffer und Räume'); on({id: new RegExp('hm-rpc\\.0\\.OEQ0673599\\.2\\.TEMPERATURE' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d00023290e8\\.temperature' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d0002329079\\.temperature' + "|" + 'fhem\\.0\\.TF_Bad\\.temperature' + "|" + 'javascript\\.0\\.Eigene_Datenpunkte\\.Räume\\.Wohnzimmer\\.Heizung_EIN_AUS' + "|" + 'default'), change: "any"}, function (obj) { // wenn Temp Puffer >35 und Temp Räume < Soll dann if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) >= 35) { if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20 || parseFloat('fhem.0.TF_Bad.temperature') <= 22.3) { // Pumpe 1A7 einschalten console.warn('schalte 1A7 ein '); setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, true); } } // Prüfe Temp Puffer und Räume 1A7 ausschalten if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) <= 35) { if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5 && parseFloat('fhem.0.TF_Bad.temperature') >= 22.5) { // Pumpe 1A7 ausschalten console.warn('schalte 1A7 aus '); setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false); } } // Wenn Temp Eingang Ist > Soll Pumpe UG ausschalten if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); } else if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true); } // Wenn Temp WZ < Soll Pumpe EG einsschalten console.warn('Wenn Temp WZ <Soll Pumpe EG einschalten'); if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23) { console.warn(' Pumpe EG aus'); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); } if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == true && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) { setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); console.warn(' Pumpe EG aus'); } if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == false && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) { console.warn(' Pumpe EG ein'); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true); } // Wenn Temp Bad< Soll Pumpe OG einsschalten if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) >= 22.5) { setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); } else if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) <= 22.3) { setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true); } }); _
Nun ist aber das Auto/Hand Skript dazu gekommen.
var auto, value; // Hand Auto auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val; on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; auto = value; if (!auto) { // Alle 4 Pumpen aus setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); setState("hm-rpc.2.MEQ1534348.13"/*Pumpe 1A7*/, false); } }); // Raumtemperatur UG on({id: "mihome.0.devices.weather_v1_158d0002329079.temperature"/*Temperature Eingang*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (value >= 20.5) { // Pumpe UG aus setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); } if (value < 20) { // Pumpe UG ein setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true); } } }); // Raumtemperatur EG on({id: "mihome.0.devices.weather_v1_158d00023290e8.temperature"/*Temperature Wohnzimmer*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (value >= 23) { // Pumpe EG aus setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); } if (value <= 22.9) { // Pumpe EG aus setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true); } } }); // Raumtemperatur OG on({id: "fhem.0.TF_Bad.temperature"/*TF_Bad temperature*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Puffer-Temperatur if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) { if (value >= 22.5) { // Pumpe EG aus setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); } if (value < 22.3) { // Pumpe EG aus setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true); } } });
`Beide Skripte beeinflussen sich gegenseitig.. Ich habe schon versucht, im AutoHand alle Blöcke außer Block 1 zu deaktivieren aber die Aktoren schalten sich bei Hand wieder ein.
Mir ist klar, dass beide Skripte verknüpft werden müssen- aber wie??? -
@Altersrentner sagte:
aber wie???
Der Datenpunkt "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik" muss in beiden Scripts ausgewertet werden.
-
Hallo paul53,
meinst Du so?var auto, value; // Hier noch Räume OG eintragen // Prüfe Temp Puffer und Räume 1A7 schalten auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val; on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; auto = value; if (!auto) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false); } }); console.warn('Prüfe Temp Puffer und Räume'); on({id: new RegExp('hm-rpc\\.0\\.OEQ0673599\\.2\\.TEMPERATURE' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d00023290e8\\.temperature' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d0002329079\\.temperature' + "|" + 'fhem\\.0\\.TF_Bad\\.temperature' + "|" + 'javascript\\.0\\.Eigene_Datenpunkte\\.Räume\\.Wohnzimmer\\.Heizung_EIN_AUS' + "|" + 'default'), change: "any"}, function (obj) { // wenn Temp Puffer >35 und Temp Räume < Soll dann if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) >= 35) { if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20 || parseFloat('fhem.0.TF_Bad.temperature') <= 22.3) { // Pumpe 1A7 einschalten console.warn('schalte 1A7 ein '); setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, true); } } // Prüfe Temp Puffer und Räume 1A7 ausschalten if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) <= 35) { if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5 && parseFloat('fhem.0.TF_Bad.temperature') >= 22.5) { // Pumpe 1A7 ausschalten console.warn('schalte 1A7 aus '); setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false); } } // Wenn Temp Eingang Ist > Soll Pumpe UG ausschalten if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); } else if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true); } // Wenn Temp WZ < Soll Pumpe EG einsschalten console.warn('Wenn Temp WZ <Soll Pumpe EG einschalten'); if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23) { console.warn(' Pumpe EG aus'); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); } if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == true && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) { setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); console.warn(' Pumpe EG aus'); } if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == false && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) { console.warn(' Pumpe EG ein'); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true); } // Wenn Temp Bad< Soll Pumpe OG einsschalten if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) >= 22.5) { setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); } else if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) <= 22.3) { setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true); } }); _tex
aber leider funktioniert das nicht
-
meinst Du so?
Die Variable auto zu setzen, ist gut. Die Pumpen müssen aber nur in einem Script ausgeschaltet werden. Die Variable auto muss zu jedem Einschalten der Pumpen ausgewertet werden. Beispiel:
} else if (auto && parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true); }
-
paul53
Hallo,
Habe es jetzt wie vorgeschlagen in die Heizungssteuerung eingearbeitet,
Der erste Test mit einem Raum verlief erfolgreich.
Warte jetzt ab, wie die anderen Räume reagieren.
Ist das Skript Auto/Hand noch erforderlich?
Es wurde testweise deaktiviert und die Auto / Hand funktioniert über die Heizungssteuerung:var auto, value; // Hier noch Räume OG eintragen // Prüfe Temp Puffer und Räume 1A7 schalten auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val; on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; auto = value; if (!auto) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false); } }); console.warn('Prüfe Temp Puffer und Räume'); on({id: new RegExp('hm-rpc\\.0\\.OEQ0673599\\.2\\.TEMPERATURE' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d00023290e8\\.temperature' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d0002329079\\.temperature' + "|" + 'fhem\\.0\\.TF_Bad\\.temperature' + "|" + 'javascript\\.0\\.Eigene_Datenpunkte\\.Räume\\.Wohnzimmer\\.Heizung_EIN_AUS' + "|" + 'default'), change: "any"}, function (obj) { // wenn Temp Puffer >35 und Temp Räume < Soll dann if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) >= 35) { if (auto && (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20 || parseFloat('fhem.0.TF_Bad.temperature') <= 22.3)) { // Pumpe 1A7 einschalten console.warn('schalte 1A7 ein '); setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, true); } } // Prüfe Temp Puffer und Räume 1A7 ausschalten if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) <= 35) { if (getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val && (parseFloat() >= 23 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5 && parseFloat('fhem.0.TF_Bad.temperature') >= 22.5)) { // Pumpe 1A7 ausschalten console.warn('schalte 1A7 aus '); setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false); } } // Wenn Temp Eingang Ist > Soll Pumpe UG ausschalten if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false); } else if (auto && parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20) { setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true); } // Wenn Temp WZ < Soll Pumpe EG einsschalten console.warn('Wenn Temp WZ <Soll Pumpe EG einschalten'); if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23) { console.warn(' Pumpe EG aus'); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); } if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == true && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) { setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false); console.warn(' Pumpe EG aus'); } if (auto && getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == false && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) { console.warn(' Pumpe EG ein'); setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true); } // Wenn Temp Bad< Soll Pumpe OG einsschalten if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) >= 22.5) { setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false); } else if (auto && parseFloat(getState("fhem.0.TF_Bad.temperature").val) <= 22.3) { setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true); } });
Gruß Michael
-
@Altersrentner sagte:
Ist das Skript Auto/Hand noch erforderlich?
Das musst Du wissen, ob es Abhängigkeiten enthält, die in dem anderen Script nicht vorhanden sind.
-
@paul53 said in Auto Hand Blockly schaltet nicht wie gewünscht:
@Altersrentner sagte:
Ist das Skript Auto/Hand noch erforderlich?
Das musst Du wissen, ob es Abhängigkeiten enthält, die in dem anderen Script nicht vorhanden sind.
Hallo,
Das Skript der Heizungssteuerung läuft seit gestern wie gehabt und gewünscht
mit dem integrierten Auto/Hand Modus.
Das ursprüngliche Auto/Hand Skript ist jetzt seit 24 Stunden deaktiviert.
Bis jetzt keine Unregelmäßigkeiten
Damit ist der Betreff geklärt.
Danke für Deine Unterstützung
Freundliche Grüße
Michael