Add targets and selectors for services (D-E) (#50190)

This commit is contained in:
tkdrob 2021-05-15 03:25:19 -04:00 committed by GitHub
parent 25b2fd0cee
commit 0eca26607d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 363 additions and 66 deletions

View File

@ -1,3 +1,4 @@
# Describes the format for available Remote Python Debugger services # Describes the format for available Remote Python Debugger services
start: start:
name: Start
description: Start the Remote Python Debugger description: Start the Remote Python Debugger

View File

@ -1,2 +1,3 @@
randomize_device_tracker_data: randomize_device_tracker_data:
name: Randomize device tracker data
description: Demonstrates using a device tracker to see where devices are located description: Demonstrates using a device tracker to see where devices are located

View File

@ -1,15 +1,22 @@
# Describes the format for available denonavr services # Describes the format for available denonavr services
get_command: get_command:
name: Get command
description: "Send a generic HTTP get command." description: "Send a generic HTTP get command."
target:
entity:
integration: denonavr
domain: media_player
fields: fields:
entity_id:
description: Name(s) of the denonavr entities where to run the API method.
example: "media_player.living_room_receiver"
command: command:
name: Command
description: Endpoint of the command, including associated parameters. description: Endpoint of the command, including associated parameters.
example: "/goform/formiPhoneAppDirect.xml?RCKSK0410370" example: "/goform/formiPhoneAppDirect.xml?RCKSK0410370"
required: true
selector:
text:
set_dynamic_eq: set_dynamic_eq:
name: Set dynamic equalizer
description: "Enable or disable DynamicEQ." description: "Enable or disable DynamicEQ."
target: target:
entity: entity:
@ -23,6 +30,7 @@ set_dynamic_eq:
selector: selector:
boolean: boolean:
update_audyssey: update_audyssey:
name: Update audyssey
description: "Update Audyssey settings." description: "Update Audyssey settings."
target: target:
entity: entity:

View File

@ -1,6 +1,10 @@
order: order:
name: Order
description: Places a set of orders with Dominos Pizza. description: Places a set of orders with Dominos Pizza.
fields: fields:
order_entity_id: order_entity_id:
name: Order Entity
description: The ID (as specified in the configuration) of an order to place. If provided as an array, all of the identified orders will be placed. description: The ID (as specified in the configuration) of an order to place. If provided as an array, all of the identified orders will be placed.
example: dominos.medium_pan example: dominos.medium_pan
selector:
text:

View File

@ -1,6 +1,11 @@
set_txt: set_txt:
name: Set TXT
description: Set the TXT record of your DuckDNS subdomain. description: Set the TXT record of your DuckDNS subdomain.
fields: fields:
txt: txt:
name: TXT
description: Payload for the TXT record. description: Payload for the TXT record.
required: true
example: "This domain name is reserved for use in documentation" example: "This domain name is reserved for use in documentation"
selector:
text:

View File

@ -1,26 +1,54 @@
request_area_preset: request_area_preset:
name: Request area preset
description: "Requests Dynalite to report the preset for an area." description: "Requests Dynalite to report the preset for an area."
fields: fields:
host: host:
description: "Host gateway IP to send to or all configured gateways if not specified." description: "Host gateway IP to send to or all configured gateways if not specified."
example: "192.168.0.101" example: "192.168.0.101"
selector:
text:
area: area:
description: "Area to request the preset reported" description: "Area to request the preset reported"
required: true
example: 2 example: 2
selector:
number:
min: 1
max: 9999
channel: channel:
description: "Channel to request the preset to be reported from. Default is channel 1" description: "Channel to request the preset to be reported from."
example: 1 example: 1
default: 1
selector:
number:
min: 1
max: 9999
request_channel_level: request_channel_level:
name: Request channel level
description: "Requests Dynalite to report the level of a specific channel." description: "Requests Dynalite to report the level of a specific channel."
fields: fields:
host: host:
name: Host
description: "Host gateway IP to send to or all configured gateways if not specified." description: "Host gateway IP to send to or all configured gateways if not specified."
example: "192.168.0.101" example: "192.168.0.101"
selector:
text:
area: area:
name: Area
description: "Area for the requested channel" description: "Area for the requested channel"
required: true
example: 2 example: 2
selector:
number:
min: 1
max: 9999
channel: channel:
name: Channel
description: "Channel to request the level for." description: "Channel to request the level for."
required: true
example: 1 example: 1
selector:
number:
min: 1
max: 9999

View File

@ -1,64 +1,115 @@
# Describes the format for available fan services # Describes the format for available fan services
set_night_mode: set_night_mode:
name: Set night mode
description: Set the fan in night mode. description: Set the fan in night mode.
target:
entity:
integration: dyson
domain: fan
fields: fields:
entity_id:
description: Name(s) of the entities to enable/disable night mode
example: "fan.living_room"
night_mode: night_mode:
name: Night mode
description: Night mode status description: Night mode status
required: true
example: true example: true
selector:
boolean:
set_auto_mode: set_auto_mode:
name: Set auto mode
description: Set the fan in auto mode. description: Set the fan in auto mode.
target:
entity:
integration: dyson
domain: fan
fields: fields:
entity_id:
description: Name(s) of the entities to enable/disable auto mode
example: "fan.living_room"
auto_mode: auto_mode:
name: Auto Mode
description: Auto mode status description: Auto mode status
required: true
example: true example: true
selector:
boolean:
set_angle: set_angle:
name: Set angle
description: Set the oscillation angle of the selected fan(s). description: Set the oscillation angle of the selected fan(s).
target:
entity:
integration: dyson
domain: fan
fields: fields:
entity_id:
description: Name(s) of the entities for which to set the angle
example: "fan.living_room"
angle_low: angle_low:
name: Angle low
description: The angle at which the oscillation should start description: The angle at which the oscillation should start
required: true
example: 1 example: 1
selector:
number:
min: 5
max: 355
unit_of_measurement: '°'
angle_high: angle_high:
name: Angle high
description: The angle at which the oscillation should end description: The angle at which the oscillation should end
required: true
example: 255 example: 255
selector:
number:
min: 5
max: 355
unit_of_measurement: '°'
set_flow_direction_front: set_flow_direction_front:
name: Set flow direction front
description: Set the fan flow direction. description: Set the fan flow direction.
target:
entity:
integration: dyson
domain: fan
fields: fields:
entity_id:
description: Name(s) of the entities to set frontal flow direction for
example: "fan.living_room"
flow_direction_front: flow_direction_front:
name: Flow direction front
description: Frontal flow direction description: Frontal flow direction
required: true
example: true example: true
selector:
boolean:
set_timer: set_timer:
name: Set timer
description: Set the sleep timer. description: Set the sleep timer.
target:
entity:
integration: dyson
domain: fan
fields: fields:
entity_id:
description: Name(s) of the entities to set the sleep timer for
example: "fan.living_room"
timer: timer:
name: Timer
description: The value in minutes to set the timer to, 0 to disable it description: The value in minutes to set the timer to, 0 to disable it
required: true
example: 30 example: 30
selector:
number:
min: 0
max: 720
unit_of_measurement: minutes
set_speed: set_speed:
name: Set speed
description: Set the exact speed of the fan. description: Set the exact speed of the fan.
target:
entity:
integration: dyson
domain: fan
fields: fields:
entity_id:
description: Name(s) of the entities to set the speed for
example: "fan.living_room"
dyson_speed: dyson_speed:
name: Speed
description: Speed description: Speed
required: true
example: 1 example: 1
selector:
number:
min: 1
max: 10

View File

@ -1,6 +1,11 @@
write: write:
name: Write
description: Call ebusd write command. description: Call ebusd write command.
fields: fields:
call: call:
name: Call
description: Property name and value to set description: Property name and value to set
required: true
example: '{"name": "Hc1MaxFlowTempDesired", "value": 21}' example: '{"name": "Hc1MaxFlowTempDesired", "value": 21}'
selector:
object:

View File

@ -1,12 +1,33 @@
heat_set: heat_set:
name: Heat set
description: Set heating/cooling level for eight sleep. description: Set heating/cooling level for eight sleep.
fields: fields:
duration: duration:
name: Duration
description: Duration to heat/cool at the target level in seconds. description: Duration to heat/cool at the target level in seconds.
required: true
example: 3600 example: 3600
selector:
number:
min: 0
max: 28800
unit_of_measurement: seconds
entity_id: entity_id:
name: Entity
description: Entity id of the bed state to adjust. description: Entity id of the bed state to adjust.
required: true
example: sensor.eight_left_bed_state example: sensor.eight_left_bed_state
selector:
entity:
integration: eight_sleep
domain: sensor
target: target:
name: Target
description: Target cooling/heating level from -100 to 100. description: Target cooling/heating level from -100 to 100.
required: true
example: 35 example: 35
selector:
number:
min: -100
max: 100
unit_of_measurement: '°'

View File

@ -1,126 +1,228 @@
alarm_bypass: alarm_bypass:
name: Alarm bypass
description: Bypass all zones for the area. description: Bypass all zones for the area.
target:
entity:
integration: elkm1
domain: alarm_control_panel
fields: fields:
entity_id:
description: Name of alarm control panel to bypass.
example: "alarm_control_panel.main"
code: code:
name: Code
description: An code to authorize the bypass of the alarm control panel. description: An code to authorize the bypass of the alarm control panel.
required: true
example: 4242 example: 4242
selector:
text:
alarm_clear_bypass: alarm_clear_bypass:
name: Alarm clear bypass
description: Remove bypass on all zones for the area. description: Remove bypass on all zones for the area.
target:
entity:
integration: elkm1
domain: alarm_control_panel
fields: fields:
entity_id:
description: Name of alarm control panel to clear bypass.
example: "alarm_control_panel.main"
code: code:
name: Code
description: An code to authorize the bypass clear of the alarm control panel. description: An code to authorize the bypass clear of the alarm control panel.
required: true
example: 4242 example: 4242
selector:
text:
alarm_arm_home_instant: alarm_arm_home_instant:
name: Alarm are home instant
description: Arm the ElkM1 in home instant mode. description: Arm the ElkM1 in home instant mode.
target:
entity:
integration: elkm1
domain: alarm_control_panel
fields: fields:
entity_id:
description: Name of alarm control panel to arm.
example: "alarm_control_panel.main"
code: code:
name: Code
description: An code to arm the alarm control panel. description: An code to arm the alarm control panel.
required: true
example: 1234 example: 1234
selector:
text:
alarm_arm_night_instant: alarm_arm_night_instant:
name: Alarm arm night instant
description: Arm the ElkM1 in night instant mode. description: Arm the ElkM1 in night instant mode.
target:
entity:
integration: elkm1
domain: alarm_control_panel
fields: fields:
entity_id:
description: Name of alarm control panel to arm.
example: "alarm_control_panel.main"
code: code:
name: Code
description: An code to arm the alarm control panel. description: An code to arm the alarm control panel.
required: true
example: 1234 example: 1234
selector:
text:
alarm_arm_vacation: alarm_arm_vacation:
name: Alarm arm vacation
description: Arm the ElkM1 in vacation mode. description: Arm the ElkM1 in vacation mode.
target:
entity:
integration: elkm1
domain: alarm_control_panel
fields: fields:
entity_id:
description: Name of alarm control panel to arm.
example: "alarm_control_panel.main"
code: code:
name: Code
description: An code to arm the alarm control panel. description: An code to arm the alarm control panel.
required: true
example: 1234 example: 1234
selector:
text:
alarm_display_message: alarm_display_message:
name: Alarm display message
description: Display a message on all of the ElkM1 keypads for an area. description: Display a message on all of the ElkM1 keypads for an area.
target:
entity:
integration: elkm1
domain: alarm_control_panel
fields: fields:
entity_id:
description: Name of alarm control panel to display messages on.
example: "alarm_control_panel.main"
clear: clear:
description: 0=clear message, 1=clear message with * key, 2=Display until timeout; default 2 name: Clear
description: 0=clear message, 1=clear message with * key, 2=Display until timeout
example: 1 example: 1
default: 2
selector:
number:
min: 0
max: 2
beep: beep:
description: 0=no beep, 1=beep; default 0 name: Beep
description: 0=no beep, 1=beep
example: 1 example: 1
default: 0
selector:
boolean:
timeout: timeout:
description: Time to display message, 0=forever, max 65535, default 0 name: Timeout
description: Time to display message, 0=forever, max 65535
example: 4242 example: 4242
default: 0
selector:
number:
min: 0
max: 65535
line1: line1:
description: Up to 16 characters of text (truncated if too long). Default blank. name: Line 1
example: The answer to life, description: Up to 16 characters of text (truncated if too long).
example: The answer to life.
default: ''
selector:
text:
line2: line2:
description: Up to 16 characters of text (truncated if too long). Default blank. name: Line 2
description: Up to 16 characters of text (truncated if too long).
example: the universe, and everything. example: the universe, and everything.
default: ''
selector:
text:
set_time: set_time:
name: Set time
description: Set the time for the panel. description: Set the time for the panel.
fields: fields:
prefix: prefix:
name: Prefix
description: Prefix for the panel. description: Prefix for the panel.
example: gatehouse example: gatehouse
selector:
text:
speak_phrase: speak_phrase:
name: Speak phrase
description: Speak a phrase. See list of phrases in ElkM1 ASCII Protocol documentation. description: Speak a phrase. See list of phrases in ElkM1 ASCII Protocol documentation.
fields: fields:
number: number:
name: Phrase number
description: Phrase number to speak. description: Phrase number to speak.
required: true
example: 42 example: 42
selector:
text:
prefix:
name: Prefix
description: Prefix to identify panel when multiple panels configured.
example: gatehouse
default: ""
selector:
text:
speak_word: speak_word:
name: Speak word
description: Speak a word. See list of words in ElkM1 ASCII Protocol documentation. description: Speak a word. See list of words in ElkM1 ASCII Protocol documentation.
fields: fields:
number: number:
name: Word number
description: Word number to speak. description: Word number to speak.
required: true
example: 142 example: 142
selector:
number:
min: 1
max: 473
prefix:
name: Prefix
description: Prefix to identify panel when multiple panels configured.
example: gatehouse
default: ""
selector:
text:
sensor_counter_refresh: sensor_counter_refresh:
name: Sensor counter refresh
description: Refresh the value of a counter from the panel. description: Refresh the value of a counter from the panel.
fields: target:
entity_id: entity:
description: Name of counter to refresh. integration: elkm1
example: "sensor.counting_sheep" domain: sensor
sensor_counter_set: sensor_counter_set:
name: Sensor counter set
description: Set the value of a counter on the panel. description: Set the value of a counter on the panel.
target:
entity:
integration: elkm1
domain: sensor
fields: fields:
entity_id:
description: Name of counter to set.
example: "sensor.test42"
value: value:
name: Value
description: Value to set the counter to. description: Value to set the counter to.
required: true
example: 4242 example: 4242
selector:
number:
min: 0
max: 65536
sensor_zone_bypass: sensor_zone_bypass:
name: Sensor zone bypass
description: Bypass zone. description: Bypass zone.
target:
entity:
integration: elkm1
domain: sensor
fields: fields:
entity_id:
description: Name of zone to bypass.
example: "sensor.window42"
code: code:
name: Code
description: An code to authorize the bypass of the zone. description: An code to authorize the bypass of the zone.
required: true
example: 4242 example: 4242
selector:
text:
sensor_zone_trigger: sensor_zone_trigger:
name: Sensor zone trigger
description: Trigger zone. description: Trigger zone.
fields: target:
entity_id: entity:
description: Name of zone to trigger. integration: elkm1
example: "sensor.motion42" domain: sensor

View File

@ -1,25 +1,47 @@
# Describes the format for available Envisalink services. # Describes the format for available Envisalink services.
alarm_keypress: alarm_keypress:
name: Alarm keypress
description: Send custom keypresses to the alarm. description: Send custom keypresses to the alarm.
fields: fields:
entity_id: entity_id:
name: Entity
description: Name of the alarm control panel to trigger. description: Name of the alarm control panel to trigger.
required: true
example: "alarm_control_panel.downstairs" example: "alarm_control_panel.downstairs"
selector:
entity:
integration: envisalink
domain: alarm_control_panel
keypress: keypress:
name: Keypress
description: "String to send to the alarm panel (1-6 characters)." description: "String to send to the alarm panel (1-6 characters)."
required: true
example: "*71" example: "*71"
selector:
text:
invoke_custom_function: invoke_custom_function:
name: Invoke custom function
description: > description: >
Allows users with DSC panels to trigger a PGM output (1-4). Allows users with DSC panels to trigger a PGM output (1-4).
Note that you need to specify the alarm panel's "code" parameter for this to work. Note that you need to specify the alarm panel's "code" parameter for this to work.
fields: fields:
partition: partition:
name: Partition
description: > description: >
The alarm panel partition to trigger the PGM output on. The alarm panel partition to trigger the PGM output on.
Typically this is just "1". Typically this is just "1".
required: true
example: "1" example: "1"
selector:
text:
pgm: pgm:
description: The PGM number to trigger on the alarm panel. This will be 1-4. name: PGM
description: The PGM number to trigger on the alarm panel.
required: true
example: "2" example: "2"
selector:
number:
min: 1
max: 4

View File

@ -1,9 +1,15 @@
select_cmode: select_cmode:
name: Select color mode
description: Select Color mode of Epson projector description: Select Color mode of Epson projector
target:
entity:
integration: epson
domain: media_player
fields: fields:
entity_id:
description: Name of projector
example: "media_player.epson_projector"
cmode: cmode:
name: Color mode
description: Name of Cmode description: Name of Cmode
required: true
example: "cinema" example: "cinema"
selector:
text:

View File

@ -2,52 +2,95 @@
# Describes the format for available services # Describes the format for available services
set_system_mode: set_system_mode:
name: Set system mode
description: >- description: >-
Set the system mode, either indefinitely, or for a specified period of time, after Set the system mode, either indefinitely, or for a specified period of time, after
which it will revert to Auto. Not all systems support all modes. which it will revert to Auto. Not all systems support all modes.
fields: fields:
mode: mode:
description: "One of: Auto, AutoWithEco, Away, DayOff, HeatingOff, or Custom." name: Mode
description: "Mode to set thermostat."
example: Away example: Away
selector:
select:
options:
- 'Auto'
- 'AutoWithEco'
- 'Away'
- 'Custom'
- 'DayOff'
- 'HeatingOff'
period: period:
name: Period
description: >- description: >-
A period of time in days; used only with Away, DayOff, or Custom. The system A period of time in days; used only with Away, DayOff, or Custom. The system
will revert to Auto at midnight (up to 99 days, today is day 1). will revert to Auto at midnight (up to 99 days, today is day 1).
example: '{"days": 28}' example: '{"days": 28}'
selector:
object:
duration: duration:
name: Duration
description: The duration in hours; used only with AutoWithEco (up to 24 hours). description: The duration in hours; used only with AutoWithEco (up to 24 hours).
example: '{"hours": 18}' example: '{"hours": 18}'
selector:
object:
reset_system: reset_system:
name: Reset system
description: >- description: >-
Set the system to Auto mode and reset all the zones to follow their schedules. Set the system to Auto mode and reset all the zones to follow their schedules.
Not all Evohome systems support this feature (i.e. AutoWithReset mode). Not all Evohome systems support this feature (i.e. AutoWithReset mode).
refresh_system: refresh_system:
name: Refresh system
description: >- description: >-
Pull the latest data from the vendor's servers now, rather than waiting for the Pull the latest data from the vendor's servers now, rather than waiting for the
next scheduled update. next scheduled update.
set_zone_override: set_zone_override:
name: Set zone override
description: >- description: >-
Override a zone's setpoint, either indefinitely, or for a specified period of Override a zone's setpoint, either indefinitely, or for a specified period of
time, after which it will revert to following its schedule. time, after which it will revert to following its schedule.
fields: fields:
entity_id: entity_id:
name: Entity
description: The entity_id of the Evohome zone. description: The entity_id of the Evohome zone.
required: true
example: climate.bathroom example: climate.bathroom
selector:
entity:
integration: evohome
domain: climate
setpoint: setpoint:
name: Setpoint
description: The temperature to be used instead of the scheduled setpoint. description: The temperature to be used instead of the scheduled setpoint.
required: true
example: 5.0 example: 5.0
selector:
number:
min: 4.0
max: 35.0
step: 0.1
duration: duration:
name: Duration
description: >- description: >-
The zone will revert to its schedule after this time. If 0 the change is until The zone will revert to its schedule after this time. If 0 the change is until
the next scheduled setpoint. the next scheduled setpoint.
example: '{"minutes": 135}' example: '{"minutes": 135}'
selector:
object:
clear_zone_override: clear_zone_override:
name: Clear zone override
description: Set a zone to follow its schedule. description: Set a zone to follow its schedule.
fields: fields:
entity_id: entity_id:
name: Entity
description: The entity_id of the zone. description: The entity_id of the zone.
required: true
example: climate.bathroom example: climate.bathroom
selector:
entity:
integration: evohome
domain: climate