NEWS
Suche helfende Hand Lüftungssteuerung
-
@paul53 Ja jetzt versteh ich das auch!
-
@paul53 Hi also läuft jetzt soweit die frage ist wenn ich jetzt Dusche sollte ja die Abluft starten! Und wie kann ich einstellen das er Automatisch eine bestimmte Luftfeuchte hält??? Und ganz wichtig Zeitsteuerung die frau rastet aus wenn nachts die Lüftung läuft.....
Danke schonmal
-
@TinoNikol sagte:
wenn ich jetzt Dusche sollte ja die Abluft starten! ... Und ganz wichtig Zeitsteuerung
Habe compareTime() (2 Stellen), einen Datenpunkt für Duschen im Automodus und ein schedule() ergänzt.
// Zu- und Ablüfter steuern // IDs anpassen ! const idZuluft = 'alias.0.Haus.Zuluft.Luefter'; const idAbluft = 'alias.0.Haus.Abluft.Luefter'; const idZuMode = '0_userdata.0.Haus.Zuluft.Modus'; const idAbMode = '0_userdata.0.Haus.Abluft.Modus'; const idLueft = '0_userdata.0.Haus.Klima.Lueften'; const idDusche = '0_userdata.0.Bad.Abluft.Duschen'; var modeZu = getState(idZuMode).val; // 0=Aus,1=Auto,2=Ein var modeAb = getState(idAbMode).val; var lueft = getState(idLueft).val && compareTime('07:00', '22:00', 'between'); var duschen = getState(idDusche).val; function zuluft() { let ein = modeZu == 2 || modeZu == 1 && lueft; if(ein != getState(idZuluft).val) setState(idZuluft, ein); } function abluft() { let ein = modeAb == 2 || modeAb == 1 && (lueft || duschen); if(ein != getState(idAbluft).val) setState(idAbluft, ein); } zuluft(); abluft(); schedule('0 7,22 * * *', function() { // täglich am Morgen und am Abend zuluft(); abluft(); }); on(idLueft, function(dp) { lueft = dp.state.val && compareTime('07:00', '22:00', 'between'); zuluft(); abluft(); }); on(idZuMode, function(dp) { modeZu = dp.state.val; zuluft(); }); on(idAbMode, function(dp) { modeAb = dp.state.val; abluft(); }); on(idDusche, function(dp) { duschen = dp.state.val; abluft(); });
@TinoNikol sagte in Suche helfende Hand Lüftungssteuerung:
Automatisch eine bestimmte Luftfeuchte hält???
Das halte ich nicht für sinnvoll. Das Lüftungsskript dient zur Entfeuchtung durch die Außenluft und enthält einen Schutz vor zu trockener Luft.
-
@paul53 Ok aber wie funktioniert das mit dem Dusch Modus???
-
Luftfeuchte wäre klasse...
-
@TinoNikol sagte :
wie funktioniert das mit dem Dusch Modus???
Das musst Du wissen, wie erkannt wird, dass geduscht wird. Gibt es einen Taster ? Oder über Anstieg Luftfeuchte ?
-
@paul53 Sensor Luftfeuchte
-
-
@paul53 Ist ein Shelly HT keine Ahnung
-
-
@paul53 said in Suche helfende Hand Lüftungssteuerung:
@TinoNikol sagte:
Ist ein Shelly HT
Habe ich nicht.
Denk hab eingestell ab 0,5 % Luftfeuchte meldet er
-
@TinoNikol sagte:
ab 0,5 % Luftfeuchte meldet er
Dann kann man den Anstieg auswerten. Vorschlag:
const idRH = 'alias.0.Bad.Klima.rel_Feuchte'; const idDusche = '0_userdata.0.Bad.Abluft.Duschen'; var duschen = getState(idDusche).val; on(idRH, function(dp) { let anstieg = 60000 * (dp.state.val - dp.oldState.val) / (dp.state.lc - dp.oldState.lc); // % pro Minute if(anstieg > 2 && dp.state.val > 66) duschen = true; else if(dp.state.val < 65) duschen = false; setState(idDusche, duschen, true); });
-
@paul53 said in Suche helfende Hand Lüftungssteuerung:
@TinoNikol sagte:
ab 0,5 % Luftfeuchte meldet er
Dann kann man den Anstieg auswerten. Vorschlag:
const idRH = 'alias.0.Bad.Klima.rel_Feuchte'; const idDusche = '0_userdata.0.Bad.Abluft.Duschen'; var duschen = getState(idDusche).val; on(idRH, function(dp) { let anstieg = 60000 * (dp.state.val - dp.oldState.val) / (dp.state.lc - dp.oldState.lc); // % pro Minute if(anstieg > 2 && dp.state.val > 66) duschen = true; else if(dp.state.val < 65) duschen = false; setState(idDusche, duschen, true); });
Cool
-
@paul53 said in Suche helfende Hand Lüftungssteuerung:
@TinoNikol sagte:
ab 0,5 % Luftfeuchte meldet er
Dann kann man den Anstieg auswerten. Vorschlag:
const idRH = 'alias.0.Bad.Klima.rel_Feuchte'; const idDusche = '0_userdata.0.Bad.Abluft.Duschen'; var duschen = getState(idDusche).val; on(idRH, function(dp) { let anstieg = 60000 * (dp.state.val - dp.oldState.val) / (dp.state.lc - dp.oldState.lc); // % pro Minute if(anstieg > 2 && dp.state.val > 66) duschen = true; else if(dp.state.val < 65) duschen = false; setState(idDusche, duschen, true); });
Irgendwie geht das nicht
-
@TinoNikol sagte:
Irgendwie geht das nicht
Was geht nicht ? Um zu sehen, woran es hakt, füge Log-Ausgaben ein:
const idRH = 'alias.0.Bad.Klima.rel_Feuchte'; const idDusche = '0_userdata.0.Bad.Abluft.Duschen'; var duschen = getState(idDusche).val; on(idRH, function(dp) { let anstieg = 60000 * (dp.state.val - dp.oldState.val) / (dp.state.lc - dp.oldState.lc); // % pro Minute if(anstieg > 2 && dp.state.val > 66) duschen = true; else if(dp.state.val < 65) duschen = false; setState(idDusche, duschen, true); log('Anstieg: ' + anstieg + ' %/min, rel. Feuchte: ' + dp.state.val + ' %, Duschen: ' + duschen); });
-
@paul53 Ok geht musste mal restarten aber braucht lang bis reagiert!
00:22:37.325 info javascript.0 (28636) Start javascript script.js.Lüftung.Dusch_Erkennung 00:22:37.331 info javascript.0 (28636) script.js.Lüftung.Dusch_Erkennung: registered 1 subscription and 0 schedules 00:23:09.453 info javascript.0 (28636) script.js.Lüftung.Dusch_Erkennung: Anstieg: 3.7327770763572485, rel. Feuchte: 89.5, Duschen: true
-
@paul53 Hi irgendwas stimmt nicht muss Javascript neustarten sonst Startet Lüftung nicht!
-
@TinoNikol sagte:
muss Javascript neustarten sonst Startet Lüftung nicht!
Das kann wohl kaum an diesem Skript liegen.
-
@paul53 An was könnte es liegen?
-
@TinoNikol sagte:
An was könnte es liegen?
?? Hast Du irgendwo eine Endlosschleife programmiert ? Meine Skriptvorschläge enthalten keine Endlosschleife, wenn die richtige Datenpunkt-ID zugeordnet ist. Deaktiviere mal die Skripte, die Du nicht gerade testen willst.