Hallo,
ich habe mal eine Frage zum Thermostat Fritz!DECT 301. Wenn ich das richtig sehe, hat das Thermostat eine Fenster-Auf-Erkennung und regelt dann die Temperatur für X Minuten runter.
Würde dann nach dieser Zeit das Thermostat wieder heizen, obwohl das Fenster immer noch offen ist?
Da Teile meiner Familie das Fenster gern mal mehrere Stunden offen stehen lassen, kam mir jetzt die Idee das Thermostat mit einem Fensterkontakt (Shelly Door/Window2 über MQTT) zu koppeln.
Ich könnte ja jetzt, wenn der Fensterkontakt auf/zu meldet, mit "set" die "desired-temp" vom Thermostat verstellen. (Ja, ich habe gelesen, dass die Temperatur nur alle 15 Minuten übertragen wird. Aber wenn die automatische Erkennung für 15 Minuten abschaltet und dann die Temperatur von FHEM runter geregelt wird, müsste das ja passen)
Ich habe aber hier: https://forum.fhem.de/index.php?topic=112418.0 (https://forum.fhem.de/index.php?topic=112418.0) gesehen, dass es scheinbar auch ein "windowopen" Command gibt. Leider habe ich keine weiteren Informationen dazu gefunden und auch nach einem "update" kann ich beim Thermostat nur "set thermostat closed/desired-temp/open" einstellen.
Kann mir mal jemand da auf die Sprünge helfen?
Vielen Dank...
Zitat... auch nach einem "update" kann ich beim Thermostat nur "set thermostat closed/desired-temp/open" einstellen.
FHEM nach update neu gestartet?
Nee, hatte ich scheinbar vergessen.
Jetzt gibt es boost, closed, desired-temp, open, raw und windowopen :D
Aber was macht windowopen jetzt genau?
Zitat von: ersthelfer am 22 Oktober 2020, 09:41:55
Aber was macht windowopen jetzt genau?
Moin , die Frage hatte ich mir als ich diesen Faden sah auch gestellt. Ein Blick in die https://fhem.de/commandref_DE.html#FBDECT hat meine Frage beantwortet ;)
windowopen <Dauer>
Versetzt den Comet/Fritz DECT in windowopen Modus fü" Dauer in Sekunden. 0 bedeutet windowopen Modus canceln.
Gruss
Enno
Damit habe ich ja das gleiche Problem wie vorher :(
Ich möchte den Zustand ja erst beenden, wenn das Fenster wieder geschlossen wird. Oder mache ich wenn der Sensor meldet das dass Fenster geöffnet ist
"set Device windowopen für gaaaaaaanz lang" und wenn es geschlossen wird "set Device windowopen 0" ?
Oder wie realisiere ich eine Fenster offen Erkennung mit Fenstersensor richtig?
Danke für Eure Hilfe....
ZitatVersetzt den Comet/Fritz DECT in windowopen Modus fü" Dauer in Sekunden. 0 bedeutet windowopen Modus canceln.
Das stand wirklich so da :)
Habs jetzt korrigiert.
Zitat von: ersthelfer am 22 Oktober 2020, 11:36:24
Oder wie realisiere ich eine Fenster offen Erkennung mit Fenstersensor richtig?
Meine Fenstersensoren sind 1-Wire. Die Fenster offen Erkennung mache ich wie du schon laut gedacht hast.
defmod di_Fenster DOIF ([OG_BZ_Fenster:state] eq "open" and [OG_BZ_Heizung:windowopenactiv] eq "no")(set OG_BZ_Heizung windowopen 3600)\
DOELSEIF ([OG_BZ_Fenster:state] eq "closed" and [OG_BZ_HM_Heizung:windowopenactiv] eq "yes")(set OG_BZ_Heizung windowopen 0)
attr di_Fenster do always
Wenn das Fenster nach ganz lange noch offen steht, wird halt die nächste Stunde gestartet.
Gruss
Enno
Hallo,
ich habe eine Fritz!Dect 302 und dort scheint der set Heizkoerper windowopen 0 nicht zu funktionieren.
set Heizkoerper windowopen 3600 hat den erwarteten Effekt.
set Heizkoerper windowopen 1 sorgt dafür, dass die Dauerangabe auf der Anzeige des Fritz!Dect 302 verschwindet, der Froststern aber bleibt.
Hi,
ich habe beim Nachbarn auch so ein Thermostat,
Dort nutze ich diese Funktion aber nicht, weil es immer wieder Probleme gab.
Deswegen Schalte ich alles über FHEM.
ist mir sicherer....
Das ist meine Sub für Alle Räume:
sub Heizung($$) {
my ($Nr,$Day) = @_;
my $Temp = 6.0;
my $Heizperiode = ReadingsVal("do.Heizperiode", "heizperiode", "off");
my $Warm = ReadingsVal("do.Heizperiode", "warm", "off");
my $Mode = ReadingsVal("do.TC0" . $Nr . "01", "config", "manual");
my $Window = ReadingsVal("FE_0" . $Nr . "00", "window", "closedclosed");
my $Sommer = ReadingsVal("do.TC0" . $Nr . "01", "config", "sommer");
# Log(1,"**Heizung** Raum:($Nr) => Heizperiode: $HZP [Fenster: $wind -> Status: $Ze // $Warm ] ==> $Temp");
if($Sommer eq "sommer") {
$Temp = "off";
} else {
if($Heizperiode eq "on" or $Sommer ne "sommer") { # Heizperiode an
if($Window eq "closedclosed") { # Fenster geschlossen
if($Day eq "night") { # ist Nacht
$Temp = ReadingsVal("do.TC0" . $Nr . "01","night-temp",6.0); # set Temp Nacht
} else { # ist Tag
if($Warm eq "off") { # ist Kalt
$Temp = ReadingsVal("do.TC0" . $Nr . "01","day-temp",6.0); # set Temp Tag kalt
} else { # ist Warm
$Temp = ReadingsVal("do.TC0" . $Nr . "01","warm-temp",6.0); # set Temp Tag warm
} #
} #
} else { # Fenster nicht geschlossen
$Temp = ReadingsVal("do.TC0" . $Nr . "00","window-temp",6.0); # set temp fenster
} #
} else { # Heizperiode aus
$Temp = "off"; # set temp off
}
}
# Log(1,"**Heizung** Raum:($Nr) => Heizperiode: $HZP [Fenster: $wind -> Status: $Ze // $Warm ] ==> $Temp");
if($Mode ne "manual") {
if($Mode ne "sommer") {
fhem("set TC_0" . $Nr . "01 desired-temp " . $Temp . ";");
}
}
gruss
Hallo Eisman,
Danke für den Hinweis. Ich werde trotzdem noch versuchen, den Fritz!Dect302 zur Funktion zu bringen.
Da AVM selber einen Fenstersensor anbieten wird, gehe ich davon aus, das eine gute Funktion nur eine Frage der Zeit ist.
Zum Glück kann ja die Firmware Upgedated werden.
Falls ich eine Lösung finde, werde ich sie posten
hi,
sollte auch nur eine Info sein,
bei meinen Installatione gabe es Probleme mit
Homatik HM-SEC-RHS und HM-CC-TC wieder einschalten der Heizung nach xx min
FHT FHT80b und und HM-SEC-RHS + Eigenbau keine verbindung möglich
FRITZ!DEECT 302/301 + Eigenbau nicht zum laufen bekommen
wenn ich mir den Preis von FRITZ!DECT 350 und den von ESP8266 + 2 oder 4 reedkontakt anschaue.
gibt es für mich keine Frage und ein Glücklicher Nachtbar unbezahlbar. :D
gruss
Hi Eisman,
ich habe noch keinen Preis für FRITZ!DECT 350 gesehen.
Ich habe allerdings noch überall die FHT Fenster Tür Kontakte und will die einbinden.
Wenn ich ein set Fritz_Dect_302 desired-temp 7.5 abschicke, bekomme ich auch den Eisstern.
Aber Window-Open_Active bleibt auf no
Ich würde jetzt gerne die Fritz_Dect_302 Desired-Temp beim FHTTK on-change open in einer Dummy Variablen DuscheTemp speichern und gleichzeitig die Fritz_Dect_302 Desired-Temp auf 7.5 umstellen.
Wenn das Fenster wieder zugemacht wird, soll die Desired-Temp aus der Dummy Variablen wieder hergestellt werden.
Gibt es dafür ein Beispiel?
Ich habe das notify angelegt: (erst mal um zu sehen, dass die DuscheTemp gesetzt wird)
define Dusche_NF notify Dusche_FTK:STATE:open set DuscheTemp ReadingsVal("FritzDect302","desired-temp",18.5)
Wenn ich jetzt das Fenster aufmache stürzt FHEM ab. Ich habe es auch mit {fhem("set DuscheTemp ReadingsVal('FritzDect302','desired-temp',18.5)")} versucht, aber immer endet das als Text und nicht als Wert in DuscheTemp
Die Beispiele zu notify habe ich gesehen, aber nichts gefunden, dass eine Dummy Variable mit einem Wert aus einem anderen Device setzt.
ZitatWenn ich jetzt das Fenster aufmache stürzt FHEM ab.
Das haette ich gerne (z.Bsp. mit FHEM-Log) nachgewiesen.
Hi,
einen Preis hatte ich schon gefunden im net...
das mit dem absturz, kann ich auch nicht Nachvollziehen,
aber ich würde hier einfach Oldreading benutzen,
oldreadings measured-temp,desired-temp
userReadings desired-temp-old { OldReadingsVal($name,"desired-temp",0)}
und dann fenster zu set desired-temp = desired-temp-old
ist aber ungetestet
Window-Open_Active bleibt auf no wird sich auch nicht ändern!
gruss
hi,
ich habe es grade ausprobiert, kein absturz...
define Dusche_NF notify Dusche_FTK:open { fhem("set DuscheTemp " . ReadingsVal("FritzDect302","desired-temp",18.5))}
oder
define Dusche_NF notify Dusche_FTK:open set DuscheTemp [FritzDect302:desired-temp]
STATE sollte bestimmt state benannt werden.
Dusche_FTK:STATE:open == Dusche_FTK:state:open
kann man auch in Event monitor sehen
Events (Filter: Dusche_FTK.*) FHEM log ResetCreate/Modify Device
Modify
define Dusche_FTK_notify_1 notify Dusche_FTK:open {}
gruss
Hallo Eisman,
das hat jetzt geholfen, der Punkt wars: Dusche_TK.Window:.Open funktioniert als Event zusammen mit
dem Attr: event-on-change-reading Window:.*
DuscheTemp wird jetzt mit dem richtigen Wert aber mit angehängtem °C gesetzt.
Ich habe danach gleich:
set DuscheTemp [FritzDect302:desired-temp];; set FritzDect302 desired-temp 7.5
als Kommando ausprobiert. Irgendwann nach vielen Minuten kommen die 7.5 Grad an.
Wenn ich das im Set FritzDect302 desired-temp [DuscheTemp] verwende, bewirkt der Befehl nichts.
Ich vermute mal wegen dem °C hinten dran.
Der 7.5° Eisstern geht übrigens nur mit der Temperaturerhöhung weg und hat nichts mit dem window-open Eisstern der Fritz!Dect 302 zu tun
das zauberwort heist ReadingsNum anstatt ReadingsVal...
set TC_0201 windowopen duration
duration must be between 0 (deactivate) and 86400 (+24h)
konte die funktion nur online testen, da ich nicht beim nachtbarn bin...
set TC_0201 desired-temp 23.0
funktioniert auch, ebend wie erwartet verzögert...
solte dann wohl vieleicht helfen
setreading ist besser als set und schneller
setreading TC_0201 desired-temp 22.0
gruss
Hi Eisman,
bin leider vorher nicht dazu gekommen, zu testen:
defmod Dusche_NF_O notify Dusche_TK.Window:.Open { fhem("set DuscheTemp " . ReadingsNum("FritzDect302","desired-temp",18.5))};;set FritzDect302 desired-temp 7.5
funktioniert gut, aber nicht mit setreading FritzDect302 desired-temp 7.5
Wenn das Fenster geschlossen wird:
define Dusche_NF_C notify Dusche_TK.Window:.Closed set FritzDect302 desired-temp [DuscheTemp]
funktioniert nicht.
aber:
defmod Dusche_NF_C notify Dusche_TK.Window:.Closed set FritzDect302 desired-temp 20.5
funktioniert.
Die Weboberfläche zeigt an, dass die Notifys aktiviert werden.
Nach längerem rumprobieren:
defmod Dusche_NF_C notify Dusche_TK.Window:.Closed { fhem("set FritzDect302 desired-temp " . ReadingsVal("DuscheTemp",".",18.0))}
funktioniert, aber ich verstehe diesen . nicht.
Außerdem verstehe ich nicht, warum ein alias für FritzDect302 [Dusche] nicht aufgelöst wird.
Aber es funktioniert erst mal, dass ist super. Vielen Dank für die Hilfe
hi,
defmod Dusche_NF_O notify Dusche_TK.Window:.Open {
fhem("set DuscheTemp " . ReadingsNum("FritzDect302","desired-temp",18.5) .
"; set FritzDect302 desired-temp 7.5");
}
zu zwei
define Dusche_NF_C notify Dusche_TK.Window:.Closed set FritzDect302 desired-temp [DuscheTemp:state]
und
set TC_0201 desired-temp 16.0
setreading TC_0201 desired-temp 16.0
hat beides bei meinem Nachtbarn ohne probleme Funktioniert
defmod Dusche_NF_O notify Dusche_TK.Window:.Open {
fhem("set DuscheTemp state " . ReadingsNum("FritzDect302","desired-temp",18.5));
fhem("set FritzDect302 desired-temp 7.5");
}
define Dusche_NF_C notify Dusche_TK.Window:.Closed {
fhem("set FritzDect302 desired-temp " . ReadingsVal("DuscheTemp","state",7.5));
}
alias ist nur ein String für device
bei mir ist der Devicename TC_0101 (Heizung Etage 0 / Raum 1 gerät 01)
damit man den namen besser erkennt, gibts den Alias Wohnzimmer......
ich find namen wie: Musersstrasse.0.Etage1.Kinderzimmer.Suse.Hintenlinks temperature nicht prickelnd
deswegen Musersstrasse.0.Etage1.Kinderzimmer.Suse.Hintenlinks == TC_0101 alias Kinderzimmer Suse Hintenlinks
gruss
Hallo Eisman,
fhem("set DuscheTemp state " . ReadingsNum("FritzDect302","desired-temp",18.5));
setzt bei mit den state von DuscheTemp auf state 18.0
Aber
fhem("set DuscheTemp " . ReadingsNum("FritzDect302","desired-temp",18.5));
funktioniert wunderbar.
und
set FritzDect302 desired-temp [DuscheTemp:state]
auch.
Vielleicht sollten wir eine Rubrik Fritz!Dect aufmachen? andere haben bestimmt auch so Fragen und wollen vermutlich auch alte Komponenten aus FHT Zeiten weiter nutzen.
Was meinst du?
Hi,
da bin ich nicht der richtig, ich benutze diese Teile nicht,
und ich benutze die Funktionen nicht. Ich stelle seit 2013,
meine Thermostate immer mit FHEM ein, so nach dem Motto Fenster
kann auch ohne Probleme einen Monat auf bleiben, ohne das die
Heizung wieder angeht. Das einzige wo ich sowas bräuchte,
wäre wenn FHEM ausfällt und tuituitui ist bis heute noch nicht
passiert...
gruss
Zitat von: Elektronikus am 06 November 2023, 17:18:55Hallo Eisman,
fhem("set DuscheTemp state " . ReadingsNum("FritzDect302","desired-temp",18.5));
setzt bei mit den state von DuscheTemp auf state 18.0
noch besser wäre:
defmod DuscheTemp dummy
attr DuscheTemp readingList state temp
attr DuscheTemp setList temp
attr DuscheTemp stateFormat Temp: [DuscheTemp:temp] °C
fhem("set DuscheTemp temp " . ReadingsNum("FritzDect302","desired-temp",18.5));
set FritzDect302 desired-temp [DuscheTemp:temp]
oder
fhem("set FritzDect302 desired-temp " . ReadingsNum("DuscheTemp","temp",18.5));
wenn man mehrere readings anlegen möchte..
gruss