HM-CC-RT-DN: Manuellen Eingriff erkennen?

Begonnen von PsychoD, 14 Januar 2015, 09:09:31

Vorheriges Thema - Nächstes Thema

PsychoD

Hallo,

ich habe folgendes Szenario: Homematic HM-CC-RT-DN Ventile mit FHEM, Abwesenheit wird über einen Taster geschaltet. Bei Rückkehr das Drücken des Tasters leider oft vergessen. Was dann manchmal passiert, ist dass die Bewohner einfach am Thermostat selbst die Temperatur hochdrehen wenn sie wieder da sind - das System sich aber noch auf Abwesenheit befindet. Gibt es eine Möglichkeit solche manuellen Eingriffe zu erkennen, um darauf zu reagieren? (auf Anwesend schalten).

Ich habe keine andere Idee für Anwesenheit/Abwesenheit, da die Smartphones gerne mal leer sind oder nicht mitgenommen werden...

Danke & viele Grüße

Groby

Hallo,

Du könntest die desired-temp mit einem notify überwachen.

Wenn gleichzeitig "abwesend" aktiviert ist und irgendeine desired-temp sich ändert, auf "anwesend" und Automatik schalten.

Zu beachten ist aber, dass in dieser Zeit kein "Tages-Programm" die desired-temp ändern sollte...

MfGroby

PsychoD

Also Abwesenheit = Manuelle Temperatur, und wenn sich die desired-temp ändert auf auto stellen, richtig verstanden?

chris1284

erkennen ist denke ich etwas schwer.bei Groby's lösung müsstest du zur abwesenheit  noch prüfen od die desired temp mit dem tag und der zeit des tempprofils im rt passt.
(zb neu dersired-temp 16.0 ist ok wenn es mittwoch um 15:00 ist [und alle abwesend][und mode auto])

man könnte auch
- wenn alle abwesend -> btnlock an. erst wenn jemand deinen button betätigt werden die rt's wieder entsperrt

- per at einfach immer wieder (zb wochentag abhängig) den rt wieder auf auto stellen. (zb jeden aben um 06:00, 12:00, 22:00 Uhr) so das ab xx:00 immer auto läuft (und zb noch um 22:00 die buttons sperren und morgens wieder freigeben)

- per R-tempMax / R-tempMin ein wenig eingrenzen was manuell gestellt werden kann (zb kann man dann nur am rt von 16.0 bis 22.0 stellen)
--> wenn man hier nur temps zulässt die nicht in der templist gesetzt werden (Zb templist setzt 16 am rt kann man erst ab 17 schalten) erkennt man sofort das es händisch war, bin mir aber nicht sicher ob die templist setzen kann die man per tempMin/Max "excluded" hat

- das wechlseln des modis unterbinden (modusBtnLock ) und mit der tmeplist öffter mal die temp setzen (zb wenn du jetzt von 6uhr bis 22uhr stump 16°C fährst einfach noch mal um 10,14,18 Uhr nochmal 16 setzen)

PsychoD

Danke für die Antworten.

Interessant wäre der Vergleich der desired-temp mit dem laut Profil eingestellten Temperatur. Da stehe ich aktuell etwas auf dem Schlauch, wie ich das scripten könnte, kann mir da jemand mit einer Idee oder Beispielcode auf die Sprünge helfen?

Danke & viele Grüße

chris1284

du musst ers den wochentag erkennen  ( kann fhem mit  $wday ) 1= Montag, 2 = dienstag usw. heute ist 3, Mittwoch)
dann holst du dir (mit ReadingsVal) aus dem rt-climachannel das reading für die entsprechende templist, heute R_4_tempListWed
code grob:
wenn $wday == 3 -> my $templistday = ReadingsVal("name rt clima channel", "R_4_tempListWed","")
wenn $wday == 1 -> my $templistday = ReadingsVal("name rt clima channel", "R_4_tempListMon","") usw

dann hast du den wert  aus der templiste  ( zb "06:00 16.0 24:00 16.0") und verarbeitest ihn weiter.
zum bespiel am einfachsten nur prüfen ob der string die aktuelle desired-temp hat.


Motivierte linke Hände

PsychoD, sowas schwebte mir auch vor, wobei ich allerdings generell benachrichtigt werden wollte (oder, idealerweise, die Temperatur automatisch zurückdrehen wollte), wenn im Kinderzimmer die desired-temp nicht mit der Temperatur laut Heizplan übereinstimmt.

Bist Du mit dem Skripten hier schon weitergekommen?
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

chris1284

Zitat von: Motivierte linke Hände am 18 Januar 2015, 16:03:20
PsychoD, sowas schwebte mir auch vor, wobei ich allerdings generell benachrichtigt werden wollte (oder, idealerweise, die Temperatur automatisch zurückdrehen wollte), wenn im Kinderzimmer die desired-temp nicht mit der Temperatur laut Heizplan übereinstimmt.

Bist Du mit dem Skripten hier schon weitergekommen?

warum setzt du nicht gleich so an das du das manipulieren am rt verhinderst (wenn deine kids nicht gerade die tastensperre des rt aufheben können und übrt fhem min und max manipulieren)?
weil warum sich benachrichtigen lassen, prüfungen einbauen und dann alles zurükstellen wenn mans auch verbieten kann.

Motivierte linke Hände

Also quasi

set <rt>_Clima regSet tempMax 24
set <rt>_Clima regSet tempMin 17


Das verhindert nur andere manuelle Einstellungen, über FHEM geht aber weiterhin alles?

Und Tastensperre

set <rt> regSet btnLock on

Oder geht das nur am Gerät selbst?

Der Perlcode zum Vergleich Solltemperatur mit der Vorgabe aus dem Heizplan würde mich trotzdem interessieren.  :)
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

chris1284

#9
mach mal ein get <name> regListan deinem device (ohne channel). dann siehst du was geht. das geht auch in den channels und du bekommst deren liste von optionen.

Zitat0: backOnTime       |   0 to 255s        |          | Backlight On Time
   0: btnLock          |     literal        |          | Button Lock options:on,off
   0: burstRx          |     literal        |          | device reacts on Burst options:on,off
   0: cyclicInfoMsg    |     literal        |          | cyclic message options:on_100,on,off
   0: cyclicInfoMsgDis |   0 to 255         |          | cyclic message
   0: globalBtnLock    |     literal        |          | global button lock options:on,off
   0: localResDis      |     literal        |          | local reset disable options:on,off
   0: lowBatLimitRT    |   2 to 2.5V        |          | low batterie limit, step .1V
   0: modusBtnLock     |     literal        |          | mode button lock options:on,off
   0: pairCentral      |   0 to 16777215    |          | pairing to central

btnLock  - sperrt alle tasten (einfach mal testen um am rt spielen set <name> regSet btnLock on)
modusBtnLock  - sperrt das wechseln des modus
globalBtnLock    - sperrt meine ich auch das drehrad

ZitatDer Perlcode zum Vergleich Solltemperatur mit der Vorgabe aus dem Heizplan würde mich trotzdem interessieren.  :)

tja, den habe ich auch nicht da ich das nicht nutze.  :D aber so würde ich von der logik ran gehen. einfach im forum weiter fragen wenn du beim probieren nicht weiter kommst

Motivierte linke Hände

FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.