🗄️ Das Projekt hap-homematic ist seit dem 29.05.2026 archiviert (nur noch lesbar, keine Updates). Was das bedeutet

🧪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

HomeMatic
Gerät        HmIP-PSM  000A1BE9A00001
 └─ Kanal 3  SWITCH_VIRTUAL_RECEIVER
     └─ Datenpunkt STATE = true
Adresse: HmIP-RF.000A1BE9A00001:3.STATE
HomeKit
Bridge       HomeMatic Kueche
 └─ Zubehör  Kaffeemaschine
     └─ Dienst Outlet
         └─ Characteristic On = true

🎚️Rechner: Datenpunkt ⇄ Characteristic

Die Umrechnungen folgen dem Quelltext der jeweiligen Service-Klasse. Seriennummern sind erfunden.
HomeMatic-Seite
BidCos-RF.XYZ0000001:1 · DIMMER

HomeKit-Seite (Gegenrichtung)
Zentrale → HomeKitHomeMaticDimmerAccessory
DatenpunktWertHomeKit-DienstCharacteristicWert in HomeKit
LEVEL0.6LightbulbBrightness
60 %
LEVEL × 100, auf den Min/Max-Bereich umgerechnet
LEVEL0.6LightbulbOn
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.

HomeKit → ZentraleHome-App setzt Brightness = 60 %
1LEVEL=0.6
object 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?

Die Zuordnung ist keine Tabelle, sondern steckt in den Klassen: Jede nennt die Kanaltypen, für die sie zuständig ist. Passen mehrere, bietet der Dialog eine Auswahl an.
Kanal-Prüfer: Welche Services bietet die Konfigurationsseite an?
  1. 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).

Service-Klassen (Auswahl: 33 von 33)
GerätHomeMaticSwitchAccessory
LightbulbOutletSwitchFan

Schaltaktor. Der Untertyp bestimmt nur das Symbol in HomeKit (Lampe, Steckdose, Schalter, Ventilator); gesteuert wird immer STATE.

SWITCH · STATUS_INDICATOR · SWITCH_VIRTUAL_RECEIVER · VIR-LG-ONOFF-CH · DIGITAL_OUTPUT · SIMPLE_SWITCH_RECEIVER
„This service provides a switch“
GerätHomeMaticDimmerAccessory
Lightbulb

Dimmer: LEVEL 0.0–1.0 wird zu Brightness 0–100 %. Optional Rampenzeit, Einschaltdauer und ein Min-/Max-Dimmwert.

DIMMER · VIRTUAL_DIMMER · DIMMER_VIRTUAL_RECEIVER · VIR-LG-WHITE-DIM-CH · VIR-LG-DIM-CH
„This service provides a dimmer in HomeKit“
GerätHomeMaticFanAccessory
Fan

Derselbe Dimmerkanal, aber als regelbarer Ventilator dargestellt (seit 0.0.59).

DIMMER · VIRTUAL_DIMMER · DIMMER_VIRTUAL_RECEIVER
„This service provides a controlable fan in HomeKit“
GerätHomeMaticBlindAccessory
WindowCovering

Klassischer Rollladen-/Jalousieaktor: LEVEL 0.0–1.0 ↔ Position 0–100 %, DIRECTION → PositionState, STOP für „Anhalten“.

BLIND · JALOUSIE
„You can control your blinds with this service“
GerätHomeMaticBlindIPAccessory
WindowCovering

Homematic-IP-Rollladenaktor: geschrieben wird 4.LEVEL, gelesen bei SHUTTER_VIRTUAL_RECEIVER 3.LEVEL; Lamellen über LEVEL_2.

SHUTTER_VIRTUAL_RECEIVER · BLIND_VIRTUAL_RECEIVER · SHADING_RECEIVER
„You can control your blinds with this service“
GerätHomeMaticRadiatorThermostatAccessory
ThermostatSwitch

Homematic-IP-Heizkörper- und Wandthermostat: ACTUAL_TEMPERATURE, SET_POINT_TEMPERATURE, SET_POINT_MODE/CONTROL_MODE; optional Schalter für den Boost.

HEATING_CLIMATECONTROL_TRANSCEIVER
„This service provides a thermostat for HomeKit“
GerätHomeMaticThermostatAccessory
ThermostatHumiditySensorSwitch

Klassische HomeMatic-Thermostate: ACTUAL_TEMPERATURE, SET_TEMPERATURE, CONTROL_MODE, Umschalten über MANU_MODE/AUTO_MODE.

CLIMATECONTROL_RT_TRANSCEIVER · THERMALCONTROL_TRANSMIT · CLIMATECONTROL_REGULATOR
„This service provides a thermostat for HomeKit“
GerätHomeMaticThermometerAccessory
TemperatureSensorHumiditySensorAirQualitySensor

Temperatur- und Feuchtesensor: TEMPERATURE bzw. ACTUAL_TEMPERATURE und HUMIDITY; mit Verlauf für die Eve-App.

WEATHER · CLIMATE_TRANSCEIVER · HmIP-STH:HEATING_CLIMATECONTROL_TRANSCEIVER · HmIP-STHD:HEATING_CLIMATECONTROL_TRANSCEIVER · HmIP-WTH-2:HEATING_CLIMATECONTROL_TRANSCEIVER · HmIP-WTH:HEATING_CLIMATECONTROL_TRANSCEIVER · WEATHER_TRANSMIT
„This service provides a temperature sensor HomeKit“
GerätHomeMaticHumidityAccessory
HumiditySensor

Nur die Luftfeuchte (HUMIDITY) als eigener Sensor.

WEATHER · CLIMATE_TRANSCEIVER · HmIP-STH:HEATING_CLIMATECONTROL_TRANSCEIVER · HmIP-STHD:HEATING_CLIMATECONTROL_TRANSCEIVER · HmIP-WTH-2:HEATING_CLIMATECONTROL_TRANSCEIVER · HmIP-WTH:HEATING_CLIMATECONTROL_TRANSCEIVER · HmIP-BWTH:HEATING_CLIMATECONTROL_TRANSCEIVER · WEATHER_TRANSMIT
„This service provides a humidity sensor for HomeKit“
GerätHomeMaticContactSensorAccessory
ContactSensor

Tür-/Fensterkontakt: STATE → ContactSensorState (wahr = 1 = offen). Zählt für Eve Öffnungen und Öffnungsdauer.

CONTACT · SHUTTER_CONTACT · TILT_SENSOR · HmIP-SAM:ACCELERATION_TRANSCEIVER · SHUTTER_CONTACT_TRANSCEIVER · HMW-Sen-SC-12-DR:SENSOR · MULTI_MODE_INPUT_TRANSMITTER · WRAPPER
„This service provides a Contact in HomeKit“
GerätHomeMaticWindowAccessory
Window

Derselbe Kontakt, in HomeKit aber als Fenster dargestellt.

CONTACT · SHUTTER_CONTACT · MULTI_MODE_INPUT_TRANSMITTER
„This service provides a window device in HomeKit based on a ccu contact“
GerätHomeMaticDoorAccessory
Door

Derselbe Kontakt, in HomeKit als Tür dargestellt.

CONTACT · SHUTTER_CONTACT · MULTI_MODE_INPUT_TRANSMITTER
„This service provides a door based on a ccu contact in HomeKit“
GerätHomeMaticRotaryWindowAccessory
Window

Fenstergriffsensor als Fenster.

ROTARY_HANDLE_SENSOR · ROTARY_HANDLE_TRANSCEIVER
„This service provides a window device in HomeKit based on a ccu rotary sensor“
GerätHomeMaticMotionAccessory
MotionSensorLightSensor

Bewegungsmelder: MOTION → MotionDetected, BRIGHTNESS → Helligkeitssensor (abschaltbar).

MOTION_DETECTOR · TILT_SENSOR
„This service provides a motion sensor in HomeKit“
GerätHomeMaticIPMotionAccessory
MotionSensorLightSensorSwitch

Homematic-IP-Bewegungsmelder; optional ein Schalter, der den Sensor aktiv/inaktiv schaltet.

MOTIONDETECTOR_TRANSCEIVER
„This service provides a motion sensor in HomeKit“
GerätHomeMaticKeyAccessory
StatelessProgrammableSwitch

Taster als programmierbarer Schalter: PRESS_SHORT → Ereignis 0 (einfach), PRESS_LONG → Ereignis 2 (lang). Damit startet ein CCU-Taster HomeKit-Szenen.

KEY · VIRTUAL_KEY · KEY_TRANSCEIVER · MULTI_MODE_INPUT_TRANSMITTER · SWITCH_INTERFACE
„This service provides a programmable switch in HomeKit based on a ccu KEY“
GerätHomeMaticPushTheButtonAccessory
Switch

Umgekehrte Richtung: ein Schalter in HomeKit „drückt“ die Taste an der CCU und fällt wieder auf Aus zurück.

KEY · VIRTUAL_KEY · KEY_TRANSCEIVER · MULTI_MODE_INPUT_TRANSMITTER
„This service provides a switch HomeKit which will press the assigned key at your ccu“
GerätHomeMaticDoorBellAccessory
Doorbell

Taster als Türklingel.

KEY · VIRTUAL_KEY · SWITCH_INTERFACE · MULTI_MODE_INPUT_TRANSMITTER · KEY_TRANSCEIVER
„This service provides a door bell in HomeKit, based on a KEY event at your CCU“
GerätHomeMaticSmokeDetectorAccessory
SmokeSensor

Klassische Rauchmelder und Rauchmelder-Gruppen.

HM-Sec-SD:SMOKE_DETECTOR · HM-Sec-SD-Generic:SMOKE_DETECTOR · HM-Sec-SD-2:SMOKE_DETECTOR · HM-Sec-SD-2-Generic:SMOKE_DETECTOR · SMOKE_DETECTOR_TEAM · SMOKE_DETECTOR_TEAM_V2
„This service provides a smoke detector in HomeKit“
GerätHomeMaticIPSmokeDetectorAccessory
SmokeSensor

Homematic-IP-Rauchwarnmelder HmIP-SWSD.

HmIP-SWSD:SMOKE_DETECTOR
„This service provides a smoke detector in HomeKit“
GerätHomeMaticIPLeakSensorAccessory
LeakSensor

Homematic-IP-Wassermelder.

WATER_DETECTION_TRANSMITTER
„This service provides a leak sensor in HomeKit“
GerätHomeMaticKeyMaticAccessory
LockMechanism

Türschlossantrieb KeyMatic; laut Wiki wählbar, ob HomeKit nur entriegelt oder die Tür öffnet.

KEYMATIC · DIGITAL_OUTPUT · DIGITAL_ANALOG_OUTPUT
„This service provides a locking system in HomeKit connected to your Keymatic“
GerätHomeMaticIPPowerMeterSwitchAccessory
Outlet

Messkanal einer Schalt-Mess-Steckdose (bei HmIP-PSM Kanal 6) – Leistung und Verbrauch sind nur in der Eve-App sichtbar.

ENERGIE_METER_TRANSMITTER
„This service provides a power meter in HomeKit (this only works in eve)“
VariableHomeMaticVariableAccessory
SwitchLightbulb

Systemvariable: Logikwert → Schalter, Zahl → Lampe mit Helligkeit (Wertebereich der Variable).

VARIABLE
„This service provides a switch or lightbulb to control variables“
VariableHomeMaticVariableBinarySensorAccessory
ContactSensorMotionSensorOccupancySensorLeakSensorSmokeSensor

Logik-Variable als Sensor, z. B. „Anwesenheit“ als Belegungssensor.

VARIABLE
„This service provides a sensor with value from variables“
ProgrammHomeMaticProgramAccessory
Switch

CCU-Programm als Schalter: Einschalten ruft ProgramExecute() auf, danach springt der Schalter zurück auf Aus.

PROGRAMM
„This service provides a switch where u can start a program from“
Besonderes GerätHomeMaticSPCCUDutyCycleAccessory
HumiditySensor

Duty Cycle der Zentrale als Prozentwert – mangels passendem HomeKit-Dienst als „Luftfeuchte“.

SPECIAL
„This service provides duty cycle measurement“
Besonderes GerätHomeMaticSPCCUTempAccessory
TemperatureSensor

Prozessortemperatur der Zentrale als Thermometer.

SPECIAL
„This service provides a thermometer which will show your current ccu processor temperature“
Besonderes GerätHomeMaticSPGarageDoorAccessory
GarageDoorOpener

Garagentor aus mehreren Geräten: Sensor für „geschlossen“ plus Aktor zum Öffnen (Adressen als volle Datenpunkte).

SPECIAL
„This service provides a garage door opener in HomeKit based on multiple devices from your ccu“
Besonderes GerätHomeMaticSPMultiChannelPushButtonAccessory
Switch

Mehrere Tasten in einem Gerät: Schalter in HomeKit, die an der CCU ein Tastenereignis auslösen und sich selbst zurücksetzen.

SPECIAL
„This service provides multiple HomeMatic Keys (to create a ccu event) in one device.“
Besonderes GerätHomeMaticSPMultiChannelKeyAccessory
StatelessProgrammableSwitch

Mehrere CCU-Tasten als ein programmierbarer Mehrfachschalter in HomeKit.

SPECIAL
„This service provides multiple HomeMatic Keys in one device.“
Besonderes GerätHomeMaticSPHTTPAccessory
Switch

Schalter, der eine URL aufruft (laut Wiki GET, POST, PUT, DELETE).

SPECIAL
„This service provides a switch HomeKit which will call a url“
Besonderes GerätHomeMaticSPVideoDoorBellAccessory
DoorbellLockMechanism

Video-Türklingel (braucht ffmpeg). Einziges Gerät, das nicht hinter einer Bridge hängt – es belegt einen eigenen HAP-Port.

SPECIAL
„This service provides a Video door bell for HomeKit“

⚠️Grenzen des Mappings

⚠️ Nicht jedes Gerät
Angeboten werden nur Kanaltypen, für die eine Klasse existiert. Neue Gerätetypen kamen mit jeder Version dazu – zuletzt in 0.0.62. Seit der Archivierung kommt nichts mehr hinzu.
💡 HomeKit kennt manches nicht
Für den Duty Cycle gibt es keinen passenden Dienst – er erscheint als „Luftfeuchte“ in Prozent. Leistung und Verbrauch zeigt nur die Eve-App. Ein Taster ist in HomeKit ein Ereignis, kein Zustand.
💡 Kühlen gibt es nicht
Beim Thermostat entfernt das Addon den Modus „Kühlen“: gültig sind nur Aus (0), Heizen (1) und Automatik (3). „Aus“ bedeutet Solltemperatur 4,5 °C.