I’ve spent some time setting up a bunch of properties using the ssh integration. It took quite some time to figure out how to get the sensors to work, given that the Crestron panel isn’t a real shell, so you can’t clean up the output. Therefore, there’s a lot of key: ignored
values that have to be added to the sensors list, which eats up empty space and sensors we don’t want.
One caveat, the commands are fairly slow—up to a second per sensor. I set my update interval to 300
, so it only checks every 5 minutes. Also, if you don’t have the external LCD panel, you should remove everything related to digitaljoin
or analogjoin
, as it’ll just add a lot of time on updates.
Here’s a list of what this provides:
- Actions:
- Standby
I haven’t figured out how to get a sensor to tell me if the screen is in standby or notI figured this out, see in the comment a couple below this.
- Wake (HomeAssistant will reload every time)
- Reload
- Standby
- Sensors that can be set:
- Brightness
- Standby Timeout (set to
0
to disable) - Auto Brightness Enabled
- Auto Brightness Threshold (when to trigger it)
- I’d like to include the hi & lo values, but Crestron combines them into one line for some reason
- R/G/B Backlight Enabled
- R/G/B Backlight Level
- Other sensors:
- Hostname
Action Commands:
- command: standby
name: Standby
key: standby
- command: standby off
name: Wake
key: wake
- command: apprestart
name: Reload
key: reload
Sensor Commands:
- command: brightness
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: number
name: Brightness
key: brightness
value_template: >-
{{ value|regex_findall_index(find='Current LCD brightness level: (\d+)')
}}
command_set: brightness @{value}
- command: stbyto
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: number
name: Standby Timeout
key: standby_timeout
maximum: 600
value_template: "{{ value|regex_findall_index(find='Current standby timeout: (\\d+)') }}"
command_set: stbyto @{value}
- command: autobrightness
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: text
key: ignored
entity_registry_enabled_default: false
- type: binary
name: Auto Brightness
key: auto_brightness
value_template: >-
{{ value|regex_findall_index(find='LCD Auto-brightness: (\w+)') == 'ON'
}}
command_on: AUTOBRIGHTNESS LCDON
command_off: AUTOBRIGHTNESS LCDOFF
- type: text
key: ignored
entity_registry_enabled_default: false
- type: number
name: Auto Brightness Threshold
key: auto_brightness_threshold
value_template: "{{ value|regex_findall_index(find='Current LCD Threshold: (\\d+)') }}"
command_set: AUTOBRIGHTNESS LCDTHRESH @{value}
- command: hostname
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: text
name: Hostname
key: hostname
value_template: "{{ value|regex_findall_index(find='Host Name: (\\w+)') }}"
- command: getdigitaljoin 30025
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: binary
name: Red Backlight Enabled
key: red_enabled
value_template: "{{ value|regex_findall_index(find='DIGITAL=(\\d)') }}"
command_on: setdigitaljoin 30025 1
command_off: setdigitaljoin 30025 0
- command: getdigitaljoin 30026
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: binary
name: Green Backlight Enabled
key: green_enabled
value_template: "{{ value|regex_findall_index(find='DIGITAL=(\\d)') }}"
command_on: setdigitaljoin 30026 1
command_off: setdigitaljoin 30026 0
- command: getdigitaljoin 30027
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: binary
name: Blue Backlight Enabled
key: blue_enabled
value_template: "{{ value|regex_findall_index(find='DIGITAL=(\\d)') }}"
command_on: setdigitaljoin 30027 1
command_off: setdigitaljoin 30027 0
- command: getanalogjoin 33354
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: number
name: Red Backlight level
key: red_level
value_template: "{{ value|regex_findall_index(find='ANALOG=(\\d+)') }}"
command_set: setanalogjoin 33354 @{value}
- command: getanalogjoin 33355
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: number
name: Green Backlight level
key: green_level
value_template: "{{ value|regex_findall_index(find='ANALOG=(\\d+)') }}"
command_set: setanalogjoin 33355 @{value}
- command: getanalogjoin 33356
sensors:
- type: text
key: ignored
entity_registry_enabled_default: false
- type: number
name: Blue Backlight level
key: blue_level
value_template: "{{ value|regex_findall_index(find='ANALOG=(\\d+)') }}"
command_set: setanalogjoin 33356 @{value}
This gives you the following device interface for your screen: