HMCCU Beispiel Geräte-Definitionen

Begonnen von zap, 25 März 2016, 16:08:13

Vorheriges Thema - Nächstes Thema

Spielmann

Ich poste wie angekündigt meine Definitionen zum HM-Sen-MDIR-WM55 (falls dir das von zap noch nicht reicht):

define HM_Funktaster_BM_Windfang HMCCUDEV Funktaster_BM_Windfang
attr HM_Funktaster_BM_Windfang IODev CCU2
attr HM_Funktaster_BM_Windfang ccureadingfilter (^UNREACH|^LOWBAT$|MOTION|PRESS|BRIGHTNESS)
attr HM_Funktaster_BM_Windfang ccureadingformat datapoint
attr HM_Funktaster_BM_Windfang ccureadings 1
attr HM_Funktaster_BM_Windfang event-on-update-reading .*
attr HM_Funktaster_BM_Windfang room HMCCU,Licht
attr HM_Funktaster_BM_Windfang statedatapoint 3.MOTION
attr HM_Funktaster_BM_Windfang substitute MOTION!(0|false):nomotion,(1|true):motion;;LOWBAT,UNREACH!(0|false):no,(1|true):yes


und hier ein Beispiel, mit setreading das reading wieder auf null zurückzusetzen:
define Licht_BM DOIF ([HM_Funktaster_BM_Windfang:1.PRESS_SHORT] == 1) (set Licht_Flur trigger, setreading HM_Funktaster_BM_Windfang 1.PRESS_SHORT 0 )
attr Licht_BM do always


Die Tastendrücke wandle ich nicht mit substitute um, da ich smartVisu habe und mit 0 und 1 das besser weiterverarbeiten kann. Noch zu erwähnen ist, dass ich im ccureadingfilter noch BRIGHTNESS habe.

Gruß
Spielmann

FHEM mit Raspi (Zentrale)
Raspberrymatic (Heizung)
Siemens LOGO8 (Lichtsteuerung)
Philips HUE Gedöns
Diesel-Tankstelle mit fhem und ESP (eine ewige Baustelle)

zap

Zitat von: thomas.kregelin am 11 Januar 2017, 00:47:52
Hier eine neue Konfiguration, die ich zu großen Teilen von DaDiGi abgeleitet habe.

Wandthermostat HMIP-WTH-2

Device-Info:
CHN 000A9569A32F96:0 Guestroom_1.HMIP-WTH-2:0
CHN 000A9569A32F96:1 Guestroom_1.HMIP-WTH-2:1
  DPT {f} HmIP-RF.000A9569A32F96:1.ACTUAL_TEMPERATURE = 21.300000 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.BOOST_MODE = false [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.CONTROL_MODE =  [WE]
  DPT {b} HmIP-RF.000A9569A32F96:1.PARTY_MODE = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.SET_POINT_MODE = 0 [RWE]
  DPT {f} HmIP-RF.000A9569A32F96:1.SET_POINT_TEMPERATURE = 15.500000 [RWE]


@zap:
Nimmst du solche Konfigurationen in ein Template auf, damit man beim Einbinden weiterer Geräte der gleichen Art Standardeinstellungen erhält?
Brauchst du dafür noch weitere Informationen?

Gerne nehme ich Deine Definition in die Templates auf. Um das noch etwas runder zu machen, brauche ich aber Deine Unterstützung. Mich interessiert, wie sich die oben rein kopierten Datenpunkte verhalten, wenn Du manuell am Wandthermostat Einstellungen vornimmst. Es wäre super, wenn Du nach jeder Einstellung einfach ein "get deviceinfo" machen und mir zukommen lassen könntest:

- Boost Mode einschalten => get deviceinfo
- Zieltermperatur am Drehrad ändern => get deviceinfo
- Dauer-Aus (falls nicht per Knopf möglich, Zieltemperatur ganz runterdrehen) => get deviceinfo
- Dauer-Ein (falls nicht per Knopf möglich, Zieltemperatur ganz hochdrehen) => get deviceinfo
- Party Mode einschalten => get deviceinfo


2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

thomas.kregelin

ZitatGerne nehme ich Deine Definition in die Templates auf. Um das noch etwas runder zu machen, brauche ich aber Deine Unterstützung. Mich interessiert, wie sich die oben rein kopierten Datenpunkte verhalten, wenn Du manuell am Wandthermostat Einstellungen vornimmst. Es wäre super, wenn Du nach jeder Einstellung einfach ein "get deviceinfo" machen und mir zukommen lassen könntest:

Hallo zap,


inzwischen habe ich mich mehr (aber noch nicht ausreichend ...) mit dem Thema beschäftigt. Die Definition enthielt noch einige Lücken bzw. Unrichtigkeiten. Ich experimentiere noch.

Einige Einstellungen, wie zum Beispiel das Aktivieren des Boost-Modus konnte ich nur per CCU2 vornehmen.

Hier die Device Infos:

Ausgangszustand => get deviceinfo:

CHN 000A9569A32F96:0 Guestroom_1.HMIP-WTH-2:0
  DPT {b} HmIP-RF.000A9569A32F96:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:0.OPERATING_VOLTAGE = 3.100000 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_DEVICE = 195 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_PEER = 200 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UPDATE_PENDING = false [RE]
CHN 000A9569A32F96:1 Guestroom_1.HMIP-WTH-2:1
  DPT {i} HmIP-RF.000A9569A32F96:1.ACTIVE_PROFILE = 1 [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.ACTUAL_TEMPERATURE = 26.700000 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.BOOST_MODE = false [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.CONTROL_DIFFERENTIAL_TEMP =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.CONTROL_MODE =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000A9569A32F96:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HUMIDITY = 46 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.PARTY_MODE = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:1.PARTY_SET_POINT_TEMPERATU = 0.000000 [RE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_END =  [RWE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_START =  [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.SET_POINT_MODE = 0 [RWE]
  DPT {f} HmIP-RF.000A9569A32F96:1.SET_POINT_TEMPERATURE = 21.000000 [RWE]
  DPT {b} HmIP-RF.000A9569A32F96:1.SWITCH_POINT_OCCURED = true [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.WINDOW_STATE = 0 [WE]


Boost Mode einschalten => get deviceinfo:

CHN 000A9569A32F96:0 Guestroom_1.HMIP-WTH-2:0
  DPT {b} HmIP-RF.000A9569A32F96:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:0.OPERATING_VOLTAGE = 3.000000 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_DEVICE = 205 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_PEER = 207 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UPDATE_PENDING = false [RE]
CHN 000A9569A32F96:1 Guestroom_1.HMIP-WTH-2:1
  DPT {i} HmIP-RF.000A9569A32F96:1.ACTIVE_PROFILE = 1 [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.ACTUAL_TEMPERATURE = 26.500000 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.BOOST_MODE = true [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.CONTROL_DIFFERENTIAL_TEMP =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.CONTROL_MODE =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000A9569A32F96:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HUMIDITY = 46 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.PARTY_MODE = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:1.PARTY_SET_POINT_TEMPERATU = 0.000000 [RE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_END =  [RWE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_START =  [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.SET_POINT_MODE = 0 [RWE]
  DPT {f} HmIP-RF.000A9569A32F96:1.SET_POINT_TEMPERATURE = 21.000000 [RWE]
  DPT {b} HmIP-RF.000A9569A32F96:1.SWITCH_POINT_OCCURED = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.WINDOW_STATE = 0 [WE]


Zieltemperatur am Drehrad ändern => get deviceinfo:

CHN 000A9569A32F96:0 Guestroom_1.HMIP-WTH-2:0
  DPT {b} HmIP-RF.000A9569A32F96:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:0.OPERATING_VOLTAGE = 3.000000 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_DEVICE = 202 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_PEER = 207 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UPDATE_PENDING = false [RE]
CHN 000A9569A32F96:1 Guestroom_1.HMIP-WTH-2:1
  DPT {i} HmIP-RF.000A9569A32F96:1.ACTIVE_PROFILE = 1 [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.ACTUAL_TEMPERATURE = 25.600000 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.BOOST_MODE = false [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.CONTROL_DIFFERENTIAL_TEMP =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.CONTROL_MODE =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000A9569A32F96:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HUMIDITY = 45 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.PARTY_MODE = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:1.PARTY_SET_POINT_TEMPERATU = 0.000000 [RE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_END =  [RWE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_START =  [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.SET_POINT_MODE = 0 [RWE]
  DPT {f} HmIP-RF.000A9569A32F96:1.SET_POINT_TEMPERATURE = 18.500000 [RWE]
  DPT {b} HmIP-RF.000A9569A32F96:1.SWITCH_POINT_OCCURED = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.WINDOW_STATE = 0 [WE]


Dauer-Aus (per CCU2) => get deviceinfo:

CHN 000A9569A32F96:0 Guestroom_1.HMIP-WTH-2:0
  DPT {b} HmIP-RF.000A9569A32F96:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:0.OPERATING_VOLTAGE = 3.100000 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_DEVICE = 197 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_PEER = 199 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UPDATE_PENDING = false [RE]
CHN 000A9569A32F96:1 Guestroom_1.HMIP-WTH-2:1
  DPT {i} HmIP-RF.000A9569A32F96:1.ACTIVE_PROFILE = 1 [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.ACTUAL_TEMPERATURE = 25.500000 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.BOOST_MODE = false [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.CONTROL_DIFFERENTIAL_TEMP =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.CONTROL_MODE =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000A9569A32F96:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HUMIDITY = 45 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.PARTY_MODE = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:1.PARTY_SET_POINT_TEMPERATU = 0.000000 [RE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_END =  [RWE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_START =  [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.SET_POINT_MODE = 1 [RWE]
  DPT {f} HmIP-RF.000A9569A32F96:1.SET_POINT_TEMPERATURE = 5.000000 [RWE]
  DPT {b} HmIP-RF.000A9569A32F96:1.SWITCH_POINT_OCCURED = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.WINDOW_STATE = 0 [WE]


Dauer-Ein (per CCU2) => get deviceinfo:

CHN 000A9569A32F96:0 Guestroom_1.HMIP-WTH-2:0
  DPT {b} HmIP-RF.000A9569A32F96:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:0.OPERATING_VOLTAGE = 3.100000 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_DEVICE = 203 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_PEER = 205 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UPDATE_PENDING = false [RE]
CHN 000A9569A32F96:1 Guestroom_1.HMIP-WTH-2:1
  DPT {i} HmIP-RF.000A9569A32F96:1.ACTIVE_PROFILE = 1 [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.ACTUAL_TEMPERATURE = 25.500000 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.BOOST_MODE = false [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.CONTROL_DIFFERENTIAL_TEMP =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.CONTROL_MODE =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000A9569A32F96:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HUMIDITY = 45 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.PARTY_MODE = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:1.PARTY_SET_POINT_TEMPERATU = 0.000000 [RE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_END =  [RWE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_START =  [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.SET_POINT_MODE = 1 [RWE]
  DPT {f} HmIP-RF.000A9569A32F96:1.SET_POINT_TEMPERATURE = 30.000000 [RWE]
  DPT {b} HmIP-RF.000A9569A32F96:1.SWITCH_POINT_OCCURED = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.WINDOW_STATE = 0 [WE]


Holiday Mode ein (per CCU2) => get deviceinfo:

CHN 000A9569A32F96:0 Guestroom_1.HMIP-WTH-2:0
  DPT {b} HmIP-RF.000A9569A32F96:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:0.OPERATING_VOLTAGE = 3.100000 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_DEVICE = 203 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_PEER = 205 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UPDATE_PENDING = false [RE]
CHN 000A9569A32F96:1 Guestroom_1.HMIP-WTH-2:1
  DPT {i} HmIP-RF.000A9569A32F96:1.ACTIVE_PROFILE = 1 [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.ACTUAL_TEMPERATURE = 25.200000 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.BOOST_MODE = false [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.CONTROL_DIFFERENTIAL_TEMP =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.CONTROL_MODE =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000A9569A32F96:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HUMIDITY = 45 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.PARTY_MODE = true [RE]
  DPT {f} HmIP-RF.000A9569A32F96:1.PARTY_SET_POINT_TEMPERATU = 10.000000 [RE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_END = 2017_01_11 02:50 [RWE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_START = 2017_01_12 21:00 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.SET_POINT_MODE = 2 [RWE]
  DPT {f} HmIP-RF.000A9569A32F96:1.SET_POINT_TEMPERATURE = 10.000000 [RWE]
  DPT {b} HmIP-RF.000A9569A32F96:1.SWITCH_POINT_OCCURED = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.WINDOW_STATE = 0 [WE]


Wochenprofil auf 3 setzen (per CCU2) => get deviceinfo:

CHN 000A9569A32F96:0 Guestroom_1.HMIP-WTH-2:0
  DPT {b} HmIP-RF.000A9569A32F96:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:0.OPERATING_VOLTAGE = 3.100000 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_DEVICE = 202 [RE]
  DPT {n} HmIP-RF.000A9569A32F96:0.RSSI_PEER = 202 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000A9569A32F96:0.UPDATE_PENDING = false [RE]
CHN 000A9569A32F96:1 Guestroom_1.HMIP-WTH-2:1
  DPT {i} HmIP-RF.000A9569A32F96:1.ACTIVE_PROFILE = 3 [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.ACTUAL_TEMPERATURE = 25.200000 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.BOOST_MODE = false [WE]
  DPT {f} HmIP-RF.000A9569A32F96:1.CONTROL_DIFFERENTIAL_TEMP =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.CONTROL_MODE =  [WE]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000A9569A32F96:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000A9569A32F96:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.HUMIDITY = 45 [RE]
  DPT {b} HmIP-RF.000A9569A32F96:1.PARTY_MODE = false [RE]
  DPT {f} HmIP-RF.000A9569A32F96:1.PARTY_SET_POINT_TEMPERATU = 10.000000 [RE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_END = 2017_01_11 02:50 [RWE]
  DPT {s} HmIP-RF.000A9569A32F96:1.PARTY_TIME_START = 2017_01_12 21:00 [RWE]
  DPT {i} HmIP-RF.000A9569A32F96:1.SET_POINT_MODE = 0 [RWE]
  DPT {f} HmIP-RF.000A9569A32F96:1.SET_POINT_TEMPERATURE = 21.000000 [RWE]
  DPT {b} HmIP-RF.000A9569A32F96:1.SWITCH_POINT_OCCURED = false [RE]
  DPT {i} HmIP-RF.000A9569A32F96:1.WINDOW_STATE = 0 [WE]

zap

Vielen Dank fürs Testen!

Leider hat EQ-3 einige Unzulänglichkeiten noch nicht behoben. Der Datenpunkt CONTROL_MODE wird nicht aktualisiert. Das ist insofern schlecht, als man in FHEM nur eine Info bekommt, wenn der Boost Mode ein oder aus ist.

Außerdem entspricht laut Doku off=4.5 und on=30.5 Grad. Bei Dir sind es 5 und 30, oder läßt Du die Werte runden?

Hier zusammengefasst eine erste, noch nicht 100% fertige Konfiguration (ich habe absichtlich keinen Readingfilter gesetzt, kann man aber noch ergänzen und ggf. für de webCmds mit cmdIcon Symbole hinterlegen):

Heizkörperthermostat HMIP-eTRV:


ccureadingname   = "1.LEVEL:valve_position",
ccuscaleval      = "LEVEL:0:1:0:100",
controldatapoint = "1.SET_POINT_TEMPERATURE",
eventMap         = "/datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manual/datapoint 1.CONTROL_MODE 2:Holiday/datapoint 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/",
statedatapoint   = "1.SET_POINT_TEMPERATURE",
stripnumber      = 1,
substexcl        = "control",
substitute       = "SET_POINT_TEMPERATURE!#0-4.5:off,#30.5-40:on;WINDOW_STATE!(0|false):closed,(1|true):open",
webCmd           = "control:Boost:Auto:Manual:Holiday:on:off",
widgetOverride = "control:slider,4.5,0.5,30.5,1"


Wandthermostate HMIP-WTH und HMIP-WTH-2:


controldatapoint = "1.SET_POINT_TEMPERATURE",
eventMap         = "/datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manual/datapoint 1.CONTROL_MODE 2:Holiday/datapoint 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/",
statedatapoint   = "1.SET_POINT_TEMPERATURE",
stripnumber      = 1,
substexcl        = "control",
substitute       = "SET_POINT_TEMPERATURE!#0-4.5:off,#30.5-40:on;WINDOW_STATE!(0|false):closed,(1|true):open",
webCmd           = "control:Boost:Auto:Manual:Holiday:on:off",
widgetOverride   = "control:slider,4.5,0.5,30.5,1"
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

chris1284

#109
mein rpc-server war bussy

4.BOOST_STATE
4.CONTROL_MODE

aktualisieren sich sehr wohl sofort nach aktivierung boost!! ohne get update hinterher und nach boost geht control mode schön auf  0 zurück

zap

Bei den BidCos Thermostaten funktioniert die Aktualisierung. Wir reden aber hier von den HM-IP Teilen. Und da fehlen die Events für CONTROL_MODE.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

chris1284

oh, das habe ich überlesen, sorry

thomas.kregelin

@zap

ZitatAußerdem entspricht laut Doku off=4.5 und on=30.5 Grad. Bei Dir sind es 5 und 30, oder läßt Du die Werte runden?

Danke fürs Einfügen.

Die Werte runde ich nicht - jedenfalls habe ich nicht bewusst irgend eine Rundungsfunktion eingefügt ...

Die Wandthermostate funktionieren mit deiner Konfiguration sehr gut - mir fehlt momentan nichts.

Klasse Arbeit, die du da machst!

Grüße
TK


zap

Zitat von: chris1284 am 13 Januar 2017, 22:05:25
anbei eine dev für den funk-rgbw-controler mit colorpicker

Irgendwie sind da noch Attribute eines Thermostaten mit rein geraten. Ich habe das jetzt mal so angepasst. Schau mal, ob das so funktionieren würde. Wenn ja, checke ich es ein:


"HM-LC-RGBW-WM" => {
_description     => "Funk-RGBW-Controller",
ccureadingfilter => "(COLOR|PROGRAM|LEVEL)",
ccureadingname   => "2.COLOR:+color,3.PROGRAM:+prog",
controldatapoint => "1.LEVEL",
ccuscaleval      => "LEVEL:0:1:0:100",
statedatapoint   => "1.LEVEL",
statevals        => "on:100,off:0",
stripnumber      => 1,
substexcl        => "control",
substitute       => "LEVEL!#0-0:off,#1-100:on",
webCmd           => "control:color:prog:on:off",
widgetOverride   => "control:slider,0,1,100 prog:0,1,2,3,4,5,6 color:colorpicker,HUE,0,1,100"
},
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

chris1284

#114
tatsache...
ZitateventMap   /datapoint 1.LEVEL 100:on/datapoint 1.LEVEL 0:off/datapoint 3.PROGRAM :prog/datapoint 2.COLOR :color
fehlt noch

Zitatstatevals        => "on:100,off:0",
richtiger wäre on -> alles größer 0 und off 0

ich habs weg gelassen, die eventmap regelt on / off

Zitatsubstitute       => "LEVEL!#0-0:off,#1-100:on",
schechte idee, dann zeigt der helligkeitsslider nur blödsinn an und nicht mehr den aktuellen dim wert

anbei mal ein bild. die channels einzeln sind auch mit drauf

eigentlich reicht ja das hmccudev völlig aus. belasten die channels zusätzlich noch die hmccu/den rpcserver oder holt er eh das device und hat somit 1x daten holen = 3 fhem devices mit werten versorgen?
sprich: performancevorteil wenn man in so einem fall die channels weg lässt?

thomas.kregelin

@zap

Wollte mir gerade die defaults für meine Wandthermostate aus deinem Template holen.

Das scheiterte. Offenbar ist das System case-sensitive.

In der HMCCUConf.pm ist der Wandthermostat benannt mit HMIP-WTH-2.

Richtig wäre HmIP-WTH-2. Hab' die Config-Datei auch einmal geändert zum Testen - damit konnte ich mir die defaults holen.

Homematic ist hier ziemlich inkonsequent mit der Bezeichnung. Ich habe zum Beispiel eine Funk/Mess-Steckdose mit der Bezeichnung HMIP-PSM. Dort ist es ein großes "M".

Diese "HmIP"-Schreibweise trifft übrigens auch auf HmIP-WTH zu.

Auf der eq3-Seite habe ich noch einige andere Geräte in "HmIP"-Schreibweise gefunden. Davon ist aber noch keines in deinem Template.



zap

@thomas.kregelin: Danke für den Hinweis. Ich ändere das im Template ab. In der nächsten Version wird HMCCU bei den Gerätetypen Groß-/Kleinschreibung ignorieren.

@chris1284: Das Attribut statevals wird nur beim Setzen von Werten verwendet. on:100 bedeutet, dass bei "set on" der statedatapoint (1.LEVEL) auf 100 gesetzt wird. Vorher greift dann noch ccuscaleval, das aus 100 den Wert 1 macht. Entspricht also Deiner eventMap Definition für "on". Allerdings steht Dir ohne statevals kein "set toggle" zur Verfügung, da dieser Befehl zwischen den bei statevals definierten Werten hin und her schaltet.

Die LEVEL Einträge bei substitute führen nur dann zum Fehlverhalten des Slisders, wenn substexcl nicht auf control gesetzt ist. Falls Du substexcl doch gesetzt hast, ist das vermutlich ein Bug.

2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

rubinho

#117
Hier mal die Daten für den HM-Sec-SC-2

define HM_Sec_SC_2_1 HMCCUDEV Sec_SC_2
attr HM_Sec_SC_2_1 IODev HM_CCU2
attr HM_Sec_SC_2_1 ccureadingfilter STATE
attr HM_Sec_SC_2_1 hmstatevals ERROR!7:sabotage
attr HM_Sec_SC_2_1 room Homematic,Kueche
attr HM_Sec_SC_2_1 statedatapoint STATE
attr HM_Sec_SC_2_1 substitute STATE!(0|false):closed,(1|true):open;;ERROR!0:no,7:sabotage


CHN MEQ1234711:0 Sec_SC_2_1:0
  DPT {b} BidCos-RF.MEQ1234711:0.UNREACH = false [RE]
  DPT {b} BidCos-RF.MEQ1234711:0.STICKY_UNREACH = false [RWE]
  DPT {b} BidCos-RF.MEQ1234711:0.CONFIG_PENDING = false [RE]
  DPT {b} BidCos-RF.MEQ1234711:0.LOWBAT = false [RE]
  DPT {n} BidCos-RF.MEQ1234711:0.RSSI_DEVICE = 1 [RE]
  DPT {n} BidCos-RF.MEQ1234711:0.RSSI_PEER = 45 [RE]
  DPT {n} BidCos-RF.MEQ1234711:0.AES_KEY = 0 [R]
CHN MEQ1234711:1 Sec_SC_2_1:1
  DPT {b} BidCos-RF.MEQ1234711:1.STATE = false [RE]
  DPT {i} BidCos-RF.MEQ1234711:1.ERROR = 7 [RE]
  DPT {b} BidCos-RF.MEQ1234711:1.LOWBAT = false [RE]
  DPT {b} BidCos-RF.MEQ1234711:1.INSTALL_TEST =  [E]


R-Sec_SC_2_1_Kueche.CYCLIC_INFO_MSG
R-Sec_SC_2_1_Kueche.SABOTAGE_MSG
R-Sec_SC_2_1_Kueche.TRANSMIT_DEV_TRY_MAX
Sec_SC_2_1_Kueche.0.AES_KEY
Sec_SC_2_1_Kueche.0.CONFIG_PENDING
Sec_SC_2_1_Kueche.0.LOWBAT
Sec_SC_2_1_Kueche.0.RSSI_DEVICE
Sec_SC_2_1_Kueche.0.RSSI_PEER
Sec_SC_2_1_Kueche.0.STICKY_UNREACH
Sec_SC_2_1_Kueche.0.UNREACH
Sec_SC_2_1_Kueche.1.ERROR
Sec_SC_2_1_Kueche.1.LOWBAT
Sec_SC_2_1_Kueche.1.STATE



@Zap
Kannst du den Sensor in die HMCCUConf.pm aufnehmen, wenn ja, reichen die Infos, oder benötigst du noch was...
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

zap

#118
Zitat von: chris1284 am 14 Januar 2017, 20:28:03
eigentlich reicht ja das hmccudev völlig aus. belasten die channels zusätzlich noch die hmccu/den rpcserver oder holt er eh das device und hat somit 1x daten holen = 3 fhem devices mit werten versorgen?
sprich: performancevorteil wenn man in so einem fall die channels weg lässt?

Der Performance Gewinn ohne die CHN Devices ist gering. Die CCU2 schickt die Datenpunkte und HMCCU verteilt sie an alle Devices mit der entsprechenden Geräteadresse. Sie werden also nicht mehrfach übertragen.

@rubinho: Ist jetzt drin, nur noch nicht eingecheckt.

2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Spielmann

In den neuersten Definition vom device:HM-Sec-SCo|HM-Sec-SC|HMIP-SWDO passt das für (mindestens) HM-Sec-SCo nicht und ist auch in der eq3 Dokumentation falsch:
SABOTAGE gibt es nicht sondern nur einen Errorcode 7. Es gibt auch ein HM-Script "Servicemeldungen" von alchy das dies auch belegt (Auszug vom Script) - was natürlich auch kein Garant für Richtigkeit ist:
if((sdev.HssType()=="HM-Sec-RHS") || (sdev.HssType()=="HM-Sec-SC") || (sdev.HssType()=="HM-Sec-SC-2") || (sdev.HssType()=="HM-Sec-SCo") || (sdev.HssType()=="HM-Sec-MD") || (sdev.HssType()=="HM-Sec-MDIR") || (sdev.HssType()=="HM-Sec-MDIR-2") || (sdev.HssType()=="HM-Sec-Sir-WM")) {
                         if (ival == 7){ sdesc = "Sabotage."; }
                      }


die Definitionen sehen also jetzt bei mir so aus und passen 100% und getestet mindestens für den HM-Sec-SCo:

substitute = STATE!(0|false):closed,(1|true):open;ERROR!(7):sabotage,(0|false):ok
hmstatevals = ERROR!7:sabotage
statedatapoint = 1.STATE
ccureadingfilter = (STATE)


Gruß
Spielmann
FHEM mit Raspi (Zentrale)
Raspberrymatic (Heizung)
Siemens LOGO8 (Lichtsteuerung)
Philips HUE Gedöns
Diesel-Tankstelle mit fhem und ESP (eine ewige Baustelle)