-
Notifications
You must be signed in to change notification settings - Fork 64
entity: none
Firemote version v3.4.0 introduced a new bring your own device feature to allow more savvy Home Assistant users control anything they own.
This addition was requested by a Firemote user in Feature Request #305
entity: none
When you select "none" as your device type, you gain the ability to use any of the Firemote remotes look and feel without having to actually have that specific type of device added to your Home Assistant setup.
For users of the Broadlink integration or any type of IR blasters, this option provides a way to control any "non-smart" or "not yet supported through the Firemote card" types of devices to be controlled.
(If you want your not yet supported media device added to the core of Firemote, make your request known here)
After selecting the None / Other option in the Device Family menu of the UI, or using entity: none
in the YAML config, many of the menu options that are normally present will disappear.
This is intentional since our goal is to control something that is not currently supported by Firemote. We will be configuring what the buttons do through YAML.
Feel free to change any options at this point in the process to configure the look and feel of the kind of card you would like to use. For the purposes of this article, this is how I've configured mine:
type: custom:firemote-card
entity: none
device_family: none
device_type: other
compatibility_mode: default
defaultRemoteStyle_override: AL2
scale: '56'
app_launcher_relative_size: 0
hide_button_group_frame: true
useCustomSkin: true
skin: '#4680af'
dpad_style: apple-tv-black
visible_name_text: 🔥 Firemote 🔥
name_position: top
visible_name_text_color: '#4d0000'
After saving your new card with the look that you want it to have, we will need to use Button Overrides to assign an action for each of the buttons on our Firemote card, and/or Launcher Button Customizations to add additional buttons as well. It is important that you read the documentation and understand how overrides and customizations work before continuing.
To help you with this process, Firemote will tell you the name of each un-programmed button when you click on it:
noEntityButtonClicks.mp4
The button names that appear in this video are listed at the top of the alert box, up-button
, right-button
, volume-up-button
, etc.
Now that we know their names, we can program a few using YAML. Consider this example:
type: custom:firemote-card
entity: none
device_family: none
device_type: other
compatibility_mode: default
defaultRemoteStyle_override: AL2
scale: '95'
app_launcher_relative_size: '31'
hide_button_group_frame: true
useCustomSkin: true
skin: '#4680af'
dpad_style: apple-tv-black
visible_name_text: 🔥 Firemote 🔥
name_position: top
visible_name_text_color: '#4d0000'
button_overrides:
mute-button:
script: receiver_mute_script
volume-down-button:
script: receiver_volume_down_script
volume-up-button:
service: light.toggle
target:
entity_id: light.bedroom_lamp
data:
color_name: red
transition: 2
brightness_pct: 100
In a configuration like this, clicking on the Mute button will trigger the Home Assistant script named "receiver_mute_script". A similar concept with the Volume Down button too. The Volume Up button calls a Home Assistant service, passes a target and any data that might be required. Either way works just fine, it's all a matter of your personal preference.
Let's take it another step further. Consider this addition to the YAML:
type: custom:firemote-card
entity: none
device_family: none
device_type: other
compatibility_mode: default
defaultRemoteStyle_override: AL2
scale: '95'
app_launcher_relative_size: '31'
hide_button_group_frame: true
useCustomSkin: true
skin: '#4680af'
dpad_style: apple-tv-black
visible_name_text: 🔥 Firemote 🔥
name_position: top
visible_name_text_color: '#4d0000'
button_overrides:
mute-button:
script: receiver_mute_script
volume-down-button:
script: receiver_volume_down_script
volume-up-button:
service: light.toggle
target:
entity_id: light.bedroom_lamp
data:
color_name: red
transition: 2
brightness_pct: 100
custom_launchers:
- friendly_name: flash the light
label: FLASH
image_path: https://upload.wikimedia.org/wikipedia/commons/2/28/Flash-outlined-thin-circular-button.svg
color: red
background: white
script: flashthelablight
- friendly_name: Red Lamp
label: red
icon: mdi:lamp
color: red
background: blue
service: light.toggle
target:
entity_id: light.bedroom_lamp
data:
color_name: red
transition: 2
brightness_pct: 100
app_launch_1: customlauncher flash the light
app_launch_2: customlauncher Red Lamp
That example configuration results in a Firemote card that looks like this:
You can see that two new "launcher" buttons were added, and configured to run a script or interact with a Home Assistant service.
The possibilities are endless.