Heizkörperthermostat HM-CC-RT-DN mit Anwesenheit

Begonnen von pointde, 09 September 2015, 14:35:28

Vorheriges Thema - Nächstes Thema

frank

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.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Hauswart

1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

pointde

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

Hauswart

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. 
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Mr. P

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

Greetz,
   Mr. P

pointde

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...

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Mr. P

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. ;-)
Greetz,
   Mr. P

Newbie

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
fhem-6.1 (configDB+DbLog)  auf ODROID-XU4

Mr. P

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.
Greetz,
   Mr. P

volschin

Ich frage mich nur, warum rr_Mike in Klammern steht.
Intel NUC+Ubuntu 24.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7690, Echo Dots+Show8, HomeBridge

pointde

@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


Mr. P

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.
Greetz,
   Mr. P

Hauswart

#28
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...
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

pointde

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