Make Zumtobel Litecom CCD fully accessible through MQTT and discoverable by Home Assistant.
🚧 This Project is Work In Progress 🚧
litecom2mqtt
is configured using environment variables. All environment variables not declared as
"optional" must be defined.
Variable | Description |
---|---|
LITECOM2MQTT_MQTT_BROKER_HOST |
The hostname where your MQTT broker is running. Examples: 192.168.1.42 , mosquitto.domin.tld |
LITECOM2MQTT_MQTT_BROKER_PORT |
The port on which your MQTT broker is running on the given host. Examples: 1883 , 8883 |
LITECOM2MQTT_MQTT_BROKER_PROTOCOL |
The protocol to use to connect to you MQTT broker. Allowed values: mqtt , mqtts |
LITECOM2MQTT_MQTT_TOPIC_PREFIX |
Optional. All litecom2mqtt MQTT topics are prefixed using this string.Default value: litecom2mqtt |
LITECOM2MQTT_LOG_LEVEL |
Optional. One of DEBUG , INFO , WARNING , ERROR , or CRITICAL to control log verbosity.Default value: ERROR |
LITECOM2MQTT_LITECOM_HOST |
The host where your Litecom CCD can be reached. Examples: 192.168.1.50 , litecom.yourdomain.tld |
LITECOM2MQTT_LITECOM_CONSUMER_NAME |
|
LITECOM2MQTT_LITECOM_CONSUMER_API_KEY |
|
LITECOM2MQTT_LITECOM_STATE_MQTT_TOPIC_PREFIX |
Optional. The topic prefix used by your Litecom CCD to publish state information. Default value: litecom |
LITECOM2MQTT_HOMEASSISTANT_DISCOVERY_MQTT_TOPIC_PREFIX |
Optional. litecom2mqtt will announce devices, zones, etc. to Home Assistant within this topic prefix.Default value: homeassistant |
LITECOM2MQTT_HOMEASSISTANT_ANNOUNCE_DEVICES |
Optional. If true , Litecom devices and their services (lighting, blinds, etc.) are announced to Home Assistant.Default value: false |
LITECOM2MQTT_HOMEASSISTANT_ANNOUNCE_GROUPS |
Optional. If true , Litecom groups and their services are announced to Home Assistant.Default value: false |
LITECOM2MQTT_HOMEASSISTANT_ANNOUNCE_ROOMS |
Optional. If true , Litecom rooms and their services are announced to Home Assistant.Default value: false |
LITECOM2MQTT_HOMEASSISTANT_ANNOUNCE_ZONES |
Optional. If true , Litecom zones and their services are announced to Home Assistant.Default value: false |
- When setting a value of a device explicitly, Litecom does not propagate that value to its parent hierarchy (i.e., groups, rooms, and zones.).
- Setting a scene for a room with a Circle device,
activeScene
for that room becomesnull
. 🧐 Maybe there's a way how we can compensate for this?
litecom2mqtt
is written in TypeScript for
NodeJS. You get the best developer experience with
vscode and a
devcontainer; a
container configuration is present.
https://www.npmjs.com/package/openapi-typescript-codegen
-
Download the OpenAPI spec from the Litecom CCD (
https://ADDRESS/docs/rest/
) and place it in the projects root aslitecom-openapi.yml
-
Build the generators Docker image locally, then:
docker run -v ./:/data openapi-typescript-codegen --input /data/litecom-openapi.yaml --output /data/src/litecom/restClient
-
Add the
.ts
file extension to all import statements in all files of the generated clients. deno needs this. -
Done.