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
start:
name: Start
description: Start the Remote Python Debugger

View File

@ -1,2 +1,3 @@
randomize_device_tracker_data:
name: Randomize device tracker data
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
get_command:
name: Get command
description: "Send a generic HTTP get command."
target:
entity:
integration: denonavr
domain: media_player
fields:
entity_id:
description: Name(s) of the denonavr entities where to run the API method.
example: "media_player.living_room_receiver"
command:
name: Command
description: Endpoint of the command, including associated parameters.
example: "/goform/formiPhoneAppDirect.xml?RCKSK0410370"
required: true
selector:
text:
set_dynamic_eq:
name: Set dynamic equalizer
description: "Enable or disable DynamicEQ."
target:
entity:
@ -23,6 +30,7 @@ set_dynamic_eq:
selector:
boolean:
update_audyssey:
name: Update audyssey
description: "Update Audyssey settings."
target:
entity:

View File

@ -1,6 +1,10 @@
order:
name: Order
description: Places a set of orders with Dominos Pizza.
fields:
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.
example: dominos.medium_pan
selector:
text:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,25 +1,47 @@
# Describes the format for available Envisalink services.
alarm_keypress:
name: Alarm keypress
description: Send custom keypresses to the alarm.
fields:
entity_id:
name: Entity
description: Name of the alarm control panel to trigger.
required: true
example: "alarm_control_panel.downstairs"
selector:
entity:
integration: envisalink
domain: alarm_control_panel
keypress:
name: Keypress
description: "String to send to the alarm panel (1-6 characters)."
required: true
example: "*71"
selector:
text:
invoke_custom_function:
name: Invoke custom function
description: >
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.
fields:
partition:
name: Partition
description: >
The alarm panel partition to trigger the PGM output on.
Typically this is just "1".
required: true
example: "1"
selector:
text:
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"
selector:
number:
min: 1
max: 4

View File

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

View File

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