Add targets and selectors for services (G-H) (#50524)

Co-authored-by: Franck Nijhof <git@frenck.dev>
pull/50544/head
tkdrob 2021-05-12 14:49:04 -04:00 committed by GitHub
parent db82808466
commit 4ce3038b29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 476 additions and 108 deletions

View File

@ -1,2 +1,3 @@
reload:
name: Reload
description: Reload all generic entities.

View File

@ -1,2 +1,3 @@
reload:
name: Reload
description: Reload all generic_thermostat entities.

View File

@ -2,39 +2,77 @@
# Describes the format for available services
set_zone_mode:
name: Set zone mode
description: >-
Set the zone to an operating mode.
fields:
entity_id:
name: Entity
description: The zone's entity_id.
required: true
example: climate.kitchen
selector:
entity:
integration: geniushub
domain: climate
mode:
name: Mode
description: "One of: off, timer or footprint."
required: true
example: timer
selector:
select:
options:
- 'off'
- 'timer'
- 'footprint'
set_zone_override:
name: Set zone override
description: >-
Override the zone's set point for a given duration.
fields:
entity_id:
name: Entity
description: The zone's entity_id.
required: true
example: climate.bathroom
selector:
entity:
integration: geniushub
domain: climate
temperature:
description: The target temperature, to 0.1 C.
name: Temperature
description: The target temperature.
required: true
example: 19.2
selector:
number:
min: 4
max: 28
step: 0.1
unit_of_measurement: '°'
duration:
name: Duration
description: >-
The duration of the override. Optional, default 1 hour, maximum 24 hours.
example: '{"minutes": 135}'
selector:
object:
set_switch_override:
name: Set switch override
description: >-
Override switch for a given duration.
target:
entity:
integration: geniushub
domain: switch
fields:
entity_id:
description: The zone's entity_id.
example: switch.study
duration:
name: Duration
description: >-
The duration of the override. Optional, default 1 hour, maximum 24 hours.
example: '{"minutes": 135}'
selector:
object:

View File

@ -1,58 +1,85 @@
# Describes the format for available Elexa Guardians services
disable_ap:
name: Disable AP
description: Disable the device's onboard access point.
fields:
entity_id:
description: The Guardian valve controller to affect.
example: switch.guardian_abcde_valve
target:
entity:
integration: guardian
domain: switch
enable_ap:
name: Enable AP
description: Enable the device's onboard access point.
fields:
entity_id:
description: The Guardian valve controller to affect.
example: switch.guardian_abcde_valve
target:
entity:
integration: guardian
domain: switch
pair_sensor:
name: Pair sensor
description: Add a new paired sensor to the valve controller.
target:
entity:
integration: guardian
domain: switch
fields:
entity_id:
description: The Guardian valve controller to affect.
example: switch.guardian_abcde_valve
uid:
name: UID
description: The UID of the paired sensor
required: true
example: 5410EC688BCF
selector:
text:
reboot:
name: Reboot
description: Reboot the device.
fields:
entity_id:
description: The Guardian valve controller to affect.
example: switch.guardian_abcde_valve
target:
entity:
integration: guardian
domain: switch
reset_valve_diagnostics:
name: Reset valve diagnostics
description: Fully (and irrecoverably) reset all valve diagnostics.
fields:
entity_id:
description: The Guardian valve controller to affect.
example: switch.guardian_abcde_valve
target:
entity:
integration: guardian
domain: switch
unpair_sensor:
name: Unpair sensor
description: Remove a paired sensor from the valve controller.
target:
entity:
integration: guardian
domain: switch
fields:
entity_id:
description: The Guardian valve controller to affect.
example: switch.guardian_abcde_valve
uid:
name: UID
description: The UID of the paired sensor
required: true
example: 5410EC688BCF
selector:
text:
upgrade_firmware:
name: Upgrade firmware
description: Upgrade the device firmware.
target:
entity:
integration: guardian
domain: switch
fields:
entity_id:
description: The Guardian valve controller to affect.
example: switch.guardian_abcde_valve
url:
description: (optional) The URL of the server hosting the firmware file.
name: URL
description: The URL of the server hosting the firmware file.
example: https://repo.guardiancloud.services/gvc/fw
selector:
text:
port:
description: (optional) The port on which the firmware file is served.
name: Port
description: The port on which the firmware file is served.
example: 443
selector:
text:
filename:
description: (optional) The firmware filename.
name: Filename
description: The firmware filename.
example: latest.bin
selector:
text:

View File

@ -1,13 +1,25 @@
# Describes the format for Habitica service
api_call:
name: API name
description: Call Habitica API
fields:
name:
name: Name
description: Habitica's username to call for
required: true
example: "xxxNotAValidNickxxx"
selector:
text:
path:
name: Path
description: "Items from API URL in form of an array with method attached at the end. Consult https://habitica.com/apidoc/. Example uses https://habitica.com/apidoc/#api-Task-CreateUserTasks"
required: true
example: '["tasks", "user", "post"]'
selector:
object:
args:
name: Args
description: Any additional JSON or URL parameter arguments. See apidoc mentioned for path. Example uses same API endpoint
example: '{"text": "Use API from Home Assistant", "type": "todo"}'
selector:
object:

View File

@ -1,18 +1,32 @@
update:
name: Update
description: Updates the list of conversations.
send_message:
name: Send message
description: Send a notification to a specific target.
fields:
target:
description: List of targets with id or name. [Required]
name: Target
description: List of targets with id or name.
required: true
example: '[{"id": "UgxrXzVrARmjx_C6AZx4AaABAagBo-6UCw"}, {"name": "Test Conversation"}]'
selector:
object:
message:
description: List of message segments, only the "text" field is required in every segment. [Required]
name: Message
description: List of message segments, only the "text" field is required in every segment.
required: true
example: '[{"text":"test", "is_bold": false, "is_italic": false, "is_strikethrough": false, "is_underline": false, "parse_str": false, "link_target": "http://google.com"}]'
selector:
object:
data:
name: Data
description: Other options ['image_file' / 'image_url']
example: '{ "image_file": "file" }'
selector:
object:
reconnect:
name: Reconnect
description: Reconnect the bot.

View File

@ -1,16 +1,25 @@
sync:
name: Sync
description: Syncs the remote's configuration.
fields:
entity_id:
description: Name(s) of entities to sync.
example: "remote.family_room"
target:
entity:
integration: harmony
domain: remote
change_channel:
name: Change channel
description: Sends change channel command to the Harmony HUB
target:
entity:
integration: harmony
domain: remote
fields:
entity_id:
description: Name(s) of Harmony remote entities to send change channel command to
example: "remote.family_room"
channel:
name: Channel
description: Channel number to change to
required: true
example: "200"
selector:
number:
min: 1
max: 100000

View File

@ -1,45 +1,87 @@
power_on:
name: Power on
description: Power on all devices which supports it.
select_device:
name: Select device
description: Select HDMI device.
fields:
device:
name: Device
description: Address of device to select. Can be entity_id, physical address or alias from configuration.
required: true
example: '"switch.hdmi_1" or "1.1.0.0" or "01:10"'
selector:
text:
send_command:
name: Send command
description: Sends CEC command into HDMI CEC capable adapter.
fields:
att:
name: Att
description: Optional parameters.
example: [0, 2]
selector:
object:
cmd:
name: Command
description: 'Command itself. Could be decimal number or string with hexadeximal notation: "0x10".'
example: 144 or "0x90"
selector:
text:
dst:
name: Destination
description: 'Destination for command. Could be decimal number or string with hexadeximal notation: "0x10".'
example: 5 or "0x5"
selector:
text:
raw:
name: Raw
description: >-
Raw CEC command in format "00:00:00:00" where first two digits
are source and destination, second byte is command and optional other bytes
are command parameters. If raw command specified, other params are ignored.
example: '"10:36"'
selector:
text:
src:
name: Source
description: 'Source of command. Could be decimal number or string with hexadeximal notation: "0x10".'
example: 12 or "0xc"
selector:
text:
standby:
name: Standby
description: Standby all devices which supports it.
update:
name: Update
description: Update devices state from network.
volume:
name: Volume
description: Increase or decrease volume of system.
fields:
down:
name: Down
description: Decreases volume x levels.
example: 3
selector:
number:
min: 1
max: 100
mute:
description: Mutes audio system. Value should be on, off or toggle.
name: Mute
description: Mutes audio system.
example: toggle
selector:
select:
options:
- 'off'
- 'on'
- 'toggle'
up:
name: Up
description: Increases volume x levels.
example: 3
selector:
number:
min: 1
max: 100

View File

@ -1,12 +1,22 @@
sign_in:
name: Sign in
description: Sign the controller in to a HEOS account.
fields:
username:
description: The username or email of the HEOS account. [Required]
name: Username
description: The username or email of the HEOS account.
required: true
example: "example@example.com"
selector:
text:
password:
description: The password of the HEOS account. [Required]
name: Password
description: The password of the HEOS account.
required: true
example: "password"
selector:
text:
sign_out:
name: Sign out
description: Sign the controller out of the HEOS account.

View File

@ -1,2 +1,3 @@
reload:
name: Reload
description: Reload all history_stats entities.

View File

@ -1,35 +1,11 @@
boost_heating:
name: Boost Heating (To be deprecated)
description: To be deprecated please use boost_heating_on.
fields:
entity_id:
name: Entity ID
description: Select entity_id to boost.
required: true
example: climate.heating
time_period:
name: Time Period
description: Set the time period for the boost.
required: true
example: 01:30:00
temperature:
name: Temperature
description: Set the target temperature for the boost period.
required: true
example: 20.5
boost_heating_on:
name: Boost Heating On
description: Set the boost mode ON defining the period of time and the desired target temperature for the boost.
fields:
entity_id:
name: Entity ID
description: Select entity_id to boost.
required: true
example: climate.heating
selector:
target:
entity:
integration: hive
domain: climate
fields:
time_period:
name: Time Period
description: Set the time period for the boost.
@ -40,14 +16,41 @@ boost_heating_on:
temperature:
name: Temperature
description: Set the target temperature for the boost period.
required: true
example: 20.5
default: 25.0
selector:
number:
min: 7
max: 35
step: 0.5
unit_of_measurement: degrees
unit_of_measurement: °
mode: slider
boost_heating_on:
name: Boost Heating On
description: Set the boost mode ON defining the period of time and the desired target temperature for the boost.
target:
entity:
integration: hive
domain: climate
fields:
time_period:
name: Time Period
description: Set the time period for the boost.
required: true
example: 01:30:00
selector:
time:
temperature:
name: Temperature
description: Set the target temperature for the boost period.
example: 20.5
default: 25.0
selector:
number:
min: 7
max: 35
step: 0.5
unit_of_measurement: °
mode: slider
boost_heating_off:
name: Boost Heating Off

View File

@ -1,12 +1,15 @@
# Describes the format for available HomeKit services
start:
name: Start
description: Starts the HomeKit driver
reload:
name: Reload
description: Reload homekit and re-process YAML configuration
reset_accessory:
name: Reset accessory
description: Reset a HomeKit accessory
target:
entity: {}

View File

@ -1,87 +1,193 @@
# Describes the format for available component services
virtualkey:
name: Virtual key
description: Press a virtual key from CCU/Homegear or simulate keypress.
fields:
address:
name: Address
description: Address of homematic device or BidCoS-RF for virtual remote.
required: true
example: BidCoS-RF
selector:
text:
channel:
name: Channel
description: Channel for calling a keypress.
required: true
example: 1
selector:
number:
min: 1
max: 6
param:
name: Param
description: Event to send i.e. PRESS_LONG, PRESS_SHORT.
required: true
example: PRESS_LONG
selector:
text:
interface:
description: (Optional) for set an interface value.
name: Interface
description: Set an interface value.
example: Interfaces name from config
selector:
text:
set_variable_value:
name: Set variable value
description: Set the name of a node.
fields:
entity_id:
name: Entity
description: Name(s) of homematic central to set value.
example: "homematic.ccu2"
selector:
entity:
domain: homematic
name:
name: Name
description: Name of the variable to set.
required: true
example: "testvariable"
selector:
text:
value:
name: Value
description: New value
required: true
example: 1
selector:
text:
set_device_value:
name: Set device value
description: Set a device property on RPC XML interface.
fields:
address:
name: Address
description: Address of homematic device or BidCoS-RF for virtual remote
required: true
example: BidCoS-RF
selector:
text:
channel:
name: Channel
description: Channel for calling a keypress
required: true
example: 1
selector:
number:
min: 1
max: 6
param:
name: Param
description: Event to send i.e. PRESS_LONG, PRESS_SHORT
required: true
example: PRESS_LONG
selector:
text:
interface:
description: (Optional) for set an interface value
name: Interface
description: Set an interface value
example: Interfaces name from config
selector:
text:
value:
name: Value
description: New value
required: true
example: 1
selector:
text:
value_type:
name: Value type
description: Type for new value
selector:
select:
options:
- 'boolean'
- 'dateTime.iso8601'
- 'double'
- 'int'
- 'string'
reconnect:
name: Reconnect
description: Reconnect to all Homematic Hubs.
set_install_mode:
name: Set install mode
description: Set a RPC XML interface into installation mode.
fields:
interface:
name: Interface
description: Select the given interface into install mode
required: true
example: Interfaces name from config
selector:
text:
mode:
description: (Default 1) 1= Normal mode / 2= Remove exists old links
name: Mode
description: 1= Normal mode / 2= Remove exists old links
example: 1
default: 1
selector:
number:
min: 1
max: 2
time:
description: (Default 60) Time in seconds to run in install mode
name: Time
description: Time to run in install mode
example: 1
default: 60
selector:
number:
min: 1
max: 3600
unit_of_measurement: seconds
address:
description: (Optional) Address of homematic device or BidCoS-RF to learn
name: Address
description: Address of homematic device or BidCoS-RF to learn
example: LEQ3948571
selector:
text:
put_paramset:
name: Put paramset
description: Call to putParamset in the RPC XML interface
fields:
interface:
name: Interface
description: The interfaces name from the config
required: true
example: wireless
selector:
text:
address:
name: Address
description: Address of Homematic device
required: true
example: LEQ3948571:0
selector:
text:
paramset_key:
name: Paramset key
description: The paramset_key argument to putParamset
required: true
example: MASTER
selector:
text:
paramset:
name: Paramset
description: A paramset dictionary
required: true
example: '{"WEEK_PROGRAM_POINTER": 1}'
selector:
object:
rx_mode:
name: RX mode
description: The receive mode used.
example: BURST
selector:
text:

View File

@ -1,78 +1,145 @@
# Describes the format for available component services
activate_eco_mode_with_duration:
name: Activate eco mode with duration
description: Activate eco mode with period.
fields:
duration:
name: Duration
description: The duration of eco mode in minutes.
required: true
example: 60
accesspoint_id:
description: The ID of the Homematic IP Access Point (optional)
name: Accesspoint ID
description: The ID of the Homematic IP Access Point
example: 3014xxxxxxxxxxxxxxxxxxxx
selector:
text:
activate_eco_mode_with_period:
name: Activate eco more with period
description: Activate eco mode with period.
fields:
endtime:
name: Endtime
description: The time when the eco mode should automatically be disabled.
required: true
example: 2019-02-17 14:00
selector:
text:
accesspoint_id:
description: The ID of the Homematic IP Access Point (optional)
name: Accesspoint ID
description: The ID of the Homematic IP Access Point
example: 3014xxxxxxxxxxxxxxxxxxxx
selector:
text:
activate_vacation:
name: Activate vacation
description: Activates the vacation mode until the given time.
fields:
endtime:
name: Endtime
description: The time when the vacation mode should automatically be disabled.
required: true
example: 2019-09-17 14:00
selector:
text:
temperature:
name: Temperature
description: the set temperature during the vacation mode.
required: true
example: 18.5
default: 18
selector:
number:
min: 0
max: 55
step: 0.5
unit_of_measurement: '°'
accesspoint_id:
description: The ID of the Homematic IP Access Point (optional)
name: Accesspoint ID
description: The ID of the Homematic IP Access Point
example: 3014xxxxxxxxxxxxxxxxxxxx
selector:
text:
deactivate_eco_mode:
name: Deactivate eco mode
description: Deactivates the eco mode immediately.
fields:
accesspoint_id:
description: The ID of the Homematic IP Access Point (optional)
name: Accesspoint ID
description: The ID of the Homematic IP Access Point
example: 3014xxxxxxxxxxxxxxxxxxxx
selector:
text:
deactivate_vacation:
name: Deactivate vacation
description: Deactivates the vacation mode immediately.
fields:
accesspoint_id:
description: The ID of the Homematic IP Access Point (optional)
name: Accesspoint ID
description: The ID of the Homematic IP Access Point
example: 3014xxxxxxxxxxxxxxxxxxxx
selector:
text:
set_active_climate_profile:
name: Set active climate profile
description: Set the active climate profile index.
fields:
entity_id:
description: The ID of the climte entity. Use 'all' keyword to switch the profile for all entities.
name: Entity
description: The ID of the climate entity. Use 'all' keyword to switch the profile for all entities.
required: true
example: climate.livingroom
selector:
text:
climate_profile_index:
name: Climate profile index
description: The index of the climate profile (1 based)
required: true
example: 1
selector:
number:
min: 1
max: 100
dump_hap_config:
name: Dump hap config
description: Dump the configuration of the Homematic IP Access Point(s).
fields:
config_output_path:
name: Config output path
description: (Default is 'Your home-assistant config directory') Path where to store the config.
example: "/config"
selector:
text:
config_output_file_prefix:
description: (Default is 'hmip-config') Name of the config file. The SGTIN of the AP will always be appended.
name: Config output file prefix
description: Name of the config file. The SGTIN of the AP will always be appended.
example: "hmip-config"
default: "hmip-config"
selector:
text:
anonymize:
description: (Default is True) Should the Configuration be anonymized?
name: Anonymize
description: Should the Configuration be anonymized?
example: true
default: true
selector:
boolean:
reset_energy_counter:
name: Reset energy counter
description: Reset the energy counter of a measuring entity.
fields:
entity_id:
name: Entity
description: The ID of the measuring entity. Use 'all' keyword to reset all energy counters.
required: true
example: switch.livingroom
selector:
text:

View File

@ -1,9 +1,16 @@
dismiss:
name: Dismiss
description: Dismiss a html5 notification.
fields:
target:
description: An array of targets. Optional.
name: Target
description: An array of targets.
example: ["my_phone", "my_tablet"]
selector:
object:
data:
description: Extended information of notification. Supports tag. Optional.
name: Data
description: Extended information of notification. Supports tag.
example: '{ "tag": "tagname" }'
selector:
object:

View File

@ -1,30 +1,46 @@
clear_traffic_statistics:
name: Clear traffic statistics
description: Clear traffic statistics.
fields:
url:
name: URL
description: URL of router to clear; optional when only one is configured.
example: http://192.168.100.1/
selector:
text:
reboot:
name: Reboot
description: Reboot router.
fields:
url:
name: URL
description: URL of router to reboot; optional when only one is configured.
example: http://192.168.100.1/
selector:
text:
resume_integration:
name: Resume integration
description: Resume suspended integration.
fields:
url:
name: URL
description: URL of router to resume integration for; optional when only one is configured.
example: http://192.168.100.1/
selector:
text:
suspend_integration:
name: Suspend integration
description: >
Suspend integration. Suspending logs the integration out from the router, and stops accessing it.
Useful e.g. if accessing the router web interface from another source such as a web browser is temporarily required.
Invoke the resume_integration service to resume.
fields:
url:
name: URL
description: URL of router to resume integration for; optional when only one is configured.
example: http://192.168.100.1/
selector:
text:

View File

@ -1,42 +1,53 @@
# Describes the format for available humidifier services
set_mode:
name: Set mode
description: Set mode for humidifier device.
target:
entity:
domain: humidifier
fields:
entity_id:
description: Name(s) of entities to change.
example: 'humidifier.bedroom'
mode:
description: New mode
required: true
example: 'away'
selector:
text:
set_humidity:
name: Set humidity
description: Set target humidity of humidifier device.
target:
entity:
domain: humidifier
fields:
entity_id:
description: Name(s) of entities to change.
example: 'humidifier.bedroom'
humidity:
description: New target humidity for humidifier device.
required: true
example: 50
selector:
number:
min: 0
max: 100
unit_of_measurement: "%"
turn_on:
name: Turn on
description: Turn humidifier device on.
fields:
entity_id:
description: Name(s) of entities to change.
example: 'humidifier.bedroom'
target:
entity:
domain: humidifier
turn_off:
name: Turn off
description: Turn humidifier device off.
fields:
entity_id:
description: Name(s) of entities to change.
example: 'humidifier.bedroom'
target:
entity:
domain: humidifier
toggle:
name: Toggle
description: Toggles a humidifier device.
fields:
entity_id:
description: Name(s) of entities to toggle.
example: 'humidifier.bedroom'
target:
entity:
domain: humidifier