Hallo
Ich hab ein DOIF dass bei mir einen DigitalOut0 bei 7°C schaltet und 14°C ausschaltet.
Zusätzlich hab ich ein Dummy der den DigitalOut0 manuell schalten kann.
Habe jetzt aber das Problem, dass wenn ich per dummy ihn schalte und die temp über 14°C kommt mir das doif den DigitalOut0 abschaltet.
Dies möchte ich bei der manuellen Betätigung nicht. Wie programmiere ich das am besten?
Ach und wenn ich schon am fragen bin, wie kann ich im doif die Ausgabe cmd_1 und cmd_2 in einen beliebigen Text umwandeln?
Ich danke schon mal für die Hilfe
Nachtrag
Des weiteren soll das abschalten über den dummy nur den manuellen modus ausstellen. Derzeit wenn das doif einschaltet und ich über dummy ausschalte get der Ausgang DigitalOut0 aus, dass sollte nicht passieren.
Bitte list des doif in code tags posten. Vielleicht auch vom dummy.
Das Attribut um die cmd_1,... zu überschreiben heisst glaube ich cmdState, kannst du in der Doku (commandref) nachlesen.
Kurz, weil mobil...
ZitatDes weiteren soll das abschalten über den dummy nur den manuellen modus ausstellen.
Infos zu verstreuen ist nie hilfreich!
Scheibe mal auf: was Du mit welchen Ergebnisen wie stewuern willst, dann...
Es soll bei 7°C den Ausgang DigitalOut0 einschalten und bei 14°C ausschalten (Automatische Steuerung der Heizung)
Ich möchte aber auch manuell an (ohne Temperatur Abschaltung) und ausschalten (ohne die Automatische Steuerung auszuschalten) und dieser Vorgang soll beim Einschalten nicht vom doif wieder ausgeschaltet werden bevor ich manuell wieder ausschalte.
Derzeit hab ich ein doif das super funktioniert und ein Dummy zum schalten.
Aber wenn ich jetzt über Dummy einschalte wenn die Temperatur unter 14°C ist schaltet das doif bei 14°C aus, es soll aber so lange an bleiben bis ich mit dem Dummy wieder ausschalte.
Und wenn ich aus versehen beim Dummy ausschalte wenn die Temperatur unter 7°C ist geht der Ausgang aus, dass sollte auch nicht sein.
Ich hoffe ist jetzt verständlicher ;)
Dann integriere den Zustand des Dummys in der Bedingungen deines DOIFs.
Zeig bitte ein "list" von deinem DOIF und von deinem Dummy.
DOIF
Internals:
DEF ([pix:Sensor0T:] < 15.3) (set pix DigitalOut0 on) DOELSEIF ([pix:Sensor0T:] > 16.5) (set pix DigitalOut0 off)
NAME heizen
NR 45
NTFY_ORDER 50-heizen
STATE Auto_AN
TYPE DOIF
READINGS:
2018-03-05 15:50:41 Device pix
2018-03-05 09:32:04 cmd 1
2018-03-05 09:32:04 cmd_event pix
2018-03-05 09:32:04 cmd_nr 1
2018-03-05 15:50:41 e_pix_Sensor0T 14.9
2018-03-04 19:51:47 mode enabled
2018-03-05 09:32:04 state Auto_AN
Regex:
condition:
0 ReadingValDoIf($hash,'pix','Sensor0T') < 15.3
1 ReadingValDoIf($hash,'pix','Sensor0T') > 16.5
devices:
0 pix
1 pix
all pix
do:
0:
0 set pix DigitalOut0 on
1:
0 set pix DigitalOut0 off
2:
helper:
DOIF_Readings_events
DOIF_eventas
event Sensor0T: 14.9,Sensor0H: 36.7
globalinit 1
last_timer 0
sleeptimer -1
timerdev pix
timerevent Sensor0T: 14.9,Sensor0H: 36.7
triggerDev pix
timerevents:
Sensor0T: 14.9
Sensor0H: 36.7
timereventsState:
Sensor0T: 14.9
Sensor0H: 36.7
triggerEvents:
Sensor0T: 14.9
Sensor0H: 36.7
triggerEventsState:
Sensor0T: 14.9
Sensor0H: 36.7
internals:
itimer:
readings:
0 pix:Sensor0T
1 pix:Sensor0T
all pix:Sensor0T
trigger:
uiState:
uiTable:
Attributes:
cmdState Auto_AN|Auto_AUS
room Haus
Dummy
Internals:
NAME Brenner
NR 26
STATE off
TYPE dummy
READINGS:
2018-03-04 17:55:49 state off
Attributes:
room Haus
webCmd on:off
und die zwei Notify für den Dummy
Internals:
DEF Brenner:on set pix DigitalOut0 on
NAME Brenner_on
NOTIFYDEV Brenner
NR 27
NTFY_ORDER 50-Brenner_on
REGEXP Brenner:on
STATE active
TYPE notify
READINGS:
2018-03-04 19:41:32 state active
Attributes:
Internals:
DEF Brenner:off set pix DigitalOut0 off
NAME Brenner_off
NOTIFYDEV Brenner
NR 28
NTFY_ORDER 50-Brenner_off
REGEXP Brenner:off
STATE active
TYPE notify
READINGS:
2018-03-04 19:41:32 state active
Attributes:
Nicht wundern Temperaturen sind zum testen anders gesetzt.
Um das ausersehen ausschalten der Automatik würde ich ja ein if im Brenner_off Notify einbauen nur bekomme ich das nicht gebacken.
Finde leider nichts passendes über die suche.
Würde gern das haben:
Brenner:off set if heizen Auto_AUS DigitalOut0 off
kann mir da einer weiter helfen
Die notifys würde ich ins DOIF integrieren.
ZitatDann integriere den Zustand des Dummys in der Bedingungen deines DOIFs.
scheinst Du außerdem zu ignorieren.
([pix:Sensor0T:] < 15.3 and [?Brenner] ne "off")
Irgendwas in der Art
danke fur di infos
hab die notify durch doif ersetzt