Migrate integration services (L-M) to support translations (#96374)

This commit is contained in:
Franck Nijhof 2023-07-12 00:24:16 +02:00 committed by GitHub
parent ea3be7a789
commit 0329378f2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 947 additions and 403 deletions

View File

@ -1,19 +1,13 @@
# Describes the format for available LCN services
output_abs:
name: Output absolute brightness
description: Set absolute brightness of output port in percent.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
output:
name: Output
description: Output port
required: true
selector:
select:
@ -23,8 +17,6 @@ output_abs:
- "output3"
- "output4"
brightness:
name: Brightness
description: Absolute brightness.
required: true
selector:
number:
@ -32,8 +24,6 @@ output_abs:
max: 100
unit_of_measurement: "%"
transition:
name: Transition
description: Transition time.
default: 0
selector:
number:
@ -43,19 +33,13 @@ output_abs:
unit_of_measurement: seconds
output_rel:
name: Output relative brightness
description: Set relative brightness of output port in percent.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
output:
name: Output
description: Output port
required: true
selector:
select:
@ -65,8 +49,6 @@ output_rel:
- "output3"
- "output4"
brightness:
name: Brightness
description: Relative brightness.
required: true
selector:
number:
@ -75,19 +57,13 @@ output_rel:
unit_of_measurement: "%"
output_toggle:
name: Toggle output
description: Toggle output port.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
output:
name: Output
description: Output port
required: true
selector:
select:
@ -97,8 +73,6 @@ output_toggle:
- "output3"
- "output4"
transition:
name: Transition
description: Transition time.
default: 0
selector:
number:
@ -108,38 +82,26 @@ output_toggle:
unit_of_measurement: seconds
relays:
name: Relays
description: Set the relays status.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
state:
name: State
description: Relays states as string (1=on, 2=off, t=toggle, -=no change)
required: true
example: "t---001-"
selector:
text:
led:
name: LED
description: Set the led state.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
led:
name: LED
description: Led
required: true
selector:
select:
@ -157,8 +119,6 @@ led:
- "led11"
- "led12"
state:
name: State
description: Led state
required: true
selector:
select:
@ -169,19 +129,13 @@ led:
- "on"
var_abs:
name: Set absolute variable
description: Set absolute value of a variable or setpoint.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
variable:
name: Variable
description: Variable or setpoint name
required: true
default: native
selector:
@ -208,16 +162,12 @@ var_abs:
- "var11"
- "var12"
value:
name: Value
description: Value to set.
default: 0
selector:
number:
min: 0
max: 100000
unit_of_measurement:
name: Unit of measurement
description: Unit of value.
selector:
select:
options:
@ -246,19 +196,13 @@ var_abs:
- "volt"
var_reset:
name: Reset variable
description: Reset value of variable or setpoint.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
variable:
name: Variable
description: Variable or setpoint name.
required: true
selector:
select:
@ -285,19 +229,13 @@ var_reset:
- "var12"
var_rel:
name: Shift variable
description: Shift value of a variable, setpoint or threshold.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
variable:
name: Variable
description: Variable or setpoint name
required: true
selector:
select:
@ -340,16 +278,12 @@ var_rel:
- "var11"
- "var12"
value:
name: Value
description: Shift value
default: 0
selector:
number:
min: 0
max: 100000
unit_of_measurement:
name: Unit of measurement
description: Unit of value
default: native
selector:
select:
@ -378,8 +312,6 @@ var_rel:
- "v"
- "volt"
value_reference:
name: Reference value
description: Reference value for setpoint and threshold
default: current
selector:
select:
@ -388,19 +320,13 @@ var_rel:
- "prog"
lock_regulator:
name: Lock regulator
description: Lock a regulator setpoint.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
setpoint:
name: Setpoint
description: Setpoint name
required: true
selector:
select:
@ -423,33 +349,23 @@ lock_regulator:
- "thrs4_3"
- "thrs4_4"
state:
name: State
description: New setpoint state
default: false
selector:
boolean:
send_keys:
name: Send keys
description: Send keys (which executes bound commands).
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
keys:
name: Keys
description: Keys to send
required: true
example: "a1a5d8"
selector:
text:
state:
name: State
description: "Key state upon sending (must be hit for deferred)"
default: hit
selector:
select:
@ -459,16 +375,12 @@ send_keys:
- "break"
- "dontsend"
time:
name: Time
description: Send delay.
default: 0
selector:
number:
min: 0
max: 60
time_unit:
name: Time unit
description: Time unit of send delay.
default: s
selector:
select:
@ -489,41 +401,29 @@ send_keys:
- "seconds"
lock_keys:
name: Lock keys
description: Lock keys.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
table:
name: Table
description: "Table with keys to lock (must be A for interval)."
example: "a"
default: a
selector:
text:
state:
name: State
description: Key lock states as string (1=on, 2=off, T=toggle, -=nochange)
required: true
example: "1---t0--"
selector:
text:
time:
name: Time
description: Lock interval.
default: 0
selector:
number:
min: 0
max: 60
time_unit:
name: Time unit
description: Time unit of lock interval.
default: s
selector:
select:
@ -544,46 +444,32 @@ lock_keys:
- "seconds"
dyn_text:
name: Dynamic text
description: Send dynamic text to LCN-GTxD displays.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
row:
name: Row
description: Text row.
required: true
selector:
number:
min: 1
max: 4
text:
name: Text
description: Text to send (up to 60 characters encoded as UTF-8)
required: true
example: "text up to 60 characters"
selector:
text:
pck:
name: PCK
description: Send arbitrary PCK command.
fields:
address:
name: Address
description: Module address
required: true
example: "myhome.s0.m7"
selector:
text:
pck:
name: PCK
description: PCK command (without address header)
required: true
example: "PIN4"
selector:

View File

@ -7,5 +7,261 @@
"codelock": "Code lock code received",
"send_keys": "Send keys received"
}
},
"services": {
"output_abs": {
"name": "Output absolute brightness",
"description": "Sets absolute brightness of output port in percent.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"output": {
"name": "Output",
"description": "Output port."
},
"brightness": {
"name": "Brightness",
"description": "Absolute brightness."
},
"transition": {
"name": "Transition",
"description": "Transition time."
}
}
},
"output_rel": {
"name": "Output relative brightness",
"description": "Sets relative brightness of output port in percent.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"output": {
"name": "Output",
"description": "Output port."
},
"brightness": {
"name": "Brightness",
"description": "Relative brightness."
}
}
},
"output_toggle": {
"name": "Toggle output",
"description": "Toggles output port.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"output": {
"name": "Output",
"description": "Output port."
},
"transition": {
"name": "Transition",
"description": "Transition time."
}
}
},
"relays": {
"name": "Relays",
"description": "Sets the relays status.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"state": {
"name": "State",
"description": "Relays states as string (1=on, 2=off, t=toggle, -=no change)."
}
}
},
"led": {
"name": "LED",
"description": "Sets the led state.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"led": {
"name": "LED",
"description": "Led."
},
"state": {
"name": "State",
"description": "Led state."
}
}
},
"var_abs": {
"name": "Set absolute variable",
"description": "Sets absolute value of a variable or setpoint.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"variable": {
"name": "Variable",
"description": "Variable or setpoint name."
},
"value": {
"name": "Value",
"description": "Value to set."
},
"unit_of_measurement": {
"name": "Unit of measurement",
"description": "Unit of value."
}
}
},
"var_reset": {
"name": "Reset variable",
"description": "Resets value of variable or setpoint.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"variable": {
"name": "Variable",
"description": "Variable or setpoint name."
}
}
},
"var_rel": {
"name": "Shift variable",
"description": "Shift value of a variable, setpoint or threshold.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"variable": {
"name": "Variable",
"description": "Variable or setpoint name."
},
"value": {
"name": "Value",
"description": "Shift value."
},
"unit_of_measurement": {
"name": "Unit of measurement",
"description": "Unit of value."
},
"value_reference": {
"name": "Reference value",
"description": "Reference value for setpoint and threshold."
}
}
},
"lock_regulator": {
"name": "Lock regulator",
"description": "Locks a regulator setpoint.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"setpoint": {
"name": "Setpoint",
"description": "Setpoint name."
},
"state": {
"name": "State",
"description": "New setpoint state."
}
}
},
"send_keys": {
"name": "Send keys",
"description": "Sends keys (which executes bound commands).",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"keys": {
"name": "Keys",
"description": "Keys to send."
},
"state": {
"name": "State",
"description": "Key state upon sending (must be hit for deferred)."
},
"time": {
"name": "Time",
"description": "Send delay."
},
"time_unit": {
"name": "Time unit",
"description": "Time unit of send delay."
}
}
},
"lock_keys": {
"name": "Lock keys",
"description": "Locks keys.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"table": {
"name": "Table",
"description": "Table with keys to lock (must be A for interval)."
},
"state": {
"name": "State",
"description": "Key lock states as string (1=on, 2=off, T=toggle, -=nochange)."
},
"time": {
"name": "Time",
"description": "Lock interval."
},
"time_unit": {
"name": "Time unit",
"description": "Time unit of lock interval."
}
}
},
"dyn_text": {
"name": "Dynamic text",
"description": "Sends dynamic text to LCN-GTxD displays.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"row": {
"name": "Row",
"description": "Text row."
},
"text": {
"name": "Text",
"description": "Text to send (up to 60 characters encoded as UTF-8)."
}
}
},
"pck": {
"name": "PCK",
"description": "Sends arbitrary PCK command.",
"fields": {
"address": {
"name": "Address",
"description": "Module address."
},
"pck": {
"name": "PCK",
"description": "PCK command (without address header)."
}
}
}
}
}

View File

@ -1,21 +1,15 @@
set_hev_cycle_state:
name: Set HEV cycle state
description: Control the HEV LEDs on a LIFX Clean bulb.
target:
entity:
integration: lifx
domain: light
fields:
power:
name: enable
description: Start or stop a Clean cycle.
required: true
example: true
selector:
boolean:
duration:
name: Duration
description: How long the HEV LEDs will remain on. Uses the configured default duration if not specified.
required: false
default: 7200
example: 3600
@ -25,51 +19,37 @@ set_hev_cycle_state:
max: 86400
unit_of_measurement: seconds
set_state:
name: Set State
description: Set a color/brightness and possibly turn the light on/off.
target:
entity:
integration: lifx
domain: light
fields:
infrared:
name: infrared
description: Automatic infrared level when light brightness is low.
selector:
number:
min: 0
max: 255
zones:
name: Zones
description: List of zone numbers to affect (8 per LIFX Z, starts at 0).
example: "[0,5]"
selector:
object:
transition:
name: Transition
description: Duration it takes to get to the final state.
selector:
number:
min: 0
max: 3600
unit_of_measurement: seconds
power:
name: Power
description: Turn the light on or off. Leave out to keep the power as it is.
selector:
boolean:
effect_pulse:
name: Pulse effect
description: Run a flash effect by changing to a color and back.
target:
entity:
integration: lifx
domain: light
fields:
mode:
name: Mode
description: "Decides how colors are changed."
selector:
select:
options:
@ -79,35 +59,25 @@ effect_pulse:
- "strobe"
- "solid"
brightness:
name: Brightness value
description: Number indicating brightness of the temporary color, where 1 is the minimum brightness and 255 is the maximum brightness supported by the light.
selector:
number:
min: 1
max: 255
brightness_pct:
name: Brightness
description: Percentage indicating the brightness of the temporary color, where 1 is the minimum brightness and 100 is the maximum brightness supported by the light.
selector:
number:
min: 1
max: 100
unit_of_measurement: "%"
color_name:
name: Color name
description: A human readable color name.
example: "red"
selector:
text:
rgb_color:
name: RGB color
description: The temporary color in RGB-format.
example: "[255, 100, 100]"
selector:
object:
period:
name: Period
description: Duration of the effect.
default: 1.0
selector:
number:
@ -116,46 +86,34 @@ effect_pulse:
step: 0.05
unit_of_measurement: seconds
cycles:
name: Cycles
description: Number of times the effect should run.
default: 1
selector:
number:
min: 1
max: 10000
power_on:
name: Power on
description: Powered off lights are temporarily turned on during the effect.
default: true
selector:
boolean:
effect_colorloop:
name: Color loop effect
description: Run an effect with looping colors.
target:
entity:
integration: lifx
domain: light
fields:
brightness:
name: Brightness value
description: Number indicating brightness of the color loop, where 1 is the minimum brightness and 255 is the maximum brightness supported by the light.
selector:
number:
min: 0
max: 255
brightness_pct:
name: Brightness
description: Percentage indicating the brightness of the color loop, where 1 is the minimum brightness and 100 is the maximum brightness supported by the light.
selector:
number:
min: 0
max: 100
unit_of_measurement: "%"
saturation_min:
name: Minimum saturation
description: Percentage indicating the minimum saturation of the colors in the loop.
default: 80
selector:
number:
@ -163,8 +121,6 @@ effect_colorloop:
max: 100
unit_of_measurement: "%"
saturation_max:
name: Maximum saturation
description: Percentage indicating the maximum saturation of the colors in the loop.
default: 100
selector:
number:
@ -172,8 +128,6 @@ effect_colorloop:
max: 100
unit_of_measurement: "%"
period:
name: Period
description: Duration between color changes.
default: 60
selector:
number:
@ -182,8 +136,6 @@ effect_colorloop:
step: 0.05
unit_of_measurement: seconds
change:
name: Change
description: Hue movement per period, in degrees on a color wheel.
default: 20
selector:
number:
@ -191,8 +143,6 @@ effect_colorloop:
max: 360
unit_of_measurement: "°"
spread:
name: Spread
description: Maximum hue difference between participating lights, in degrees on a color wheel.
default: 30
selector:
number:
@ -200,22 +150,16 @@ effect_colorloop:
max: 360
unit_of_measurement: "°"
power_on:
name: Power on
description: Powered off lights are temporarily turned on during the effect.
default: true
selector:
boolean:
effect_move:
name: Move effect
description: Start the firmware-based Move effect on a LIFX Z, Lightstrip or Beam.
target:
entity:
integration: lifx
domain: light
fields:
speed:
name: Speed
description: How long in seconds for the effect to move across the length of the light.
default: 3.0
example: 3.0
selector:
@ -225,8 +169,6 @@ effect_move:
step: 0.1
unit_of_measurement: seconds
direction:
name: Direction
description: Direction the effect will move across the device.
default: right
example: right
selector:
@ -236,8 +178,6 @@ effect_move:
- right
- left
theme:
name: Theme
description: (Optional) set one of the predefined themes onto the device before starting the effect.
example: exciting
default: exciting
selector:
@ -269,22 +209,16 @@ effect_move:
- "tranquil"
- "warming"
power_on:
name: Power on
description: Powered off lights will be turned on before starting the effect.
default: true
selector:
boolean:
effect_flame:
name: Flame effect
description: Start the firmware-based Flame effect on LIFX Tiles or Candle.
target:
entity:
integration: lifx
domain: light
fields:
speed:
name: Speed
description: How fast the flames will move.
default: 3
selector:
number:
@ -293,22 +227,16 @@ effect_flame:
step: 1
unit_of_measurement: seconds
power_on:
name: Power on
description: Powered off lights will be turned on before starting the effect.
default: true
selector:
boolean:
effect_morph:
name: Morph effect
description: Start the firmware-based Morph effect on LIFX Tiles on Candle.
target:
entity:
integration: lifx
domain: light
fields:
speed:
name: Speed
description: How fast the colors will move.
default: 3
selector:
number:
@ -317,15 +245,11 @@ effect_morph:
step: 1
unit_of_measurement: seconds
palette:
name: Palette
description: List of at least 2 and at most 16 colors as hue (0-360), saturation (0-100), brightness (0-100) and kelvin (1500-900) values to use for this effect. Overrides the theme attribute.
example:
- "[[0, 100, 100, 3500], [60, 100, 100, 3500]]"
selector:
object:
theme:
name: Theme
description: Predefined color theme to use for the effect. Overridden by the palette attribute.
selector:
select:
options:
@ -354,14 +278,10 @@ effect_morph:
- "tranquil"
- "warming"
power_on:
name: Power on
description: Powered off lights will be turned on before starting the effect.
default: true
selector:
boolean:
effect_stop:
name: Stop effect
description: Stop a running effect.
target:
entity:
integration: lifx

View File

@ -45,5 +45,181 @@
"name": "RSSI"
}
}
},
"services": {
"set_hev_cycle_state": {
"name": "Set HEV cycle state",
"description": "Controls the HEV LEDs on a LIFX Clean bulb.",
"fields": {
"power": {
"name": "Enable",
"description": "Start or stop a Clean cycle."
},
"duration": {
"name": "Duration",
"description": "How long the HEV LEDs will remain on. Uses the configured default duration if not specified."
}
}
},
"set_state": {
"name": "Set State",
"description": "Sets a color/brightness and possibly turn the light on/off.",
"fields": {
"infrared": {
"name": "Infrared",
"description": "Automatic infrared level when light brightness is low."
},
"zones": {
"name": "Zones",
"description": "List of zone numbers to affect (8 per LIFX Z, starts at 0)."
},
"transition": {
"name": "Transition",
"description": "Duration it takes to get to the final state."
},
"power": {
"name": "Power",
"description": "Turn the light on or off. Leave out to keep the power as it is."
}
}
},
"effect_pulse": {
"name": "Pulse effect",
"description": "Runs a flash effect by changing to a color and back.",
"fields": {
"mode": {
"name": "Mode",
"description": "Decides how colors are changed."
},
"brightness": {
"name": "Brightness value",
"description": "Number indicating brightness of the temporary color, where 1 is the minimum brightness and 255 is the maximum brightness supported by the light."
},
"brightness_pct": {
"name": "Brightness",
"description": "Percentage indicating the brightness of the temporary color, where 1 is the minimum brightness and 100 is the maximum brightness supported by the light."
},
"color_name": {
"name": "Color name",
"description": "A human readable color name."
},
"rgb_color": {
"name": "RGB color",
"description": "The temporary color in RGB-format."
},
"period": {
"name": "Period",
"description": "Duration of the effect."
},
"cycles": {
"name": "Cycles",
"description": "Number of times the effect should run."
},
"power_on": {
"name": "Power on",
"description": "Powered off lights are temporarily turned on during the effect."
}
}
},
"effect_colorloop": {
"name": "Color loop effect",
"description": "Runs an effect with looping colors.",
"fields": {
"brightness": {
"name": "Brightness value",
"description": "Number indicating brightness of the color loop, where 1 is the minimum brightness and 255 is the maximum brightness supported by the light."
},
"brightness_pct": {
"name": "Brightness",
"description": "Percentage indicating the brightness of the color loop, where 1 is the minimum brightness and 100 is the maximum brightness supported by the light."
},
"saturation_min": {
"name": "Minimum saturation",
"description": "Percentage indicating the minimum saturation of the colors in the loop."
},
"saturation_max": {
"name": "Maximum saturation",
"description": "Percentage indicating the maximum saturation of the colors in the loop."
},
"period": {
"name": "Period",
"description": "Duration between color changes."
},
"change": {
"name": "Change",
"description": "Hue movement per period, in degrees on a color wheel."
},
"spread": {
"name": "Spread",
"description": "Maximum hue difference between participating lights, in degrees on a color wheel."
},
"power_on": {
"name": "Power on",
"description": "Powered off lights are temporarily turned on during the effect."
}
}
},
"effect_move": {
"name": "Move effect",
"description": "Starts the firmware-based Move effect on a LIFX Z, Lightstrip or Beam.",
"fields": {
"speed": {
"name": "Speed",
"description": "How long in seconds for the effect to move across the length of the light."
},
"direction": {
"name": "Direction",
"description": "Direction the effect will move across the device."
},
"theme": {
"name": "Theme",
"description": "(Optional) set one of the predefined themes onto the device before starting the effect."
},
"power_on": {
"name": "Power on",
"description": "Powered off lights will be turned on before starting the effect."
}
}
},
"effect_flame": {
"name": "Flame effect",
"description": "Starts the firmware-based Flame effect on LIFX Tiles or Candle.",
"fields": {
"speed": {
"name": "Speed",
"description": "How fast the flames will move."
},
"power_on": {
"name": "Power on",
"description": "Powered off lights will be turned on before starting the effect."
}
}
},
"effect_morph": {
"name": "Morph effect",
"description": "Starts the firmware-based Morph effect on LIFX Tiles on Candle.",
"fields": {
"speed": {
"name": "Speed",
"description": "How fast the colors will move."
},
"palette": {
"name": "Palette",
"description": "List of at least 2 and at most 16 colors as hue (0-360), saturation (0-100), brightness (0-100) and kelvin (1500-900) values to use for this effect. Overrides the theme attribute."
},
"theme": {
"name": "Theme",
"description": "Predefined color theme to use for the effect. Overridden by the palette attribute."
},
"power_on": {
"name": "Power on",
"description": "Powered off lights will be turned on before starting the effect."
}
}
},
"effect_stop": {
"name": "Stop effect",
"description": "Stops a running effect."
}
}
}

View File

@ -1,21 +1,15 @@
# Describes the format for available Litter-Robot services
set_sleep_mode:
name: Set sleep mode
description: Set the sleep mode and start time.
target:
entity:
integration: litterrobot
fields:
enabled:
name: Enabled
description: Whether sleep mode should be enabled.
required: true
selector:
boolean:
start_time:
name: Start time
description: The start time at which the Litter-Robot will enter sleep mode and prevent an automatic clean cycle for 8 hours.
required: false
example: '"22:30:00"'
selector:

View File

@ -137,5 +137,21 @@
"name": "Firmware"
}
}
},
"services": {
"set_sleep_mode": {
"name": "Set sleep mode",
"description": "Sets the sleep mode and start time.",
"fields": {
"enabled": {
"name": "Enabled",
"description": "Whether sleep mode should be enabled."
},
"start_time": {
"name": "Start time",
"description": "The start time at which the Litter-Robot will enter sleep mode and prevent an automatic clean cycle for 8 hours."
}
}
}
}
}

View File

@ -1,17 +1,11 @@
update_file_path:
name: Update file path
description: Use this service to change the file displayed by the camera.
fields:
entity_id:
name: Entity
description: Name of the entity_id of the camera to update.
required: true
selector:
entity:
domain: camera
file_path:
name: file path
description: The full path to the new image file to be displayed.
required: true
example: "/config/www/images/image.jpg"
selector:

View File

@ -0,0 +1,18 @@
{
"services": {
"update_file_path": {
"name": "Updates file path",
"description": "Use this service to change the file displayed by the camera.",
"fields": {
"entity_id": {
"name": "Entity",
"description": "Name of the entity_id of the camera to update."
},
"file_path": {
"name": "File path",
"description": "The full path to the new image file to be displayed."
}
}
}
}
}

View File

@ -1,19 +1,13 @@
# Describes the format for available Logi Circle services
set_config:
name: Set config
description: Set a configuration property.
fields:
entity_id:
name: Entity
description: Name(s) of entities to apply the operation mode to.
selector:
entity:
integration: logi_circle
domain: camera
mode:
name: Mode
description: "Operation mode. Allowed values: LED, RECORDING_MODE."
required: true
selector:
select:
@ -21,52 +15,36 @@ set_config:
- "LED"
- "RECORDING_MODE"
value:
name: Value
description: "Operation value."
required: true
selector:
boolean:
livestream_snapshot:
name: Livestream snapshot
description: Take a snapshot from the camera's livestream. Will wake the camera from sleep if required.
fields:
entity_id:
name: Entity
description: Name(s) of entities to create snapshots from.
selector:
entity:
integration: logi_circle
domain: camera
filename:
name: File name
description: Template of a Filename. Variable is entity_id.
required: true
example: "/tmp/snapshot_{{ entity_id }}.jpg"
selector:
text:
livestream_record:
name: Livestream record
description: Take a video recording from the camera's livestream.
fields:
entity_id:
name: Entity
description: Name(s) of entities to create recordings from.
selector:
entity:
integration: logi_circle
domain: camera
filename:
name: File name
description: Template of a Filename. Variable is entity_id.
required: true
example: "/tmp/snapshot_{{ entity_id }}.mp4"
selector:
text:
duration:
name: Duration
description: Recording duration.
required: true
selector:
number:

View File

@ -4,7 +4,9 @@
"user": {
"title": "Authentication Provider",
"description": "Pick via which authentication provider you want to authenticate with Logi Circle.",
"data": { "flow_impl": "Provider" }
"data": {
"flow_impl": "Provider"
}
},
"auth": {
"title": "Authenticate with Logi Circle",
@ -22,5 +24,57 @@
"external_setup": "Logi Circle successfully configured from another flow.",
"missing_configuration": "[%key:common::config_flow::abort::oauth2_missing_configuration%]"
}
},
"services": {
"set_config": {
"name": "Set config",
"description": "Sets a configuration property.",
"fields": {
"entity_id": {
"name": "Entity",
"description": "Name(s) of entities to apply the operation mode to."
},
"mode": {
"name": "Mode",
"description": "Operation mode. Allowed values: LED, RECORDING_MODE."
},
"value": {
"name": "Value",
"description": "Operation value."
}
}
},
"livestream_snapshot": {
"name": "Livestream snapshot",
"description": "Takes a snapshot from the camera's livestream. Will wake the camera from sleep if required.",
"fields": {
"entity_id": {
"name": "Entity",
"description": "Name(s) of entities to create snapshots from."
},
"filename": {
"name": "File name",
"description": "Template of a Filename. Variable is entity_id."
}
}
},
"livestream_record": {
"name": "Livestream record",
"description": "Takes a video recording from the camera's livestream.",
"fields": {
"entity_id": {
"name": "Entity",
"description": "Name(s) of entities to create recordings from."
},
"filename": {
"name": "File name",
"description": "Template of a Filename. Variable is entity_id."
},
"duration": {
"name": "Duration",
"description": "Recording duration."
}
}
}
}
}

View File

@ -1,6 +1,4 @@
set_hold_time:
name: Set Hold Time
description: "Sets the time to hold until"
target:
device:
integration: lyric
@ -9,8 +7,6 @@ set_hold_time:
domain: climate
fields:
time_period:
name: Time Period
description: Time to hold until
default: "01:00:00"
example: "01:00:00"
required: true

View File

@ -17,5 +17,17 @@
"create_entry": {
"default": "[%key:common::config_flow::create_entry::authenticated%]"
}
},
"services": {
"set_hold_time": {
"name": "Set Hold Time",
"description": "Sets the time to hold until.",
"fields": {
"time_period": {
"name": "Time Period",
"description": "Time to hold until."
}
}
}
}
}

View File

@ -1,24 +1,16 @@
send_message:
name: Send message
description: Send message to target room(s)
fields:
message:
name: Message
description: The message to be sent.
required: true
example: This is a message I am sending to matrix
selector:
text:
target:
name: Target
description: A list of room(s) to send the message to.
required: true
example: "#hasstest:matrix.org"
selector:
text:
data:
name: Data
description: Extended information of notification. Supports list of images. Supports message format. Optional.
example: "{'images': ['/tmp/test.jpg'], 'format': 'text'}"
selector:
object:

View File

@ -0,0 +1,22 @@
{
"services": {
"send_message": {
"name": "Send message",
"description": "Sends message to target room(s).",
"fields": {
"message": {
"name": "Message",
"description": "The message to be sent."
},
"target": {
"name": "Target",
"description": "A list of room(s) to send the message to."
},
"data": {
"name": "Data",
"description": "Extended information of notification. Supports list of images. Supports message format. Optional."
}
}
}
}
}

View File

@ -1,17 +1,11 @@
send_poi:
name: Send POI
description: Send a GPS location to the vehicle's navigation system as a POI (Point of Interest). Requires a navigation SD card installed in the vehicle.
fields:
device_id:
name: Vehicle
description: The vehicle to send the GPS location to
required: true
selector:
device:
integration: mazda
latitude:
name: Latitude
description: The latitude of the location to send
example: 12.34567
required: true
selector:
@ -21,8 +15,6 @@ send_poi:
unit_of_measurement: °
mode: box
longitude:
name: Longitude
description: The longitude of the location to send
example: -34.56789
required: true
selector:
@ -32,8 +24,6 @@ send_poi:
unit_of_measurement: °
mode: box
poi_name:
name: POI name
description: A friendly name for the location
example: Work
required: true
selector:

View File

@ -20,5 +20,29 @@
"description": "Please enter the email address and password you use to log into the MyMazda mobile app."
}
}
},
"services": {
"send_poi": {
"name": "Send POI",
"description": "Sends a GPS location to the vehicle's navigation system as a POI (Point of Interest). Requires a navigation SD card installed in the vehicle.",
"fields": {
"device_id": {
"name": "Vehicle",
"description": "The vehicle to send the GPS location to."
},
"latitude": {
"name": "Latitude",
"description": "The latitude of the location to send."
},
"longitude": {
"name": "Longitude",
"description": "The longitude of the location to send."
},
"poi_name": {
"name": "POI name",
"description": "A friendly name for the location."
}
}
}
}
}

View File

@ -1,20 +1,14 @@
play_media:
name: Play media
description: Downloads file from given URL.
target:
entity:
domain: media_player
fields:
media_content_id:
name: Media content ID
description: The ID of the content to play. Platform dependent.
required: true
example: "https://soundcloud.com/bruttoband/brutto-11"
selector:
text:
media_content_type:
name: Media content type
description: The type of the content to play. Must be one of MUSIC, TVSHOW, VIDEO, EPISODE, CHANNEL or PLAYLIST MUSIC.
required: true
selector:
select:

View File

@ -0,0 +1,18 @@
{
"services": {
"play_media": {
"name": "Play media",
"description": "Downloads file from given URL.",
"fields": {
"media_content_id": {
"name": "Media content ID",
"description": "The ID of the content to play. Platform dependent."
},
"media_content_type": {
"name": "Media content type",
"description": "The type of the content to play. Must be one of MUSIC, TVSHOW, VIDEO, EPISODE, CHANNEL or PLAYLIST MUSIC."
}
}
}
}
}

View File

@ -1,34 +1,22 @@
set_vane_horizontal:
name: Set vane horizontal
description: Sets horizontal vane position.
target:
entity:
integration: melcloud
domain: climate
fields:
position:
name: Position
description: >
Horizontal vane position. Possible options can be found in the
vane_horizontal_positions state attribute.
required: true
example: "auto"
selector:
text:
set_vane_vertical:
name: Set vane vertical
description: Sets vertical vane position.
target:
entity:
integration: melcloud
domain: climate
fields:
position:
name: Position
description: >
Vertical vane position. Possible options can be found in the
vane_vertical_positions state attribute.
required: true
example: "auto"
selector:

View File

@ -18,5 +18,27 @@
"abort": {
"already_configured": "MELCloud integration already configured for this email. Access token has been refreshed."
}
},
"services": {
"set_vane_horizontal": {
"name": "Set vane horizontal",
"description": "Sets horizontal vane position.",
"fields": {
"position": {
"name": "Position",
"description": "Horizontal vane position. Possible options can be found in the vane_horizontal_positions state attribute.\n."
}
}
},
"set_vane_vertical": {
"name": "Set vane vertical",
"description": "Sets vertical vane position.",
"fields": {
"position": {
"name": "Position",
"description": "Vertical vane position. Possible options can be found in the vane_vertical_positions state attribute.\n."
}
}
}
}
}

View File

@ -1,93 +1,61 @@
create_group:
name: Create group
description: Create a new person group.
fields:
name:
name: Name
description: Name of the group.
required: true
example: family
selector:
text:
create_person:
name: Create person
description: Create a new person in the group.
fields:
group:
name: Group
description: Name of the group
required: true
example: family
selector:
text:
name:
name: Name
description: Name of the person
required: true
example: Hans
selector:
text:
delete_group:
name: Delete group
description: Delete a new person group.
fields:
name:
name: Name
description: Name of the group.
required: true
example: family
selector:
text:
delete_person:
name: Delete person
description: Delete a person in the group.
fields:
group:
name: Group
description: Name of the group.
required: true
example: family
selector:
text:
name:
name: Name
description: Name of the person.
required: true
example: Hans
selector:
text:
face_person:
name: Face person
description: Add a new picture to a person.
fields:
camera_entity:
name: Camera entity
description: Camera to take a picture.
required: true
example: camera.door
selector:
text:
group:
name: Group
description: Name of the group.
required: true
example: family
selector:
text:
person:
name: Person
description: Name of the person.
required: true
example: Hans
selector:
text:
train_group:
name: Train group
description: Train a person group.
fields:
group:
name: Group
description: Name of the group
required: true
example: family
selector:

View File

@ -0,0 +1,80 @@
{
"services": {
"create_group": {
"name": "Create group",
"description": "Creates a new person group.",
"fields": {
"name": {
"name": "Name",
"description": "Name of the group."
}
}
},
"create_person": {
"name": "Create person",
"description": "Creates a new person in the group.",
"fields": {
"group": {
"name": "Group",
"description": "Name of the group."
},
"name": {
"name": "Name",
"description": "Name of the person."
}
}
},
"delete_group": {
"name": "Delete group",
"description": "Deletes a new person group.",
"fields": {
"name": {
"name": "Name",
"description": "Name of the group."
}
}
},
"delete_person": {
"name": "Delete person",
"description": "Deletes a person in the group.",
"fields": {
"group": {
"name": "Group",
"description": "Name of the group."
},
"name": {
"name": "Name",
"description": "Name of the person."
}
}
},
"face_person": {
"name": "Face person",
"description": "Adds a new picture to a person.",
"fields": {
"camera_entity": {
"name": "Camera entity",
"description": "Camera to take a picture."
},
"group": {
"name": "Group",
"description": "Name of the group."
},
"person": {
"name": "Person",
"description": "Name of the person."
}
}
},
"train_group": {
"name": "Train group",
"description": "Trains a person group.",
"fields": {
"group": {
"name": "Group",
"description": "Name of the group."
}
}
}
}
}

View File

@ -1,33 +1,23 @@
set_room_temperature:
name: Set room temperature
description: Set Mill room temperatures.
fields:
room_name:
name: Room name
description: Name of room to change.
required: true
example: "kitchen"
selector:
text:
away_temp:
name: Away temperature
description: Away temp.
selector:
number:
min: 0
max: 100
unit_of_measurement: "°"
comfort_temp:
name: Comfort temperature
description: Comfort temp.
selector:
number:
min: 0
max: 100
unit_of_measurement: "°"
sleep_temp:
name: Sleep temperature
description: Sleep temp.
selector:
number:
min: 0

View File

@ -26,5 +26,29 @@
"description": "Local IP address of the device."
}
}
},
"services": {
"set_room_temperature": {
"name": "Set room temperature",
"description": "Sets Mill room temperatures.",
"fields": {
"room_name": {
"name": "Room name",
"description": "Name of room to change."
},
"away_temp": {
"name": "Away temperature",
"description": "Away temp."
},
"comfort_temp": {
"name": "Comfort temperature",
"description": "Comfort temp."
},
"sleep_temp": {
"name": "Sleep temperature",
"description": "Sleep temp."
}
}
}
}
}

View File

@ -1,69 +1,47 @@
get:
name: Get
description: Download file from Minio.
fields:
bucket:
name: Bucket
description: Bucket to use.
required: true
example: camera-files
selector:
text:
key:
name: Kay
description: Object key of the file.
required: true
example: front_camera/2018/01/02/snapshot_12512514.jpg
selector:
text:
file_path:
name: File path
description: File path on local filesystem.
required: true
example: /data/camera_files/snapshot.jpg
selector:
text:
put:
name: Put
description: Upload file to Minio.
fields:
bucket:
name: Bucket
description: Bucket to use.
required: true
example: camera-files
selector:
text:
key:
name: Key
description: Object key of the file.
required: true
example: front_camera/2018/01/02/snapshot_12512514.jpg
selector:
text:
file_path:
name: File path
description: File path on local filesystem.
required: true
example: /data/camera_files/snapshot.jpg
selector:
text:
remove:
name: Remove
description: Delete file from Minio.
fields:
bucket:
name: Bucket
description: Bucket to use.
required: true
example: camera-files
selector:
text:
key:
name: Key
description: Object key of the file.
required: true
example: front_camera/2018/01/02/snapshot_12512514.jpg
selector:

View File

@ -0,0 +1,54 @@
{
"services": {
"get": {
"name": "Get",
"description": "Downloads file from Minio.",
"fields": {
"bucket": {
"name": "Bucket",
"description": "Bucket to use."
},
"key": {
"name": "Kay",
"description": "Object key of the file."
},
"file_path": {
"name": "File path",
"description": "File path on local filesystem."
}
}
},
"put": {
"name": "Put",
"description": "Uploads file to Minio.",
"fields": {
"bucket": {
"name": "Bucket",
"description": "Bucket to use."
},
"key": {
"name": "Key",
"description": "Object key of the file."
},
"file_path": {
"name": "File path",
"description": "File path on local filesystem."
}
}
},
"remove": {
"name": "Remove",
"description": "Deletes file from Minio.",
"fields": {
"bucket": {
"name": "Bucket",
"description": "Bucket to use."
},
"key": {
"name": "Key",
"description": "Object key of the file."
}
}
}
}
}

View File

@ -1,92 +1,62 @@
reload:
name: Reload
description: Reload all modbus entities.
write_coil:
name: Write coil
description: Write to a modbus coil.
fields:
address:
name: Address
description: Address of the register to write to.
required: true
selector:
number:
min: 0
max: 65535
state:
name: State
description: State to write.
required: true
example: "0 or [1,0]"
selector:
object:
slave:
name: Slave
description: Address of the modbus unit/slave.
required: false
selector:
number:
min: 1
max: 255
hub:
name: Hub
description: Modbus hub name.
example: "hub1"
default: "modbus_hub"
selector:
text:
write_register:
name: Write register
description: Write to a modbus holding register.
fields:
address:
name: Address
description: Address of the holding register to write to.
required: true
selector:
number:
min: 0
max: 65535
slave:
name: Slave
description: Address of the modbus unit/slave.
required: false
selector:
number:
min: 1
max: 255
value:
name: Value
description: Value (single value or array) to write.
required: true
example: "0 or [4,0]"
selector:
object:
hub:
name: Hub
description: Modbus hub name.
example: "hub1"
default: "modbus_hub"
selector:
text:
stop:
name: Stop
description: Stop modbus hub.
fields:
hub:
name: Hub
description: Modbus hub name.
example: "hub1"
default: "modbus_hub"
selector:
text:
restart:
name: Restart
description: Restart modbus hub (if running stop then start).
fields:
hub:
name: Hub
description: Modbus hub name.
example: "hub1"
default: "modbus_hub"
selector:

View File

@ -0,0 +1,72 @@
{
"services": {
"reload": {
"name": "Reload",
"description": "Reloads all modbus entities."
},
"write_coil": {
"name": "Write coil",
"description": "Writes to a modbus coil.",
"fields": {
"address": {
"name": "Address",
"description": "Address of the register to write to."
},
"state": {
"name": "State",
"description": "State to write."
},
"slave": {
"name": "Slave",
"description": "Address of the modbus unit/slave."
},
"hub": {
"name": "Hub",
"description": "Modbus hub name."
}
}
},
"write_register": {
"name": "Write register",
"description": "Writes to a modbus holding register.",
"fields": {
"address": {
"name": "Address",
"description": "Address of the holding register to write to."
},
"slave": {
"name": "Slave",
"description": "Address of the modbus unit/slave."
},
"value": {
"name": "Value",
"description": "Value (single value or array) to write."
},
"hub": {
"name": "Hub",
"description": "Modbus hub name."
}
}
},
"stop": {
"name": "Stop",
"description": "Stops modbus hub.",
"fields": {
"hub": {
"name": "Hub",
"description": "Modbus hub name."
}
}
},
"restart": {
"name": "Restart",
"description": "Restarts modbus hub (if running stop then start).",
"fields": {
"hub": {
"name": "Hub",
"description": "Modbus hub name."
}
}
}
}
}

View File

@ -1,14 +1,10 @@
set_light_sleep_timer:
name: Set light sleep timer
description: Set a sleep timer on a Modern Forms light.
target:
entity:
integration: modern_forms
domain: light
fields:
sleep_time:
name: Sleep Time
description: Number of minutes to set the timer.
required: true
example: "900"
selector:
@ -17,23 +13,17 @@ set_light_sleep_timer:
max: 1440
unit_of_measurement: minutes
clear_light_sleep_timer:
name: Clear light sleep timer
description: Clear the sleep timer on a Modern Forms light.
target:
entity:
integration: modern_forms
domain: light
set_fan_sleep_timer:
name: Set fan sleep timer
description: Set a sleep timer on a Modern Forms fan.
target:
entity:
integration: modern_forms
domain: fan
fields:
sleep_time:
name: Sleep Time
description: Number of minutes to set the timer.
required: true
example: "900"
selector:
@ -42,8 +32,6 @@ set_fan_sleep_timer:
max: 1440
unit_of_measurement: minutes
clear_fan_sleep_timer:
name: Clear fan sleep timer
description: Clear the sleep timer on a Modern Forms fan.
target:
entity:
integration: modern_forms

View File

@ -20,5 +20,35 @@
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
}
},
"services": {
"set_light_sleep_timer": {
"name": "Set light sleep timer",
"description": "Sets a sleep timer on a Modern Forms light.",
"fields": {
"sleep_time": {
"name": "Sleep time",
"description": "Number of minutes to set the timer."
}
}
},
"clear_light_sleep_timer": {
"name": "Clear light sleep timer",
"description": "Clears the sleep timer on a Modern Forms light."
},
"set_fan_sleep_timer": {
"name": "Set fan sleep timer",
"description": "Sets a sleep timer on a Modern Forms fan.",
"fields": {
"sleep_time": {
"name": "Sleep time",
"description": "Number of minutes to set the timer."
}
}
},
"clear_fan_sleep_timer": {
"name": "Clear fan sleep timer",
"description": "Clears the sleep timer on a Modern Forms fan."
}
}
}

View File

@ -1,14 +1,10 @@
snapshot:
name: Snapshot
description: Take a snapshot of the media player zone.
target:
entity:
integration: monoprice
domain: media_player
restore:
name: Restore
description: Restore a snapshot of the media player zone.
target:
entity:
integration: monoprice

View File

@ -36,5 +36,15 @@
}
}
}
},
"services": {
"snapshot": {
"name": "Snapshot",
"description": "Takes a snapshot of the media player zone."
},
"restore": {
"name": "Restore",
"description": "Restores a snapshot of the media player zone."
}
}
}

View File

@ -1,16 +1,12 @@
# Describes the format for available motion blinds services
set_absolute_position:
name: Set absolute position
description: "Set the absolute position of the cover."
target:
entity:
integration: motion_blinds
domain: cover
fields:
absolute_position:
name: Absolute position
description: Absolute position to move to.
required: true
selector:
number:
@ -18,16 +14,12 @@ set_absolute_position:
max: 100
unit_of_measurement: "%"
tilt_position:
name: Tilt position
description: Tilt position to move to.
selector:
number:
min: 0
max: 100
unit_of_measurement: "%"
width:
name: Width
description: Specify the width that is covered, only for TDBU Combined entities.
selector:
number:
min: 1

View File

@ -40,5 +40,25 @@
}
}
}
},
"services": {
"set_absolute_position": {
"name": "Set absolute position",
"description": "Sets the absolute position of the cover.",
"fields": {
"absolute_position": {
"name": "Absolute position",
"description": "Absolute position to move to."
},
"tilt_position": {
"name": "Tilt position",
"description": "Tilt position to move to."
},
"width": {
"name": "Width",
"description": "Specify the width that is covered, only for TDBU Combined entities."
}
}
}
}
}

View File

@ -1,6 +1,4 @@
set_text_overlay:
name: Set Text Overlay
description: Sets the text overlay for a camera.
target:
device:
integration: motioneye
@ -8,8 +6,6 @@ set_text_overlay:
integration: motioneye
fields:
left_text:
name: Left Text Overlay
description: Text to display on the left
required: false
advanced: false
example: "timestamp"
@ -22,8 +18,6 @@ set_text_overlay:
- "timestamp"
- "custom-text"
custom_left_text:
name: Left Custom Text
description: Custom text to display on the left
required: false
advanced: false
example: "Hello on the left!"
@ -32,8 +26,6 @@ set_text_overlay:
text:
multiline: true
right_text:
name: Right Text Overlay
description: Text to display on the right
required: false
advanced: false
example: "timestamp"
@ -46,8 +38,6 @@ set_text_overlay:
- "timestamp"
- "custom-text"
custom_right_text:
name: Right Custom Text
description: Custom text to display on the right
required: false
advanced: false
example: "Hello on the right!"
@ -57,8 +47,6 @@ set_text_overlay:
multiline: true
action:
name: Action
description: Trigger a motionEye action
target:
device:
integration: motioneye
@ -66,8 +54,6 @@ action:
integration: motioneye
fields:
action:
name: Action
description: Action to trigger
required: true
advanced: false
example: "snapshot"
@ -101,8 +87,6 @@ action:
- "preset9"
snapshot:
name: Snapshot
description: Trigger a motionEye still snapshot
target:
device:
integration: motioneye

View File

@ -36,5 +36,43 @@
}
}
}
},
"services": {
"set_text_overlay": {
"name": "Set text overlay",
"description": "Sets the text overlay for a camera.",
"fields": {
"left_text": {
"name": "Left text overlay",
"description": "Text to display on the left."
},
"custom_left_text": {
"name": "Left custom text",
"description": "Custom text to display on the left."
},
"right_text": {
"name": "Right text overlay",
"description": "Text to display on the right."
},
"custom_right_text": {
"name": "Right custom text",
"description": "Custom text to display on the right."
}
}
},
"action": {
"name": "Action",
"description": "Triggers a motionEye action.",
"fields": {
"action": {
"name": "Action",
"description": "Action to trigger."
}
}
},
"snapshot": {
"name": "Snapshot",
"description": "Triggers a motionEye still snapshot."
}
}
}