🧪Mapping-Labor
HomeMatic denkt in Kanälen und Datenpunkten, HomeKit in Diensten und Characteristics. Dazwischen übersetzen die Service-Klassen des Addons. Verstelle links die Werte und sieh, was HomeKit daraus macht – und welches Skript in der Gegenrichtung an die Zentrale geht.
🔀Zwei Begriffswelten
Gerät HmIP-PSM 000A1BE9A00001
└─ Kanal 3 SWITCH_VIRTUAL_RECEIVER
└─ Datenpunkt STATE = true
Adresse: HmIP-RF.000A1BE9A00001:3.STATEBridge HomeMatic Kueche
└─ Zubehör Kaffeemaschine
└─ Dienst Outlet
└─ Characteristic On = true🎚️Rechner: Datenpunkt ⇄ Characteristic
| Datenpunkt | Wert | HomeKit-Dienst | Characteristic | Wert in HomeKit |
|---|---|---|---|---|
| LEVEL | 0.6 | Lightbulb | Brightness | 60 % LEVEL × 100, auf den Min/Max-Bereich umgerechnet |
| LEVEL | 0.6 | Lightbulb | On | true Brightness > 0 |
Formel aus dem Quelltext: Brightness = (LEVEL × 100 − min) × 100 / (max − min), begrenzt auf 0…100. Ohne Min/Max-Einstellung ist das einfach LEVEL × 100.
LEVEL=0.6object o = dom.GetObject('BidCos-RF.XYZ0000001:1.LEVEL');if (o){o.State(0.6);}Gegenrichtung: LEVEL = (Brightness × (max − min) / 100 + min) / 100 = 0.6. Der Dimmer sendet erst 500 ms nach dem letzten Befehl.
Die Adressen sind erfunden. Skripte so, wie HomeMaticCCU.setValue() sie baut: Zahlen ohne, Zeichenketten mit Hochkommas.
📚Welcher Kanaltyp wird zu welchem HomeKit-Dienst?
- HomeMaticSwitchAccessory → Lightbulb, Outlet, Switch, FanVorgabe des Assistenten
Regel aus dem Quelltext: Erst wird GERÄTETYP:KANALTYP gesucht, dann der reine Kanaltyp; dabei darf der Gerätetyp nicht im Filter der Klasse stehen. Geprüft wird gegen die 33 Klassen dieser Auswahl (im Repository: 71).
Schaltaktor. Der Untertyp bestimmt nur das Symbol in HomeKit (Lampe, Steckdose, Schalter, Ventilator); gesteuert wird immer STATE.
Dimmer: LEVEL 0.0–1.0 wird zu Brightness 0–100 %. Optional Rampenzeit, Einschaltdauer und ein Min-/Max-Dimmwert.
Derselbe Dimmerkanal, aber als regelbarer Ventilator dargestellt (seit 0.0.59).
Klassischer Rollladen-/Jalousieaktor: LEVEL 0.0–1.0 ↔ Position 0–100 %, DIRECTION → PositionState, STOP für „Anhalten“.
Homematic-IP-Rollladenaktor: geschrieben wird 4.LEVEL, gelesen bei SHUTTER_VIRTUAL_RECEIVER 3.LEVEL; Lamellen über LEVEL_2.
Homematic-IP-Heizkörper- und Wandthermostat: ACTUAL_TEMPERATURE, SET_POINT_TEMPERATURE, SET_POINT_MODE/CONTROL_MODE; optional Schalter für den Boost.
Klassische HomeMatic-Thermostate: ACTUAL_TEMPERATURE, SET_TEMPERATURE, CONTROL_MODE, Umschalten über MANU_MODE/AUTO_MODE.
Temperatur- und Feuchtesensor: TEMPERATURE bzw. ACTUAL_TEMPERATURE und HUMIDITY; mit Verlauf für die Eve-App.
Nur die Luftfeuchte (HUMIDITY) als eigener Sensor.
Tür-/Fensterkontakt: STATE → ContactSensorState (wahr = 1 = offen). Zählt für Eve Öffnungen und Öffnungsdauer.
Derselbe Kontakt, in HomeKit aber als Fenster dargestellt.
Derselbe Kontakt, in HomeKit als Tür dargestellt.
Fenstergriffsensor als Fenster.
Bewegungsmelder: MOTION → MotionDetected, BRIGHTNESS → Helligkeitssensor (abschaltbar).
Homematic-IP-Bewegungsmelder; optional ein Schalter, der den Sensor aktiv/inaktiv schaltet.
Taster als programmierbarer Schalter: PRESS_SHORT → Ereignis 0 (einfach), PRESS_LONG → Ereignis 2 (lang). Damit startet ein CCU-Taster HomeKit-Szenen.
Umgekehrte Richtung: ein Schalter in HomeKit „drückt“ die Taste an der CCU und fällt wieder auf Aus zurück.
Taster als Türklingel.
Klassische Rauchmelder und Rauchmelder-Gruppen.
Homematic-IP-Rauchwarnmelder HmIP-SWSD.
Homematic-IP-Wassermelder.
Türschlossantrieb KeyMatic; laut Wiki wählbar, ob HomeKit nur entriegelt oder die Tür öffnet.
Messkanal einer Schalt-Mess-Steckdose (bei HmIP-PSM Kanal 6) – Leistung und Verbrauch sind nur in der Eve-App sichtbar.
Systemvariable: Logikwert → Schalter, Zahl → Lampe mit Helligkeit (Wertebereich der Variable).
Logik-Variable als Sensor, z. B. „Anwesenheit“ als Belegungssensor.
CCU-Programm als Schalter: Einschalten ruft ProgramExecute() auf, danach springt der Schalter zurück auf Aus.
Duty Cycle der Zentrale als Prozentwert – mangels passendem HomeKit-Dienst als „Luftfeuchte“.
Prozessortemperatur der Zentrale als Thermometer.
Garagentor aus mehreren Geräten: Sensor für „geschlossen“ plus Aktor zum Öffnen (Adressen als volle Datenpunkte).
Mehrere Tasten in einem Gerät: Schalter in HomeKit, die an der CCU ein Tastenereignis auslösen und sich selbst zurücksetzen.
Mehrere CCU-Tasten als ein programmierbarer Mehrfachschalter in HomeKit.
Schalter, der eine URL aufruft (laut Wiki GET, POST, PUT, DELETE).
Video-Türklingel (braucht ffmpeg). Einziges Gerät, das nicht hinter einer Bridge hängt – es belegt einen eigenen HAP-Port.