ZitatMan muss sich anstrengen
ZitatHier hätte ich erwartet
Erstmal solltest du deine Erwartungshaltung überdenken.
Ich bin da genauso wie du daran gegangen, habe mich ständig geärgert und bin deshalb lange bei HM-Classic-Sachen geblieben, obwohl ich hätte schon Hm-IP-Geräte kaufen können (teilweise gibt es ja Hm-IP-Geräte, die es für Classic nicht gibt, wie eben den HmIP-SWDO-I).
HMCCU ist eben ein generischer Ansatz um verschiedene Geräte aus verschiedenen Familien integrieren zu können.
Konkret beim HmIP-SWDO-I (von denen ich auch eine ganze Batterie besitze), kannst du mit
get <devicename> defaults
anschauen, was HMCCU als defaults mitbringt. Das ist aktuell:
ccureadingfilter = STATE
hmstatevals = SABOTAGE!1:sabotage
statedatapoint = 1.STATE
substitute = STATE!(0|false):closed,(1|true):open
Wenn du jetzt mit
set <devicename> defaults
die Defaultwerte setzt, hast du zumindest schon mal den Status, Batterie, Sabotage und Funk in FHEM. Die DEF eines HmIP-SWDO-I sieht bei mir so aus:
defmod house.groundfloor.livingroom.window.eating_area.left.shutter_contact HMCCUDEV xxx
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact HmIpKey xxx
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact HmIpSGTIN xxx
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact IODev general.interfaces.homematic.ccu3
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact alias Kontakt am Fenster im Eßbereich links
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact ccureadingfilter STATE
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact devStateIcon open:fts_window_2w_open_l@E50005 closed:fts_window_2w@42BC0A unsecure:security@E50005 secure:security@42BC0A battery_ok:measure_battery_100@42BC0A battery_low:measure_battery_25@E50005 rssi_good:it_wifi@42BC0A rssi_medium:it_wifi@sandybrown rssi_bad:it_wifi@E50005 rssi_check:unknown@gray alive:device_alive@42BC0A dead:device_dead@E50005
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact event-on-change-reading .+
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact group Fenster & Türen
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact hmstatevals SABOTAGE!1:sabotage
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact icon fts_window_2w_open_l@black
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact room EG->Wohnbereich
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact sortby 1220
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact stateFormat state\
sabotage\
battery_state\
activity\
rssi_quality
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact statedatapoint 1.STATE
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact substitute STATE!(0|false):closed,(1|true):open
attr house.groundfloor.livingroom.window.eating_area.left.shutter_contact userReadings rssi_quality:rssi_device.+ {\
FHEM::MyUtils::State::rssi_quality($name, q(rssi_device));;\
},\
battery_state:battery.+ {\
return q(battery_) . ReadingsVal($name, q(battery), q(low));;\
}
HmIpKey und
HmIpSGTIN sind user attribute, die mir die Buchführung mit den Klebezettelchen ersparen sollen.
FHEM::MyUtils::State::rssi_quality ist eine von mir geschriebene Funktion, die anhand des gelieferten RSSI-Wertes einen Status für
stateFormat setzt (z.B. rssi_medium).
So wie das Bild im Anhang sieht das dann aus.