FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: pointde am 09 September 2015, 14:35:28

Titel: Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 09 September 2015, 14:35:28
Folgendes Szenario hätte ich geplant. Leider reichen meine Grundkenntnisse dafür nicht aus.
Zwei Heizkörperthermostate sollen automatisch die Temperator hoch- oder runterfahren, wenn ich mit meinem iPhone in einem bestimmten Breich komme. Der Status der iPhones wird bereits richtig gesetzt.
Das Ganze soll aber nur von Montag bis Samstag von 08:00 bis 20:30 funktionieren. Am Sonntag soll die Temp immer abgesenkt werden. Folgender 1. Geh Versuch funktiniert leider nicht:

define HeizungBueroMike_ein notify { if ( Value("rr_Mike") eq "home" && ( !($we), { \
                fhem ("set HT_BM_R_Clima desired-temp 23") }
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 09 September 2015, 15:11:00
Hej pointde,

dein Ansatz ist eigentlich gar nicht so schlecht, versuch es einmal mit:

define HeizungBueroMike_ein notify { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima desired-temp 23") \
   } \
}


Dadurch hast du zwar den ganzen Samstag drinnen, aber wenn das mal klappt, sollte der Rest kein Problem sein. ;-)
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 09 September 2015, 16:38:48
Ich habe zwar auch noch versucht, dasss es nur von oben geschriebener Zeit passiert, aber dein Vorschlag funktioniert leider auch nicht.
Obwohl der Status home auch passt, setzt fhem die Temp nicht um...
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: frank am 09 September 2015, 17:31:14
seit wann braucht ein notify keine regex mehr?  ;)
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 09 September 2015, 17:55:29
*lol* - stimmt natürlich...
Danke frank! :-)
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 09 September 2015, 17:58:08
Lasst mich bitte nicht dumm sterben....
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 09 September 2015, 18:04:08
Schau dir dadas Notify in dem Link an, dann siehst du, was dir fehlt:
http://fhem.de/commandref.html#notify

Gesendet von meinem SM-G800F mit Tapatalk

Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 09 September 2015, 18:21:14
Also ich habe nochmal unter deinem Link und hier nachgeschaut, wo mein Fehler liegen könnte: http://www.fhemwiki.de/wiki/Schalten_mit_mehreren_Bedingungen
So habe ich es versucht. Geht aber auch nicht:

define HeizungBueroMike_ein notify { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima desired-temp 23";;) \
   } \
}            
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: frank am 09 September 2015, 18:27:33
dein notify wird nie getriggert/aufgerufen.

warum unterschlägst du diesen entscheidenden teil (regex) aus dem wiki? deswegen heisst ein notify "notify".
piri_schlafzimmer:on.*
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 09 September 2015, 20:20:17
ok, dann muss ich passen. Ich habe mir jetzt meinen Code und das Wiki tausend mal angeschaut. Ich kanns einfach nicht....
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 09 September 2015, 20:34:13
Was wir dir sagen wollen, sieht ungefähr so aus:
define HeizungBueroMike_ein notify (rr_Mike) { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima desired-temp 23") \
   } \
}

So gebaut, wird die Temperatur immer auf 23 Grad gestellt, wenn sich das Telefon einbucht und es nicht Wochenende ist.

Ersetzt du die letzte Zeile dann noch durch:
elsif ( Value("rr_Mike") ne "home" ) { \
      fhem ("set HT_BM_R_Clima desired-temp 18") \
   } \
}

...wird die Temperatur immer gesenkt, sobald dein Handy wieder away ist. ;-)
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 10 September 2015, 09:32:32
... Man kann so blind sein.
Basierend auf deinen Vorschlage habe ich es mal so (siehe unten gemacht). Funktioniert aber leider nicht.

define HeizungBueroMike_ein notify (rr_Mike) { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima desired-temp 23"), fhem ("set HT_BM_L_Clima desired-temp 23") \
   } \
elsif ( Value("rr_Mike") ne "home" ) { \
      fhem ("set HT_BM_R_Clima desired-temp 18"), fhem ("set HT_BM_L_Clima desired-temp 18") \
   } \
}
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 10 September 2015, 09:41:51
Zitat von: pointde am 10 September 2015, 09:32:32
... Man kann so blind sein.
Basierend auf deinen Vorschlage habe ich es mal so (siehe unten gemacht). Funktioniert aber leider nicht.

define HeizungBueroMike_ein notify (rr_Mike) { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima desired-temp 23"), fhem ("set HT_BM_L_Clima desired-temp 23") \
   } \
elsif ( Value("rr_Mike") ne "home" ) { \
      fhem ("set HT_BM_R_Clima desired-temp 18"), fhem ("set HT_BM_L_Clima desired-temp 18") \
   } \
}


Hast du zuerst meinen Vorschlag probiert oder gleich meinen um deine Änderungen erweitert?
Eine Sache, die hier völlig falsch ist... du trennst die Anweisungen mit Beistrichen, musst aber Strichpunkte verwenden. Weiters rufst du alles einzeln auf, das ist auch nicht notwendig.
So wie du es gerne hättest, brauchen die Anweisungszeilen lediglich so auszusehen:
fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 18")
Wenn alle Heizungen gleich gesteuert werden sollen und die Benennung einheitlich ist, kannst du sogar nochmal abkürzen:
fhem ("set HT.*Clima desired-temp 18")
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: frank am 10 September 2015, 09:46:07
warum nutzt du nicht die eingabe über das webif? da werden dir syntaxfehler meist sofort angezeigt. zu finden auf der detailsseite des notify, indem du DEF anklickst. da musst du auch keine "\" für zeilenende eingeben. ausserdem kannst du verbose=5 vom notify einschalten. dann bekommst du zusätzlich genügend fehlerhinweise in fhem.log. wenn dein notify irgendwann fehlerfrei läuft, kannst du verbose vom notify wieder löschen.

nach jedem befehl (fhem) kommt ein semikolon, kein komma.
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 10 September 2015, 14:41:24
Also, ich wollte es wirklich alleine schaffen, aber es funktioniert einfach nicht. Folgende zwei Codes sind übrig geblieben:

1. Versuch
define HeizungBueroMike_auto notify (rr_Mike) { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 23") \
   } \
elsif ( Value("rr_Mike") ne "home" ) { \
      fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 18") \
   } \
}


2. Versuch
define HeizungBueroMike_auto notify (rr_Mike) { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima desired-temp 23");; fhem ("set HT_BM_L_Clima desired-temp 23") \
   } \
elsif ( Value("rr_Mike") ne "home" ) { \
      fhem ("set HT_BM_R_Clima desired-temp 18");; fhem ("set HT_BM_L_Clima desired-temp 18") \
   } \
}


Fehler-Log-Auszug:
2015.09.10 14:38:27 3: [anyViews V3.10] Value of attribut dashboard_tab0sorting is wrong. Saved sorting can not be set. Fix Value or delete the Attribute. [1]
2015.09.10 14:38:27 3: [anyViews V3.10] Value of attribut dashboard_tab0sorting is wrong. Saved sorting can not be set. Fix Value or delete the Attribute. [1]
2015.09.10 14:38:30 2: ROOMMATE set rr_Mike absent
2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2005) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2005) line 1, near "\    if"
syntax error at (eval 2005) line 1, near ") \"
syntax error at (eval 2005) line 1, near "\ elsif"
syntax error at (eval 2005) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2006) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2006) line 1, near "\    if"
syntax error at (eval 2006) line 1, near ") \"
syntax error at (eval 2006) line 1, near "\ elsif"
syntax error at (eval 2006) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2007) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2007) line 1, near "\    if"
syntax error at (eval 2007) line 1, near ") \"
syntax error at (eval 2007) line 1, near "\ elsif"
syntax error at (eval 2007) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2008) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2008) line 1, near "\    if"
syntax error at (eval 2008) line 1, near ") \"
syntax error at (eval 2008) line 1, near "\ elsif"
syntax error at (eval 2008) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2009) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2009) line 1, near "\    if"
syntax error at (eval 2009) line 1, near ") \"
syntax error at (eval 2009) line 1, near "\ elsif"
syntax error at (eval 2009) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2010) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2010) line 1, near "\    if"
syntax error at (eval 2010) line 1, near ") \"
syntax error at (eval 2010) line 1, near "\ elsif"
syntax error at (eval 2010) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2011) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2011) line 1, near "\    if"
syntax error at (eval 2011) line 1, near ") \"
syntax error at (eval 2011) line 1, near "\ elsif"
syntax error at (eval 2011) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2012) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2012) line 1, near "\    if"
syntax error at (eval 2012) line 1, near ") \"
syntax error at (eval 2012) line 1, near "\ elsif"
syntax error at (eval 2012) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2013) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2013) line 1, near "\    if"
syntax error at (eval 2013) line 1, near ") \"
syntax error at (eval 2013) line 1, near "\ elsif"
syntax error at (eval 2013) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2014) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2014) line 1, near "\    if"
syntax error at (eval 2014) line 1, near ") \"
syntax error at (eval 2014) line 1, near "\ elsif"
syntax error at (eval 2014) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2015) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2015) line 1, near "\    if"
syntax error at (eval 2015) line 1, near ") \"
syntax error at (eval 2015) line 1, near "\ elsif"
syntax error at (eval 2015) line 1, near ") \"

2015.09.10 14:38:30 1: PERL WARNING: Backslash found where operator expected at (eval 2016) line 1, near ") \"
2015.09.10 14:38:30 3: eval: { \    if ( Value("rr_Mike") eq "home" && !$we ) { \       fhem ("set HT_BM_R_Clima desired-temp 23"); fhem ("set HT_BM_L_Clima desired-temp 23") \    } \ elsif ( Value("rr_Mike") ne "home" ) { \       fhem ("set HT_BM_R_Clima desired-temp 18"); fhem ("set HT_BM_L_Clima desired-temp 18") \    } \ }
2015.09.10 14:38:30 3: HeizungBueroMike_auto return value: syntax error at (eval 2016) line 1, near "\    if"
syntax error at (eval 2016) line 1, near ") \"
syntax error at (eval 2016) line 1, near "\ elsif"
syntax error at (eval 2016) line 1, near ") \"
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: frank am 10 September 2015, 14:58:38
hast du eventuell irgend welche unsichtbaren steuerzeichen aus der fhem.cfg in das def kopiert? oder nutzt du def immer noch nicht? ausserdem würde ich nach jedem perl befehl ein semikolon einfügen.

öffne mal die def vom notify und lösche alle leerzeichen, besonders am zeilenende. danach kannst du wieder welche einfügen.
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Hauswart am 10 September 2015, 15:00:30
Die \ im def auch weglassen.
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 10 September 2015, 16:24:01
Ich habe es jetzt wie angesprochen direkt im DEF gemacht und noch zur Anlage (falls ich mal wieder neu aufsetzten muss) den kompletten Befehl hier:
(rr_Mike) {if ( Value("rr_Mike") eq "home" && !$we ) {fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 23")} elsif ( Value("rr_Mike") ne "home" ) {fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 18")}}

Der scheint auch zu funktionieren. Ich denke aber, dass er furchtbar viel Funkverkehr verursacht. Siehe Log:
2015.09.10 16:07:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:07:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:08:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:08:00 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:08:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:08:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:09:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:09:00 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:09:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:09:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:10:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:10:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:10:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:10:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:11:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:11:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:11:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:11:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:12:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:12:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:12:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:12:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:13:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:13:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:13:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:13:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:14:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:14:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:14:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:14:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:15:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:15:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:15:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:15:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:16:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:16:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:16:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:16:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:17:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:17:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:17:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:17:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:18:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:18:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:18:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:18:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:19:00 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:19:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:19:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:19:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:20:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:20:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:20:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:20:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:21:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:21:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:21:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:21:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:22:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:22:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18
2015.09.10 16:22:01 3: CUL_HM set HT_BM_R_Clima desired-temp 18
2015.09.10 16:22:01 3: CUL_HM set HT_BM_L_Clima desired-temp 18


Kann ich es mit meiner Befehlszeile auch noch so hinkriegen, dass es nur von 09-20:30 die 23° haben darf?

Danke für die Geduld
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Hauswart am 10 September 2015, 16:28:42
Das Problem ist bei jedem Durchlauf des notify wird derzeit der Status gesetzt. Eventuell brauchst du ein Dummy der gleichzeitig gesetzt wird und du fragst vor dem absenden des Befehls diesen ab ob sich die Situation zum letzten Aufruf geändert hat. Sprich es wird nur noch gesendet wenn sich dein Anwesenheitsstatus ändert. 
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 10 September 2015, 16:36:35
Eigentlich sollte das die Routine berücksichtigen können, die den Status meldet... Und auch wenn es diese nicht an, gibt es einen schöneren Weg als einen Dummy zu verwenden.
Hast du eine FHEM interne Routine für die Anwesenheitserkennung am laufen oder kümmert sich etwas anderes darum?

Gesendet von meinem SM-G800F mit Tapatalk

Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 10 September 2015, 16:42:30
In fhem mit einem Roommate in Verbindung mit Geofency. Der Status wird einwandfrei richtig gesetzt. Ich verstehe auch nicht, warum nicht nur bei einer Statusänderung getriggert wird...
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: frank am 10 September 2015, 16:52:15
schau in den eventmonitor
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 10 September 2015, 21:12:36
Und was sagt dir der Eventmonitor?

Meine Glaskugel ist leider immer noch kaputt, aber müsste ich raten, würde ich sagen, es passieren zwei Dinge:
Zum Einen aktualisiert das Roommate-Modul minütlich den Status. Ganz gleich, ob er sich dabei ändert oder nicht. Kann gewollt sein... muss es aber nicht. Hätte beim Durchsehen der Doku jetzt auch nichts gefunden, wo mittels Attribut das Verhalten vielleicht geändert werden könnte. Wäre einmal interessant, beim Author nachzufragen, ob er da nicht bisschen was am Code ändern will. ;-)
Zum Anderen scheinen immer zwei Werte aktualisiert zu werden (mitunter deshalb wäre interessant, was der Eventmonitor dazu sagt).

Ich kenne das Modul nicht, aber wenn es intern ebenso den Status überschreibt, könntest du fürs Erste folgendes probieren:
(rr_Mike) {if ( Value("rr_Mike") eq "home" && ReadingsVal("rr_Mike","lastState","Error") ne "home" && !$we ) {fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 23")} elsif ( Value("rr_Mike") ne "home" && ReadingsVal("rr_Mike","lastState","Error") eq "home" ) {fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 18")}}

Wegen dem Schalten mit den Zeiten musst du dir dann überlegen, wie du das machst, auch hier gibt es mehrere Ansätze.
Ich persönlich würde es so lösen, dass du die Regler einfach mit entsprechenden Regelprogrammen versorgst. Also einfach einstellen, dass von Montag - Samstag, von jeweils 09:00 - 20:30 auf 23° gestellt wird. Außerhalb der Zeiten soll auf 18° abgekühlt werden.
Und dann kannst du die obigen Befehle so umbauen, dass wenn du daheim bist, einfach das Automatikprogramm gestartet wird und beim Verlassen der Wohnung stellst du einfach auf manuelle Steuerung und 18° ein. Somit bist du auch ein Stückchen unabhängiger von der Zentrale. ;-)
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Newbie am 11 September 2015, 01:25:09
Hallo pointde,

und DOIF ist keine Alternative?

define HeizungBueroMike_ein DOIF ([rr_Mike] eq "Home" and [08:00-20:30|1-6] (set HT_BM_R_Clima desired-temp 23) DOELSEIF (set HT_BM_R_Clima desired-temp 18)

irgendwie so in etwa

vg Jens
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 11 September 2015, 01:51:51
Zitat von: Newbie am 11 September 2015, 01:25:09
und DOIF ist keine Alternative?
Abgesehen davon, dass DOIF immer noch auf meiner persönlichen roten Liste steht, muss bei der Variante alle x Zeiteinheiten die Routine durchlaufen werden, um eine entsprechende Änderung zu bemerken und darauf zu reagieren.
Bei der von mir vorgeschlagenen Variante, benötigt das Thermostat die Zentrale erst wieder, wenn sich der Zustand von rr_Mike ändert.
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: volschin am 11 September 2015, 06:33:23
Ich frage mich nur, warum rr_Mike in Klammern steht.
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 11 September 2015, 12:35:13
@Mr. Pi. Laut deinem Vorrschlag funktioniert es leider nicht. Hier ein Auszug aus meinem Roommate:
durTimerAbsence 00:00:00 2015-09-11 12:24:14
durTimerAbsence_cr 0 2015-09-11 12:24:14
durTimerPresence 00:07:00 2015-09-11 12:31:14
durTimerPresence_cr 7 2015-09-11 12:31:14
durTimerSleep 00:00:00 2015-05-26 15:11:47
durTimerSleep_cr 0 2015-05-26 15:11:47
lastArrival 2015-09-11 12:24:14 2015-09-11 12:24:14
lastDeparture 2015-09-10 15:58:00 2015-09-10 15:58:00
lastDurAbsence 20:26:14 2015-09-11 12:24:14
lastDurAbsence_cr 1226 2015-09-11 12:24:14
lastDurPresence 00:55:12 2015-09-10 15:58:00
lastDurPresence_cr 55 2015-09-10 15:58:00
lastLocation home 2015-09-10 15:58:00
lastMood calm 2015-09-10 15:58:00
lastState absent 2015-09-11 12:24:14
location home 2015-09-11 12:24:14
mood calm 2015-09-11 12:24:14
presence present 2015-09-11 12:24:14
state home 2015-09-11 12:24:14
wayhome 0 2015-05-26 17:43:49

Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 11 September 2015, 12:48:10
Zitat von: pointde am 10 September 2015, 16:42:30
In fhem mit einem Roommate in Verbindung mit Geofency. Der Status wird einwandfrei richtig gesetzt. Ich verstehe auch nicht, warum nicht nur bei einer Statusänderung getriggert wird...
Zeig mir bitte einmal den Code, den Geofancy zum Triggern von Roommate verwendet.
Scheint mir eher noch dort das Übel begraben zu sein.

Und zur Sicherheit bitte immer noch den Auszug aus dem Event-Monitor.
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Hauswart am 11 September 2015, 12:58:45
Zitat von: pointde am 10 September 2015, 14:41:24
Also, ich wollte es wirklich alleine schaffen, aber es funktioniert einfach nicht. Folgende zwei Codes sind übrig geblieben:

1. Versuch
define HeizungBueroMike_auto notify (rr_Mike) { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 23") \
   } \
elsif ( Value("rr_Mike") ne "home" ) { \
      fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 18") \
   } \
}


2. Versuch
define HeizungBueroMike_auto notify (rr_Mike) { \
   if ( Value("rr_Mike") eq "home" && !$we ) { \
      fhem ("set HT_BM_R_Clima desired-temp 23");; fhem ("set HT_BM_L_Clima desired-temp 23") \
   } \
elsif ( Value("rr_Mike") ne "home" ) { \
      fhem ("set HT_BM_R_Clima desired-temp 18");; fhem ("set HT_BM_L_Clima desired-temp 18") \
   } \
}

Probiere mal:

1. Versuch
define HeizungBueroMike_auto notify (rr_Mike) {\
   if ( Value("rr_Mike") eq "home" && !($we) ) {\
      fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 23");\
   }\
elsif ( Value("rr_Mike") ne "home" ) {\
      fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 18");\
   }\
}


2. Versuch
define HeizungBueroMike_auto notify (rr_Mike) {\
   if ( Value("rr_Mike") eq "home" && !($we) ) {\
      fhem ("set HT_BM_R_Clima desired-temp 23");; fhem ("set HT_BM_L_Clima desired-temp 23");\
   }\
elsif ( Value("rr_Mike") ne "home" ) {\
      fhem ("set HT_BM_R_Clima desired-temp 18");; fhem ("set HT_BM_L_Clima desired-temp 18");\
   }\
}



Edit: Sorry habe den letzten Beitrag auf Seite 1 gesehen und Seite 2 ignoriert...
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 11 September 2015, 13:25:28
geofency:
geofancy:currLoc_iPhoneMike:.* set rr_Mike:FILTER=location!=$EVTPART1 location $EVTPART1

Event-Monitor:
2015-09-11 13:24:15 ROOMMATE rr_Mike durTimerPresence_cr: 60
2015-09-11 13:24:15 ROOMMATE rr_Mike durTimerPresence: 01:00:01
2015-09-11 13:24:18 HMLAN HMLAN1 loadLvl: low
2015-09-11 13:24:31 CUL_HM HT_BM_L actuator: 0
2015-09-11 13:24:31 CUL_HM HT_BM_L batteryLevel: 2.9
2015-09-11 13:24:31 CUL_HM HT_BM_L desired-temp: 18.0
2015-09-11 13:24:31 CUL_HM HT_BM_L measured-temp: 24.5
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima ValvePosition: 0
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima boostTime: -
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima controlMode: manual
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima desired-temp: 18.0
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima measured-temp: 24.5
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima motorErr: ok
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima partyEnd: -
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima partyStart: -
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima partyTemp: -
2015-09-11 13:24:31 CUL_HM HT_BM_L_Clima T: 24.5 desired: 18.0 valve: 0
2015-09-11 13:24:31 CUL_HM HT_BM_L_Weather measured-temp: 24.5
2015-09-11 13:24:31 CUL_HM HT_BM_L_Weather 24.5
2015-09-11 13:24:40 CUL_HM Bass_Pwr boot: off
2015-09-11 13:24:40 CUL_HM Bass_Pwr current: 0
2015-09-11 13:24:40 CUL_HM Bass_Pwr eState: E: 541.8 P: 0 I: 0 U: 232.2 f: 50.01
2015-09-11 13:24:40 CUL_HM Bass_Pwr energy: 541.8
2015-09-11 13:24:40 CUL_HM Bass_Pwr energyCalc: 541.8
2015-09-11 13:24:40 CUL_HM Bass_Pwr frequency: 50.01
2015-09-11 13:24:40 CUL_HM Bass_Pwr power: 0
2015-09-11 13:24:40 CUL_HM Bass_Pwr 541.8
2015-09-11 13:24:40 CUL_HM Bass_Pwr voltage: 232.2
2015-09-11 13:24:40 CUL_HM Bass_SenF 50.01
2015-09-11 13:24:40 CUL_HM Bass_SenI 0
2015-09-11 13:24:40 CUL_HM Bass_SenPwr 0
2015-09-11 13:24:40 CUL_HM Bass_SenU 232.2
2015-09-11 13:24:43 HMLAN HMLAN1 loadLvl: low
2015-09-11 13:24:54 CUL_HM Server_Pwr boot: off
2015-09-11 13:24:54 CUL_HM Server_Pwr current: 128
2015-09-11 13:24:54 CUL_HM Server_Pwr eState: E: 4936.5 P: 20.43 I: 128 U: 232.9 f: 50.01
2015-09-11 13:24:54 CUL_HM Server_Pwr energy: 4936.5
2015-09-11 13:24:54 CUL_HM Server_Pwr energyCalc: 4936.5
2015-09-11 13:24:54 CUL_HM Server_Pwr frequency: 50.01
2015-09-11 13:24:54 CUL_HM Server_Pwr power: 20.43
2015-09-11 13:24:54 CUL_HM Server_Pwr 4936.5
2015-09-11 13:24:54 CUL_HM Server_Pwr voltage: 232.9
2015-09-11 13:24:54 CUL_HM Server_SenF 50.01
2015-09-11 13:24:54 CUL_HM Server_SenI 128
2015-09-11 13:24:54 CUL_HM Server_SenPwr 20.43
2015-09-11 13:24:54 CUL_HM Server_SenU 232.9
2015-09-11 13:24:58 CUL_HM TempSensor1 battery: ok
2015-09-11 13:24:58 CUL_HM TempSensor1 T: 25.8
2015-09-11 13:24:58 CUL_HM TempSensor1 temperature: 25.8
2015-09-11 13:25:08 HMLAN HMLAN1 loadLvl: low
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 11 September 2015, 14:07:50
Dann sollte es damit klappen:
(rr_Mike:home|rr_Mike:absent) {if ( Value("rr_Mike") eq "home" && !$we ) {fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 23")} elsif ( Value("rr_Mike") ne "home" ) {fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 18")}}
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 11 September 2015, 15:33:45
Laut deinem Vorschlag habe ich es versucht, wobei ich away durch absent ersetzt habe.
(rr_Mike:home|rr_Mike:absent) {if ( Value("rr_Mike") eq "home" && ReadingsVal("rr_Mike","lastState","Error") ne "home" && !$we ) {fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 23")} elsif ( Value("rr_Mike") ne "home" && ReadingsVal("rr_Mike","lastState","Error") eq "home" ) {fhem ("set HT_BM_R_Clima,HT_BM_L_Clima desired-temp 18")}}


Den Status habe ich per Hand verändert, wie man im Log schön sehen kann:
2015.09.11 15:21:44 2: ROOMMATE set rr_Mike absent
2015.09.11 15:24:42 2: ROOMMATE set rr_Mike home


Es passiert aber leider nichts...
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: Mr. P am 12 September 2015, 18:37:28
Hab jetzt den Code in meinem letzten Beitrag bearbeitet... Probier es damit bitte nochmal.
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: volschin am 12 September 2015, 19:18:04
Ist das notify denn überhaupt ausgelöst worden? Was steht im Log?
Du bist sehr sparsam mit Infos.
Titel: Antw:Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit
Beitrag von: pointde am 14 September 2015, 11:55:33
Habe die Änderung eingepflegt, jedoch wird nach wie vor nicht getriggert.