nach zwei Stunden umschalten ??

Begonnen von Vladi2010, 25 März 2016, 21:21:41

Vorheriges Thema - Nächstes Thema

Vladi2010

Hallo vielleicht kann mir jemand hier helfen,

momentan habe ich auf einer FS20 Fernbedienung zwei befehle, einen um Anzuheizen und den anderen um wider auf die Normaltemperatur zu kommen.


define Badezimmer_Anheizen1 notify FS20_d78407:off { fhem("set  heizung.5 desired 25 ;; set Stellantrieb_BAD valve 100") }

define Badezimmer_Anheizen_AUS2 notify FS20_d78407:on { fhem("set  heizung.5 desired 17 ;; set Stellantrieb_BAD valve 0") }


kann mir jemand helfen dies so zu automatisieren dass nach zwei Stunden die Heizung automatisch auf 17 Grad zurück schaltet ?


Danke für eure Hilfe

Andreas

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Ellert

Vielleicht so:
define Badezimmer_Anheizen1 notify FS20_d78407:off { fhem("set  heizung.5 desired 25 ;; set Stellantrieb_BAD valve 100;; sleep 7800;; set  heizung.5 desired 17 ;; set Stellantrieb_BAD valve 0") }

MadMax-FHEM

Hmmm, ich weiß nicht genau was der SLEEP macht (also schon aber nicht, was FHEM in der Zeit tut, also nicht, dass dann FHEM "blockiert" ist)...

...dachte eher an:


define Heizung_an notify Bewegung set HZG_WZ desired-temp 22 ;; defmod reset_Heizung at +01:00:00 set HZG_WZ desired-temp 16


Also praktisch genau da wo der Link hin ging... ;-)
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

also für 2h nat:

at +02:00:00 ;-)

Allerdings musste ich den reset_Heizung bei mir wieder löschen nach dem er ausgelöst hatte, sonst hat er alle 2h reseted...
...habe daher das Zurückschalten in eine sub in myUtils ausgelagert.

Darin habe ich mir auch bei (in meinem Fall) Fenster auf die aktuell eingestellte Temp gemerkt und dann nach Fenster zu zeitverzögert diese wieder eingestellt.

Durch die Zeitverzögerung hat sich die Temperatur im Raum wieder "erholt" und somit musste meist garnicht/kaum "nachgeheizt" werden.
Auf jeden Fall deutlich weniger als wenn ich die Heizung nach Fenster zu gleich wieder auf die zuvor gewünschte Temp gestellt hab...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Ellert

Zitat von: MadMax-FHEM am 26 März 2016, 00:04:47
Hmmm, ich weiß nicht genau was der SLEEP macht (also schon aber nicht, was FHEM in der Zeit tut, also nicht, dass dann FHEM "blockiert" ist)...

...dachte eher an:


define Heizung_an notify Bewegung set HZG_WZ desired-temp 22 ;; defmod reset_Heizung at +01:00:00 set HZG_WZ desired-temp 16


Also praktisch genau da wo der Link hin ging... ;-)
Aus der Befehlsreferenz zum sleep-Befehl:
ZitatBemerkung: falls sleep von keinem Befehl gefolgt wird, dann wird FHEM blockiert. Das ist unerwünscht, und im FHEM-Log wird eine Warnung protokolliert.

In meinem Vorschlag folgt ein Befehl, daher ist sleep nicht blockierend.


MadMax-FHEM

Hi,

wie gesagt ich weiß nicht was die bessere Variante ist...
...allerdings wird im Forum etc. meist 'at' für solche Dinge (oder watchdog) empfolen/genannt...

Aber wie so oft: probieren geht über studieren...

Wenn es bei dir wie erwünscht läuft ohne Probleme zu machen...
...dann einfach so machen ;-)

Gruß, Joachim

P.S.: die Warnung müsste sich ja leicht finden lassen ;-)
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Vladi2010

danke an alle, jetzt hats geklappt  ;)

Vladi2010


Habe da noch ein Problem,

die Attribute " attr Licht_Automatic_180sec disable 1" bzw. " attr Licht_Automatic_180sec disable 0" werden nicht ausgeführt.

Wen ich sie aber einzeln in der Komandozeile eingebe funktionieren sie.
Die Attribute sollen den Bewegungsmelder-Notify für die Zeit des Anheizens (Baden) ausschalten.

define Badezimmer_Anheizen notify HeizungBad_Rauchmelder_Reset:off|dimdown set heizung.5 desired 25 ;; attr Licht_Automatic_180sec disable 1 ;; set Aktor_Bad_Kanal_1 on ;; defmod reset_Heizung at +01:30:00 set heizung.5 desired 17 ;; set Aktor_Bad_Kanal_1 on-for-timer 180 ;; attr Licht_Automatic_180sec disable 0


Muss ich da mit Strichpunkten oder Klammern hantieren ?

Ellert

Bitte setze Deinen Kode in Code-Tags, dann wird er lesbarer.

Du kannst versuchen die ";" mit "\" zu maskieren.

Vladi2010

ja genau das ist mein Problem,...   ich kenne mich mit den    ; / {  nicht aus  :(

Damian

Zitat von: Vladi2010 am 28 März 2016, 20:07:59
ja genau das ist mein Problem,...   ich kenne mich mit den    ; / {  nicht aus  :(

Alternativvorschlag:

define di_Badezimmer DOIF ([FS20_d78407:"off"])
  (set  heizung.5 desired 25, set Stellantrieb_BAD valve 100)
  (set  heizung.5 desired 17, set Stellantrieb_BAD valve 0)
DOELSEIF ([FS20_d78407:"on"])
  (set  heizung.5 desired 17, set Stellantrieb_BAD valve 0)

attr di_Badezimmer wait 0,7200
attr di_Badezimmer do always


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rudolfkoenig

Zitatja genau das ist mein Problem,...   ich kenne mich mit den    ; / {  nicht aus  (https://forum.fhem.de/Smileys/default/sad.gif)

Ich versuche es zu erklaeren:
- der Befehlstrenner fuer FHEM Befehle ist ;
- da define auch ein Befehl ist, muss man in der notify-Definition-Argument die Befehle mit ;; trennen, sonst wird das zweite Befehl direkt nach dem define ausgefuehrt, und nicht dann, wenn das Event fuer das notify eintrifft.
- falls man ein Befehl in mehreren Zeilen schreiben will, dann muss jede Zeile (bis auf die Letzte) mit \ enden.
- da ;; und \ zu schreiben nervt, verwendet mann stattdessen FHEMWEB, da klickt man auf die Detailseite der notify, und auf DEF. In diesem Fenster kann man statt ;; ein einfaches ; schreiben, und \ kann man sich auch sparen. Wenn man auf "modify" klickt, dann wird jedes ; durch ;; ersetzt, und wo noetig, ein \ eingefuegt.
- da perl geduldig ist, kann man statt Befehl1;Befehl2 auch {Befehl1}{Befehl2} schreiben, diese Schreibweise wird hier im Forum auch oefters erwaehnt. Das umgeht zugegebenermassen das Problem von doppelten ;,  perl Programmierer haben aber (achtung, Untertreibung) Schwierigkeiten sowas zu lesen, da {} eigentlich fuer ein Code-Block gedacht ist, und nicht dazu, um Befehle zu trennen, von diversen Nebeneffekten ganz zu schweigen.
- laengere Code-Bloecke sollte man mit "richtigen" Perl-Funktionen in 99_myUtils.pm realisieren, und sie aus der notify aufrufen.

Achtung: HeizungBad_Rauchmelder_Reset:off|dimdown als regexp bedeutet "umgangssprachlich" (HeizungBad_Rauchmelder_Reset:off) oder (dimdown). Vermutlich wollte man hier HeizungBad_Rauchmelder_Reset:(off|dimdown) schreiben.



roedert

Warum nutzt du nicht einfach den Party-Mode (holiday_short) des Thermostats? Es ist doch ein FHT oder?