A teletask to home-assistant bridge
Copied from Jan Bogaerts https://github.com/jan-bogaerts/teletask_bridge, wrapped in a HAOS application so it can be installed and updated with the help from copilot to accommodate RGBW led strips with 4 dimmers, feedback for switches and the use of additional sensors.
This application allows you to take full control of your teletask setup through the home-assistant gateway. It registers your teletask unit as an mqtt device and adds all the sensors/actuators that you have defined in the config.
goto settings/apps
click on install app
click on tree dots at the top and select repositories
paste the URL "https://github.com/bert-MI4U/teletask_bridge_HAaddon" and press add.
select the Teletask Bridge from the App Store and install
configure the config.json file (see below)
use Studio Code Server (or other)
Add the addon_configs folder to your workspace
Run the app once, to create the slug subfolder
Create a config.json file in a teletask subfolder in this slug subfolder
copy the config.json contents below to this file (as example).
Auto discovery is used on the home-automation side to load all the assets. Teletask however doesn't support auto-discovery, so you will have to define the list yourself.
All config data is stored in the file config.json, located in the application folder. It requires the following sections:
- home_assistant: broker details
- discovery_prefix: topic prefix used for auto-discovery. Usually
homeassistant - client_id: identify this client with the broker, should be unique for each device
- broker_host: name/ip address of the broker
- device_id: identifier for this device in home-assistant
- discovery_prefix: topic prefix used for auto-discovery. Usually
- teletask: all the details to connect to the teletask device
- ip: the ip address of the teletask unit
- port: the port number to connect to.
- assets: all the sensors and actuators that you would like to have registered in home-assistant.
- name: label used in home-assistant
- component: the mqtt component used to register the asset in home assistant. See mqtt configuration for more info.
tested with
- light
- switch
- binary_sensor
- sensor (temperature, power, precipitation,wind_speed,illuminance)
- teletask_type: the type of the component on the teletask side. Supported types are:
- relay
- dimmer
- motor
- locmood
- genmood
- flag
- sensor
- cond
- rgbw (a dummy creating a RGBW from 4 different dimmers to present as RGBW to HA)
- teletask_id: the id number to identify the item in teletask. This can be found with the prosoft application of teletask.
Sample config.json file
"home_assistant": {
"discovery_prefix": "homeassistant",
"client_id": "teletask_bridge",
"broker_host": "192.168.1.200",
"device_id": "teletask_1"
},
"teletask": {
"ip": "192.168.1.1",
"port": 55957
},
"assets": [
{"name": "Garage", "component": "light", "teletask_type": "relay", "central_unit": 1, "teletask_id": 1},
{"name": "Oprit", "component": "light", "teletask_type": "locmood", "central_unit": 1, "teletask_id": 5},
{"name": "Sauna R", "component": "light", "teletask_type": "dimmer", "central_unit": 1, "teletask_id": 1},
{"name": "Sauna G", "component": "light", "teletask_type": "dimmer", "central_unit": 1, "teletask_id": 2},
{"name": "Sauna B", "component": "light", "teletask_type": "dimmer", "central_unit": 1, "teletask_id": 3},
{"name": "Sauna W", "component": "light", "teletask_type": "dimmer", "central_unit": 1, "teletask_id": 4},
{"name": "Sauna RGBW", "component": "light", "teletask_type": "rgbw", "central_unit": 1, "teletask_id": 1,"red":1,"green":2,"blue":3,"white":4},
{"name": "Werkbank 1", "component": "switch", "teletask_type": "relay", "central_unit": 1, "teletask_id": 7},
{"name": "Ochtend", "component": "switch", "teletask_type": "locmood", "central_unit": 1, "teletask_id": 15},
{"name": "TV-kijken", "component": "switch", "teletask_type": "genmood", "central_unit": 1, "teletask_id": 6},
{"name": "Zomer", "component": "binary_sensor", "teletask_type": "flag", "central_unit": 1, "teletask_id": 5},
{"name": "Nat", "component": "binary_sensor", "teletask_type": "cond", "central_unit": 1, "teletask_id": 2},
{"name": "Badkamer", "component": "sensor", "device_class": "temperature", "unit_of_measurement": "°C", "teletask_type": "sensor", "central_unit": 1, "teletask_id": 114},
{"name": "W-Wellness", "component": "sensor", "device_class": "power", "state_class": "measurement", "unit_of_measurement": "W", "teletask_type": "sensor", "central_unit": 1, "teletask_id": 6},
{"name": "Regen", "component": "sensor", "device_class": "precipitation", "state_class": "measurement", "unit_of_measurement": "mm", "teletask_type": "sensor", "central_unit": 1, "teletask_id": 119},
{"name": "Wind", "component": "sensor", "device_class": "wind_speed", "state_class": "measurement", "unit_of_measurement": "kn", "teletask_type": "sensor", "central_unit": 1, "teletask_id": 84},
{"name": "Lux Hal", "component": "sensor", "device_class": "illuminance", "state_class": "measurement", "unit_of_measurement": "lx", "teletask_type": "sensor", "central_unit": 1, "teletask_id": 81}
]
}