This is a collection of Appdaemon Apps to drive a Ulanzi Desktop Clock (TC001) with the Awtrix Light firmware.
For any information regarding installing and using Appdaemon with Homeassistant, please consult the documentation.
All apps here make use of a base class to abstract away the Ulanzi protocol and common settings. Therefore some settings have to be defined in the same way in all apps:
MyApp:
mqtt_prefix: awtrix_XXXX # The MQTT prefix where Awtrix Light is listening
icon: "1337" # Icon to use for the app. Needs to be installed on the device
sound: "tri" # Sound to play on notifications (optional), needs to be installed on the device
enabled_entity: "input_boolean.myswitch" # Homeassistant switch to enable the app (optional)
The app will automatically pick up on any defined timer
entities in Homeassistant and display their progress on the clock when they are running or paused. You can define custom icons for particular timers and ignore others and define a sound file to play on completion.
See the source code if you want to change the colors of the progress bar.
Example configuration:
TimerDisplay:
module: ustopwatch
class: UlanziTimerDisplay
mqtt_prefix: awtrix_XXXX
icon: "42893"
sound: "tri"
custom_icons:
tea: "35123" # Use the entity name without the "timer." prefix
ignore:
- front_porch_light # ... also here
Will display the proximity of different persons to the home when they are not at a defined location. Makes use of the Homeassistant device_tracker
and proximity
integrations to display proximity and direction of travel.
Example configuration:
MyProximity:
module: uproximity
class: UlanziProximityInfo
mqtt_prefix: awtrix_XXXX
icon: "5869"
tracker: device_tracker.myphone
proximity_sensor: proximity.me
person: ict # Friendly name to display: "ict: 1.2 km <<<"
A basic weather display. Shows current conditions (with optional second sensor for local measurements) and today's (it it is before 18:00) or tomorrow's forecast with a progress bar for the probability of rain. Has only been tested with the OpenWeathermap integration.
Note
You will need to adapt the icon definitions in the source code for the different weather states to your needs and download all defined icons for the best effect. Some icons from the LaMetric library are broken on Awtrix Light and need to be re-saved without compression to look nice.
Example configuration:
UlanziWeather:
module: uweather
class: UlanziWeather
mqtt_prefix: awtrix_XXXX
icon: "0" # Not used in this app since we use different icons for all conditions
weather_entity: weather.openweathermap
current_temp_sensor: sensor.balkon_temperature # optional
Displays open windows.
Example configuration:
UlanziWindowStatus:
module: uwindow
class: UlanziWindowAlert
icon: "47934"
mqtt_prefix: awtrix_XXXX
windows:
- entity: binary_sensor.patio_window_contact # Sensor entity
name: Patio # Short name to display
- entity: binary_sensor.pool_room_right_contact
name: Pool R
Activates an indicator light when humidity in a defined room reaches a threshold. It will display these rooms once when they reach the threshold and can also display the list again on a keypess.
Example configuration:
HumidityNotifier:
module: uhumidity
class: UlanziHumidityWarning
mqtt_prefix: awtrix_XXXX
icon: "2423"
sensors:
- entity: sensor.pool_sensor_humidity
name: Pool
- entity: sensor.library_sensor_humidity
name: Library
threshold: 60
indicator: light.awtrix_XXXX_indicator_2 # indicator to use
indicator_color: [130, 192, 255] # color of indicator (RGB), optional
show_buttons: # list of entities that, when switched to 'on', will re-display the room-list
- binary_sensor.awtrix_XXX_button_select # middle button of the clock
- input_button.ulanzi_show_hum