Hi everyone
[edit] This guide is identical for a TSW-1070, with one exception. The Firmware link is different, the TSW-1070 firmware can be found here [/edit]
What is the Crestron TSW-1060? Its a professional room control tablet. Its battery less and runs over PoE. The price tag was quite high, but its EOL now and available off eBay as a bargain. Its performance is not suitable for gaming or anything like it but it will fit the purpose of a wallpanel for HA very well.
There is quite a lengthy thread about the Crestron TSW-1060 as a wallpanel. The setup info can be found accross various posts in that thread, so I thought I might condense it all into this little guide. Thanks everyone who contributed in helping getting these devices up and running, a shout out to @OverZealous and @UserHA8021 who have worked out all the SSH commands to control the device (and its screen from HA).
Once done, you should be able to control the panel from HA, including turning on/off the screen:
Lets dive into it.
Basic Setup
- Factory Reset the device by 10 (or 11 ?) times unplugging the PoE cable, plug it back in until the Crestron logo appears - repeat. After 10/11 times, the device will enter the maintenance mode (this can take up to 10min), where you then can factory reset the device.
- Connect to the device’s IP address via a webbrowser
- Create the first (Admin) account
- Connect with PuTTY to the device’s IP address and login
- Send the command « initialize » - it will erase all existing User Projects, if there are any left over from the previous owner (these are not erased via a factory reset).
- Back on the webbrowser, login with the account you previously created
- Click the Settings tab → Applications
- Select “EMS” and enter your HA URL
- Save (and reboot if the system asks you to do so)
- Follow any prompts for a reboot.
- Onc rebooted, login again go to Settings → Auto Update → Check for firmware updates and click the “Update Now” button. The latest firmware for a TSW-1060 at the time of writing is tsw-xx60_3.002.1061.001.puf.
You may also download the firmware manually from here and upload via the webbrowser: https://crestrondevicefiles.blob.core.windows.net/tsx-firmware/touchscreen.txt - Play with the settings of the device. Suggestions:
- System → Auto Brightness on, play with the thresholds
- System → Hardkey ilumination off
- System → Disable screensaver, set time limit for standby to 0
- System → Camera off
- Audio → Mute
- Cloud settings → disable
- If Auto Brightness is not working (due to a firmware-bug, depending on your firmware), you can again connect via PuTTY, login and send the command
AUTOBRIGHTNESS CRESTRON– this should fix it.
At this point, your panel is basically working. However, we can tweak it it further. To control its screen (on/off) and brightness directly from Home-Assistant, we will connect to it with SSH Keys, instead with Username & PW and then create an SSH device in HA.
Setting up SSH-Keys between Home-Assistant and the Crestron Panel.
For the commands below, [Crestron-IP] refers to the IP address of your Crestron touchpanel and [Crestron-Username] is the username of the account you created on the Crestron panel after factory reset.
- If not already done, install the “Terminal & SSH” Addon, from the HA-Addon Store.
- Open the Terminal in HA (or SSH into HA via PuTTY) and create the SSH Keys (with ECDSA instead of RSA):
ssh-keygen -t ecdsa -b 256 -f ~/.ssh/id_ecdsa - Add the Crestron as a known host:
ssh-keyscan -H [Crestron-IP] >> /root/.ssh/known_hosts - Copy the public SSH key from HA tot he Crestron device:
scp /root/.ssh/id_ecdsa.pub [Crestron-Username]@[Crestron-IP]:/User/id_ecdsa - You will be promted fort he PW of
[Crestron-Username] - Connect via PuTTY to the Crestron touchpanel and login
- Add the key to your user:
SSHSERVER ADDUSERKEY -N: [Crestron-Username] -K:id_ecdsa→ you should see this message: The key has been successfully added to the user - Back on the HA SSH terminal : test the SSH connection with this:
ssh -i /root/.ssh/id_ecdsa [Crestron-Username]@[Crestron-IP] - You’re done
Create the Crestron Device in HA
For this, we are using the SSH Integration (this is not the “Terminal & SSH” addon). The SSH integration allows you to control and send commands via SSH to devices. It will create a device where you can click buttons/toggles
- Download the SSH Integration from HACS: GitHub - zhbjsh/homeassistant-ssh: Control and monitor devices in Home Assistant by executing commands via SSH, follow the setup-instructions and reboot HA, then add it under HA → Devices & services → +Add Integration
- Create a new device/entry
- Host :
[Crestron-IP] - Username:
[Crestron-Username] - Password : leave empty
- Default commands : none
- Key file : the integration documentation states that it is automatically looking in the hosts key file – but it did not work in my case, hence I did enter it manually. Key file:
/data/.ssh/id_ecdsa
If that does not work, you can open a SSH session via Terminal or PuTTY to HA and copy the key to the folder where other keys are stored (/homeassistant/ssh/):cp /data/.ssh/id_ecdsa /homeassistant/ssh/
Now for the Key file path, use/config/ssh/id_ecdsainstead (the folder /config in reality is /homeassistant, but the SSH integration will fail if you put /homeassistant/ssh, hence use /config/ssh - Automatically add key to host keys file: on
- Load system host keys: on
- The device will now be created
Add the Commands to the Crestron-Device in HA
Once the device has been created, go to the settings of the device and then you can finally add the commands (the below are the basic commands. If you have additional LED bars for the device, you can find more specific commands here. Settings:
-
Update Interval: 300 (this means how often the sensor-values are pulled from the device. Lower values at your own risk, ask yourself if its really necessary?)
-
Action Commands:
- command: standby
name: Standby
key: standby
- command: standby off
name: Wake
key: wake
- command: apprestart
name: Reload
key: reload
- 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
value_template: "{{ value|regex_findall_index(find='Current standby timeout: (\\d+)') }}"
command_set: stbyto @{value}
maximum: 600
- 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+)') }}"
Your device entry should finally look like this and you can change for example the auto-brightness or reload the EMS application (–> reload the URL you have configured during setup):
Configuring the Wallpanel-Addon
The Crestron devices are designed for 24/7 usage, so why not use it as a photo-carousel during the day, and turn the screen off during the night?
To turn off the screen at any given time, you can simply create an automation to toggle the screen.
To show photos during the day, you can use the awesome Wallpanel integration. You can configure it so that the screensaver (your photos) will turn off and show the dashboard as soon as you tap on the screen, or, when you have a motion sensor close by, that it will trigger an automation to disable the screensaver and right away show your dashboard.
Photo Credit: linked from GitHub - j-a-n/lovelace-wallpanel: 🖼️ Wall panel mode and photo screensaver for your Home Assistant Dashboards
Thats it - have fun! ![]()

