mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Migrate integration services (I-K) to support translations (#96373)
* Migrate integration services (I-K) to support translations * Apply suggestions from code review Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> * Update homeassistant/components/kodi/strings.json Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> --------- Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
This commit is contained in:
parent
d0b7a47768
commit
6c40004061
@ -1,93 +1,63 @@
|
|||||||
update:
|
update:
|
||||||
name: Update
|
|
||||||
description: Update iCloud devices.
|
|
||||||
fields:
|
fields:
|
||||||
account:
|
account:
|
||||||
name: Account
|
|
||||||
description: Your iCloud account username (email) or account name.
|
|
||||||
required: true
|
required: true
|
||||||
example: "steve@apple.com"
|
example: "steve@apple.com"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
|
|
||||||
play_sound:
|
play_sound:
|
||||||
name: Play sound
|
|
||||||
description: Play sound on an Apple device.
|
|
||||||
fields:
|
fields:
|
||||||
account:
|
account:
|
||||||
name: Account
|
|
||||||
description: Your iCloud account username (email) or account name.
|
|
||||||
required: true
|
required: true
|
||||||
example: "steve@apple.com"
|
example: "steve@apple.com"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
device_name:
|
device_name:
|
||||||
name: Device Name
|
|
||||||
description: The name of the Apple device to play a sound.
|
|
||||||
required: true
|
required: true
|
||||||
example: "stevesiphone"
|
example: "stevesiphone"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
|
|
||||||
display_message:
|
display_message:
|
||||||
name: Display message
|
|
||||||
description: Display a message on an Apple device.
|
|
||||||
fields:
|
fields:
|
||||||
account:
|
account:
|
||||||
name: Account
|
|
||||||
description: Your iCloud account username (email) or account name.
|
|
||||||
required: true
|
required: true
|
||||||
example: "steve@apple.com"
|
example: "steve@apple.com"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
device_name:
|
device_name:
|
||||||
name: Device Name
|
|
||||||
description: The name of the Apple device to display the message.
|
|
||||||
required: true
|
required: true
|
||||||
example: "stevesiphone"
|
example: "stevesiphone"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
message:
|
message:
|
||||||
name: Message
|
|
||||||
description: The content of your message.
|
|
||||||
required: true
|
required: true
|
||||||
example: "Hey Steve !"
|
example: "Hey Steve !"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
sound:
|
sound:
|
||||||
name: Sound
|
|
||||||
description: To make a sound when displaying the message.
|
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
|
|
||||||
lost_device:
|
lost_device:
|
||||||
name: Lost device
|
|
||||||
description: Make an Apple device in lost state.
|
|
||||||
fields:
|
fields:
|
||||||
account:
|
account:
|
||||||
name: Account
|
|
||||||
description: Your iCloud account username (email) or account name.
|
|
||||||
required: true
|
required: true
|
||||||
example: "steve@apple.com"
|
example: "steve@apple.com"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
device_name:
|
device_name:
|
||||||
name: Device Name
|
|
||||||
description: The name of the Apple device to set lost.
|
|
||||||
required: true
|
required: true
|
||||||
example: "stevesiphone"
|
example: "stevesiphone"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
number:
|
number:
|
||||||
name: Number
|
|
||||||
description: The phone number to call in lost mode (must contain country code).
|
|
||||||
required: true
|
required: true
|
||||||
example: "+33450020100"
|
example: "+33450020100"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
message:
|
message:
|
||||||
name: Message
|
|
||||||
description: The message to display in lost mode.
|
|
||||||
required: true
|
required: true
|
||||||
example: "Call me"
|
example: "Call me"
|
||||||
selector:
|
selector:
|
||||||
|
@ -42,5 +42,75 @@
|
|||||||
"no_device": "None of your devices have \"Find my iPhone\" activated",
|
"no_device": "None of your devices have \"Find my iPhone\" activated",
|
||||||
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
|
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"update": {
|
||||||
|
"name": "Update",
|
||||||
|
"description": "Updates iCloud devices.",
|
||||||
|
"fields": {
|
||||||
|
"account": {
|
||||||
|
"name": "Account",
|
||||||
|
"description": "Your iCloud account username (email) or account name."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"play_sound": {
|
||||||
|
"name": "Play sound",
|
||||||
|
"description": "Plays sound on an Apple device.",
|
||||||
|
"fields": {
|
||||||
|
"account": {
|
||||||
|
"name": "Account",
|
||||||
|
"description": "Your iCloud account username (email) or account name."
|
||||||
|
},
|
||||||
|
"device_name": {
|
||||||
|
"name": "Device name",
|
||||||
|
"description": "The name of the Apple device to play a sound."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"display_message": {
|
||||||
|
"name": "Display message",
|
||||||
|
"description": "Displays a message on an Apple device.",
|
||||||
|
"fields": {
|
||||||
|
"account": {
|
||||||
|
"name": "Account",
|
||||||
|
"description": "Your iCloud account username (email) or account name."
|
||||||
|
},
|
||||||
|
"device_name": {
|
||||||
|
"name": "Device name",
|
||||||
|
"description": "The name of the Apple device to display the message."
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"name": "Message",
|
||||||
|
"description": "The content of your message."
|
||||||
|
},
|
||||||
|
"sound": {
|
||||||
|
"name": "Sound",
|
||||||
|
"description": "To make a sound when displaying the message."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lost_device": {
|
||||||
|
"name": "Lost device",
|
||||||
|
"description": "Makes an Apple device in lost state.",
|
||||||
|
"fields": {
|
||||||
|
"account": {
|
||||||
|
"name": "Account",
|
||||||
|
"description": "Your iCloud account username (email) or account name."
|
||||||
|
},
|
||||||
|
"device_name": {
|
||||||
|
"name": "Device name",
|
||||||
|
"description": "The name of the Apple device to set lost."
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"name": "Number",
|
||||||
|
"description": "The phone number to call in lost mode (must contain country code)."
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"name": "Message",
|
||||||
|
"description": "The message to display in lost mode."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,49 +1,34 @@
|
|||||||
# Describes the format for available ifttt services
|
# Describes the format for available ifttt services
|
||||||
|
|
||||||
push_alarm_state:
|
push_alarm_state:
|
||||||
name: Push alarm state
|
|
||||||
description: Update the alarm state to the specified value.
|
|
||||||
fields:
|
fields:
|
||||||
entity_id:
|
entity_id:
|
||||||
description: Name of the alarm control panel which state has to be updated.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
entity:
|
entity:
|
||||||
domain: alarm_control_panel
|
domain: alarm_control_panel
|
||||||
state:
|
state:
|
||||||
name: State
|
|
||||||
description: The state to which the alarm control panel has to be set.
|
|
||||||
required: true
|
required: true
|
||||||
example: "armed_night"
|
example: "armed_night"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
name: Trigger
|
|
||||||
description: Triggers the configured IFTTT Webhook.
|
|
||||||
fields:
|
fields:
|
||||||
event:
|
event:
|
||||||
name: Event
|
|
||||||
description: The name of the event to send.
|
|
||||||
required: true
|
required: true
|
||||||
example: "MY_HA_EVENT"
|
example: "MY_HA_EVENT"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
value1:
|
value1:
|
||||||
name: Value 1
|
|
||||||
description: Generic field to send data via the event.
|
|
||||||
example: "Hello World"
|
example: "Hello World"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
value2:
|
value2:
|
||||||
name: Value 2
|
|
||||||
description: Generic field to send data via the event.
|
|
||||||
example: "some additional data"
|
example: "some additional data"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
value3:
|
value3:
|
||||||
name: Value 3
|
|
||||||
description: Generic field to send data via the event.
|
|
||||||
example: "even more data"
|
example: "even more data"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
|
@ -14,5 +14,43 @@
|
|||||||
"create_entry": {
|
"create_entry": {
|
||||||
"default": "To send events to Home Assistant, you will need to use the \"Make a web request\" action from the [IFTTT Webhook applet]({applet_url}).\n\nFill in the following info:\n\n- URL: `{webhook_url}`\n- Method: POST\n- Content Type: application/json\n\nSee [the documentation]({docs_url}) on how to configure automations to handle incoming data."
|
"default": "To send events to Home Assistant, you will need to use the \"Make a web request\" action from the [IFTTT Webhook applet]({applet_url}).\n\nFill in the following info:\n\n- URL: `{webhook_url}`\n- Method: POST\n- Content Type: application/json\n\nSee [the documentation]({docs_url}) on how to configure automations to handle incoming data."
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"push_alarm_state": {
|
||||||
|
"name": "Push alarm state",
|
||||||
|
"description": "Updates the alarm state to the specified value.",
|
||||||
|
"fields": {
|
||||||
|
"entity_id": {
|
||||||
|
"name": "Entity ID",
|
||||||
|
"description": "Name of the alarm control panel which state has to be updated."
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"name": "State",
|
||||||
|
"description": "The state to which the alarm control panel has to be set."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"trigger": {
|
||||||
|
"name": "Trigger",
|
||||||
|
"description": "Triggers the configured IFTTT Webhook.",
|
||||||
|
"fields": {
|
||||||
|
"event": {
|
||||||
|
"name": "Event",
|
||||||
|
"description": "The name of the event to send."
|
||||||
|
},
|
||||||
|
"value1": {
|
||||||
|
"name": "Value 1",
|
||||||
|
"description": "Generic field to send data via the event."
|
||||||
|
},
|
||||||
|
"value2": {
|
||||||
|
"name": "Value 2",
|
||||||
|
"description": "Generic field to send data via the event."
|
||||||
|
},
|
||||||
|
"value3": {
|
||||||
|
"name": "Value 3",
|
||||||
|
"description": "Generic field to send data via the event."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,14 @@
|
|||||||
# Describes the format for available IHC services
|
# Describes the format for available IHC services
|
||||||
|
|
||||||
set_runtime_value_bool:
|
set_runtime_value_bool:
|
||||||
name: Set runtime value boolean
|
|
||||||
description: Set a boolean runtime value on the IHC controller.
|
|
||||||
fields:
|
fields:
|
||||||
controller_id:
|
controller_id:
|
||||||
name: Controller ID
|
|
||||||
description: |
|
|
||||||
If you have multiple controller, this is the index of you controller
|
|
||||||
starting with 0.
|
|
||||||
default: 0
|
default: 0
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 100
|
max: 100
|
||||||
ihc_id:
|
ihc_id:
|
||||||
name: IHC ID
|
|
||||||
description: The integer IHC resource ID.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -24,29 +16,19 @@ set_runtime_value_bool:
|
|||||||
max: 1000000
|
max: 1000000
|
||||||
mode: box
|
mode: box
|
||||||
value:
|
value:
|
||||||
name: Value
|
|
||||||
description: The boolean value to set.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
|
|
||||||
set_runtime_value_int:
|
set_runtime_value_int:
|
||||||
name: Set runtime value integer
|
|
||||||
description: Set an integer runtime value on the IHC controller.
|
|
||||||
fields:
|
fields:
|
||||||
controller_id:
|
controller_id:
|
||||||
name: Controller ID
|
|
||||||
description: |
|
|
||||||
If you have multiple controller, this is the index of you controller
|
|
||||||
starting with 0.
|
|
||||||
default: 0
|
default: 0
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 100
|
max: 100
|
||||||
ihc_id:
|
ihc_id:
|
||||||
name: IHC ID
|
|
||||||
description: The integer IHC resource ID.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -54,8 +36,6 @@ set_runtime_value_int:
|
|||||||
max: 1000000
|
max: 1000000
|
||||||
mode: box
|
mode: box
|
||||||
value:
|
value:
|
||||||
name: Value
|
|
||||||
description: The integer value to set.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -64,22 +44,14 @@ set_runtime_value_int:
|
|||||||
mode: box
|
mode: box
|
||||||
|
|
||||||
set_runtime_value_float:
|
set_runtime_value_float:
|
||||||
name: Set runtime value float
|
|
||||||
description: Set a float runtime value on the IHC controller.
|
|
||||||
fields:
|
fields:
|
||||||
controller_id:
|
controller_id:
|
||||||
name: Controller ID
|
|
||||||
description: |
|
|
||||||
If you have multiple controller, this is the index of you controller
|
|
||||||
starting with 0.
|
|
||||||
default: 0
|
default: 0
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 100
|
max: 100
|
||||||
ihc_id:
|
ihc_id:
|
||||||
name: IHC ID
|
|
||||||
description: The integer IHC resource ID.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -87,8 +59,6 @@ set_runtime_value_float:
|
|||||||
max: 1000000
|
max: 1000000
|
||||||
mode: box
|
mode: box
|
||||||
value:
|
value:
|
||||||
name: Value
|
|
||||||
description: The float value to set.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -98,22 +68,14 @@ set_runtime_value_float:
|
|||||||
mode: box
|
mode: box
|
||||||
|
|
||||||
pulse:
|
pulse:
|
||||||
name: Pulse
|
|
||||||
description: Pulses an input on the IHC controller.
|
|
||||||
fields:
|
fields:
|
||||||
controller_id:
|
controller_id:
|
||||||
name: Controller ID
|
|
||||||
description: |
|
|
||||||
If you have multiple controller, this is the index of you controller
|
|
||||||
starting with 0.
|
|
||||||
default: 0
|
default: 0
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 100
|
max: 100
|
||||||
ihc_id:
|
ihc_id:
|
||||||
name: IHC ID
|
|
||||||
description: The integer IHC resource ID.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
|
72
homeassistant/components/ihc/strings.json
Normal file
72
homeassistant/components/ihc/strings.json
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
"services": {
|
||||||
|
"set_runtime_value_bool": {
|
||||||
|
"name": "Set runtime value boolean",
|
||||||
|
"description": "Sets a boolean runtime value on the IHC controller.",
|
||||||
|
"fields": {
|
||||||
|
"controller_id": {
|
||||||
|
"name": "Controller ID",
|
||||||
|
"description": "If you have multiple controller, this is the index of you controller\nstarting with 0.\n."
|
||||||
|
},
|
||||||
|
"ihc_id": {
|
||||||
|
"name": "IHC ID",
|
||||||
|
"description": "The integer IHC resource ID."
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"name": "Value",
|
||||||
|
"description": "The boolean value to set."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_runtime_value_int": {
|
||||||
|
"name": "Set runtime value integer",
|
||||||
|
"description": "Sets an integer runtime value on the IHC controller.",
|
||||||
|
"fields": {
|
||||||
|
"controller_id": {
|
||||||
|
"name": "Controller ID",
|
||||||
|
"description": "If you have multiple controller, this is the index of you controller\nstarting with 0.\n."
|
||||||
|
},
|
||||||
|
"ihc_id": {
|
||||||
|
"name": "IHC ID",
|
||||||
|
"description": "The integer IHC resource ID."
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"name": "Value",
|
||||||
|
"description": "The integer value to set."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_runtime_value_float": {
|
||||||
|
"name": "Set runtime value float",
|
||||||
|
"description": "Sets a float runtime value on the IHC controller.",
|
||||||
|
"fields": {
|
||||||
|
"controller_id": {
|
||||||
|
"name": "Controller ID",
|
||||||
|
"description": "If you have multiple controller, this is the index of you controller\nstarting with 0.\n."
|
||||||
|
},
|
||||||
|
"ihc_id": {
|
||||||
|
"name": "IHC ID",
|
||||||
|
"description": "The integer IHC resource ID."
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"name": "Value",
|
||||||
|
"description": "The float value to set."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pulse": {
|
||||||
|
"name": "Pulse",
|
||||||
|
"description": "Pulses an input on the IHC controller.",
|
||||||
|
"fields": {
|
||||||
|
"controller_id": {
|
||||||
|
"name": "Controller ID",
|
||||||
|
"description": "If you have multiple controller, this is the index of you controller\nstarting with 0.\n."
|
||||||
|
},
|
||||||
|
"ihc_id": {
|
||||||
|
"name": "IHC ID",
|
||||||
|
"description": "The integer IHC resource ID."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,18 +1,12 @@
|
|||||||
add_all_link:
|
add_all_link:
|
||||||
name: Add all link
|
|
||||||
description: Tells the Insteom Modem (IM) start All-Linking mode. Once the IM is in All-Linking mode, press the link button on the device to complete All-Linking.
|
|
||||||
fields:
|
fields:
|
||||||
group:
|
group:
|
||||||
name: Group
|
|
||||||
description: All-Link group number.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
mode:
|
mode:
|
||||||
name: Mode
|
|
||||||
description: Linking mode controller - IM is controller responder - IM is responder
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
@ -20,55 +14,35 @@ add_all_link:
|
|||||||
- "controller"
|
- "controller"
|
||||||
- "responder"
|
- "responder"
|
||||||
delete_all_link:
|
delete_all_link:
|
||||||
name: Delete all link
|
|
||||||
description: Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the link button on the corresponding device to complete the process.
|
|
||||||
fields:
|
fields:
|
||||||
group:
|
group:
|
||||||
name: Group
|
|
||||||
description: All-Link group number.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
load_all_link_database:
|
load_all_link_database:
|
||||||
name: Load all link database
|
|
||||||
description: Load the All-Link Database for a device. WARNING - Loading a device All-LInk database is very time consuming and inconsistent. This may take a LONG time and may need to be repeated to obtain all records.
|
|
||||||
fields:
|
fields:
|
||||||
entity_id:
|
entity_id:
|
||||||
name: Entity
|
|
||||||
description: Name of the device to load. Use "all" to load the database of all devices.
|
|
||||||
required: true
|
required: true
|
||||||
example: "light.1a2b3c"
|
example: "light.1a2b3c"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
reload:
|
reload:
|
||||||
name: Reload
|
|
||||||
description: Reload all records. If true the current records are cleared from memory (does not effect the device) and the records are reloaded. If false the existing records are left in place and only missing records are added. Default is false.
|
|
||||||
default: false
|
default: false
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
print_all_link_database:
|
print_all_link_database:
|
||||||
name: Print all link database
|
|
||||||
description: Print the All-Link Database for a device. Requires that the All-Link Database is loaded into memory.
|
|
||||||
fields:
|
fields:
|
||||||
entity_id:
|
entity_id:
|
||||||
name: Entity
|
|
||||||
description: Name of the device to print
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
entity:
|
entity:
|
||||||
integration: insteon
|
integration: insteon
|
||||||
print_im_all_link_database:
|
print_im_all_link_database:
|
||||||
name: Print IM all link database
|
|
||||||
description: Print the All-Link Database for the INSTEON Modem (IM).
|
|
||||||
x10_all_units_off:
|
x10_all_units_off:
|
||||||
name: X10 all units off
|
|
||||||
description: Send X10 All Units Off command
|
|
||||||
fields:
|
fields:
|
||||||
housecode:
|
housecode:
|
||||||
name: Housecode
|
|
||||||
description: X10 house code
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
@ -90,12 +64,8 @@ x10_all_units_off:
|
|||||||
- "o"
|
- "o"
|
||||||
- "p"
|
- "p"
|
||||||
x10_all_lights_on:
|
x10_all_lights_on:
|
||||||
name: X10 all lights on
|
|
||||||
description: Send X10 All Lights On command
|
|
||||||
fields:
|
fields:
|
||||||
housecode:
|
housecode:
|
||||||
name: Housecode
|
|
||||||
description: X10 house code
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
@ -117,12 +87,8 @@ x10_all_lights_on:
|
|||||||
- "o"
|
- "o"
|
||||||
- "p"
|
- "p"
|
||||||
x10_all_lights_off:
|
x10_all_lights_off:
|
||||||
name: X10 all lights off
|
|
||||||
description: Send X10 All Lights Off command
|
|
||||||
fields:
|
fields:
|
||||||
housecode:
|
housecode:
|
||||||
name: Housecode
|
|
||||||
description: X10 house code
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
@ -144,36 +110,24 @@ x10_all_lights_off:
|
|||||||
- "o"
|
- "o"
|
||||||
- "p"
|
- "p"
|
||||||
scene_on:
|
scene_on:
|
||||||
name: Scene on
|
|
||||||
description: Trigger an INSTEON scene to turn ON.
|
|
||||||
fields:
|
fields:
|
||||||
group:
|
group:
|
||||||
name: Group
|
|
||||||
description: INSTEON group or scene number
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
scene_off:
|
scene_off:
|
||||||
name: Scene off
|
|
||||||
description: Trigger an INSTEON scene to turn OFF.
|
|
||||||
fields:
|
fields:
|
||||||
group:
|
group:
|
||||||
name: Group
|
|
||||||
description: INSTEON group or scene number
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
add_default_links:
|
add_default_links:
|
||||||
name: Add default links
|
|
||||||
description: Add the default links between the device and the Insteon Modem (IM)
|
|
||||||
fields:
|
fields:
|
||||||
entity_id:
|
entity_id:
|
||||||
name: Entity
|
|
||||||
description: Name of the device to load. Use "all" to load the database of all devices.
|
|
||||||
required: true
|
required: true
|
||||||
example: "light.1a2b3c"
|
example: "light.1a2b3c"
|
||||||
selector:
|
selector:
|
||||||
|
@ -109,5 +109,119 @@
|
|||||||
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
|
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
|
||||||
"input_error": "Invalid entries, please check your values."
|
"input_error": "Invalid entries, please check your values."
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"add_all_link": {
|
||||||
|
"name": "Add all link",
|
||||||
|
"description": "Tells the Insteom Modem (IM) start All-Linking mode. Once the IM is in All-Linking mode, press the link button on the device to complete All-Linking.",
|
||||||
|
"fields": {
|
||||||
|
"group": {
|
||||||
|
"name": "Group",
|
||||||
|
"description": "All-Link group number."
|
||||||
|
},
|
||||||
|
"mode": {
|
||||||
|
"name": "Mode",
|
||||||
|
"description": "Linking mode controller - IM is controller responder - IM is responder."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"delete_all_link": {
|
||||||
|
"name": "Delete all link",
|
||||||
|
"description": "Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the link button on the corresponding device to complete the process.",
|
||||||
|
"fields": {
|
||||||
|
"group": {
|
||||||
|
"name": "Group",
|
||||||
|
"description": "All-Link group number."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"load_all_link_database": {
|
||||||
|
"name": "Load all link database",
|
||||||
|
"description": "Load the All-Link Database for a device. WARNING - Loading a device All-LInk database is very time consuming and inconsistent. This may take a LONG time and may need to be repeated to obtain all records.",
|
||||||
|
"fields": {
|
||||||
|
"entity_id": {
|
||||||
|
"name": "Entity",
|
||||||
|
"description": "Name of the device to load. Use \"all\" to load the database of all devices."
|
||||||
|
},
|
||||||
|
"reload": {
|
||||||
|
"name": "Reload",
|
||||||
|
"description": "Reloads all records. If true the current records are cleared from memory (does not effect the device) and the records are reloaded. If false the existing records are left in place and only missing records are added. Default is false."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"print_all_link_database": {
|
||||||
|
"name": "Print all link database",
|
||||||
|
"description": "Prints the All-Link Database for a device. Requires that the All-Link Database is loaded into memory.",
|
||||||
|
"fields": {
|
||||||
|
"entity_id": {
|
||||||
|
"name": "Entity",
|
||||||
|
"description": "Name of the device to print."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"print_im_all_link_database": {
|
||||||
|
"name": "Print IM all link database",
|
||||||
|
"description": "Prints the All-Link Database for the INSTEON Modem (IM)."
|
||||||
|
},
|
||||||
|
"x10_all_units_off": {
|
||||||
|
"name": "X10 all units off",
|
||||||
|
"description": "Tells the Insteom Modem (IM) start All-Linking mode. Once the IM is in All-Linking mode, press the link button on the device to complete All-Linking.",
|
||||||
|
"fields": {
|
||||||
|
"housecode": {
|
||||||
|
"name": "Housecode",
|
||||||
|
"description": "X10 house code."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"x10_all_lights_on": {
|
||||||
|
"name": "X10 all lights on",
|
||||||
|
"description": "Sends X10 All Lights On command.",
|
||||||
|
"fields": {
|
||||||
|
"housecode": {
|
||||||
|
"name": "Housecode",
|
||||||
|
"description": "X10 house code."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"x10_all_lights_off": {
|
||||||
|
"name": "X10 all lights off",
|
||||||
|
"description": "Sends X10 All Lights Off command.",
|
||||||
|
"fields": {
|
||||||
|
"housecode": {
|
||||||
|
"name": "Housecode",
|
||||||
|
"description": "X10 house code."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scene_on": {
|
||||||
|
"name": "Scene on",
|
||||||
|
"description": "Triggers an INSTEON scene to turn ON.",
|
||||||
|
"fields": {
|
||||||
|
"group": {
|
||||||
|
"name": "Group",
|
||||||
|
"description": "INSTEON group or scene number."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scene_off": {
|
||||||
|
"name": "Scene off",
|
||||||
|
"description": "Triggers an INSTEON scene to turn OFF.",
|
||||||
|
"fields": {
|
||||||
|
"group": {
|
||||||
|
"name": "Group",
|
||||||
|
"description": "INSTEON group or scene number."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"add_default_links": {
|
||||||
|
"name": "Add default links",
|
||||||
|
"description": "Adds the default links between the device and the Insteon Modem (IM).",
|
||||||
|
"fields": {
|
||||||
|
"entity_id": {
|
||||||
|
"name": "Entity",
|
||||||
|
"description": "Name of the device to load. Use \"all\" to load the database of all devices."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
speedtest:
|
speedtest:
|
||||||
name: Speedtest
|
|
||||||
description: Immediately execute a speed test with iperf3
|
|
||||||
fields:
|
fields:
|
||||||
host:
|
host:
|
||||||
name: Host
|
|
||||||
description: The host name of the iperf3 server (already configured) to run a test with.
|
|
||||||
example: "iperf.he.net"
|
example: "iperf.he.net"
|
||||||
default: None
|
default: None
|
||||||
selector:
|
selector:
|
||||||
|
14
homeassistant/components/iperf3/strings.json
Normal file
14
homeassistant/components/iperf3/strings.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"services": {
|
||||||
|
"speedtest": {
|
||||||
|
"name": "Speedtest",
|
||||||
|
"description": "Immediately executes a speed test with iperf3.",
|
||||||
|
"fields": {
|
||||||
|
"host": {
|
||||||
|
"name": "Host",
|
||||||
|
"description": "The host name of the iperf3 server (already configured) to run a test with."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -4,52 +4,36 @@
|
|||||||
# flooding the ISY with requests. To control multiple devices with a service call
|
# flooding the ISY with requests. To control multiple devices with a service call
|
||||||
# the recommendation is to add a scene in the ISY and control that scene.
|
# the recommendation is to add a scene in the ISY and control that scene.
|
||||||
send_raw_node_command:
|
send_raw_node_command:
|
||||||
name: Send raw node command
|
|
||||||
description: Send a "raw" ISY REST Device Command to a Node using its Home Assistant Entity ID.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: isy994
|
integration: isy994
|
||||||
fields:
|
fields:
|
||||||
command:
|
command:
|
||||||
name: Command
|
|
||||||
description: The ISY REST Command to be sent to the device
|
|
||||||
required: true
|
required: true
|
||||||
example: "DON"
|
example: "DON"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
value:
|
value:
|
||||||
name: Value
|
|
||||||
description: The integer value to be sent with the command.
|
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
parameters:
|
parameters:
|
||||||
name: Parameters
|
|
||||||
description: A dict of parameters to be sent in the query string (e.g. for controlling colored bulbs).
|
|
||||||
example: { GV2: 0, GV3: 0, GV4: 255 }
|
example: { GV2: 0, GV3: 0, GV4: 255 }
|
||||||
default: {}
|
default: {}
|
||||||
selector:
|
selector:
|
||||||
object:
|
object:
|
||||||
unit_of_measurement:
|
unit_of_measurement:
|
||||||
name: Unit of measurement
|
|
||||||
description: The ISY Unit of Measurement (UOM) to send with the command, if required.
|
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
max: 120
|
max: 120
|
||||||
send_node_command:
|
send_node_command:
|
||||||
name: Send node command
|
|
||||||
description: >-
|
|
||||||
Send a command to an ISY Device using its Home Assistant entity ID. Valid commands are: beep, brighten, dim, disable,
|
|
||||||
enable, fade_down, fade_stop, fade_up, fast_off, fast_on, and query.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: isy994
|
integration: isy994
|
||||||
fields:
|
fields:
|
||||||
command:
|
command:
|
||||||
name: Command
|
|
||||||
description: The command to be sent to the device.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
@ -66,34 +50,22 @@ send_node_command:
|
|||||||
- "fast_on"
|
- "fast_on"
|
||||||
- "query"
|
- "query"
|
||||||
get_zwave_parameter:
|
get_zwave_parameter:
|
||||||
name: Get Z-Wave Parameter
|
|
||||||
description: >-
|
|
||||||
Request a Z-Wave Device parameter via the ISY. The parameter value will be returned as a entity extra state attribute with the name "ZW_#"
|
|
||||||
where "#" is the parameter number.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: isy994
|
integration: isy994
|
||||||
fields:
|
fields:
|
||||||
parameter:
|
parameter:
|
||||||
name: Parameter
|
|
||||||
description: The parameter number to retrieve from the device.
|
|
||||||
example: 8
|
example: 8
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 1
|
min: 1
|
||||||
max: 255
|
max: 255
|
||||||
set_zwave_parameter:
|
set_zwave_parameter:
|
||||||
name: Set Z-Wave Parameter
|
|
||||||
description: >-
|
|
||||||
Update a Z-Wave Device parameter via the ISY. The parameter value will also be returned as a entity extra state attribute with the name "ZW_#"
|
|
||||||
where "#" is the parameter number.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: isy994
|
integration: isy994
|
||||||
fields:
|
fields:
|
||||||
parameter:
|
parameter:
|
||||||
name: Parameter
|
|
||||||
description: The parameter number to set on the end device.
|
|
||||||
required: true
|
required: true
|
||||||
example: 8
|
example: 8
|
||||||
selector:
|
selector:
|
||||||
@ -101,15 +73,11 @@ set_zwave_parameter:
|
|||||||
min: 1
|
min: 1
|
||||||
max: 255
|
max: 255
|
||||||
value:
|
value:
|
||||||
name: Value
|
|
||||||
description: The value to set for the parameter. May be an integer or byte string (e.g. "0xFFFF").
|
|
||||||
required: true
|
required: true
|
||||||
example: 33491663
|
example: 33491663
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
size:
|
size:
|
||||||
name: Size
|
|
||||||
description: The size of the parameter, either 1, 2, or 4 bytes.
|
|
||||||
required: true
|
required: true
|
||||||
example: 4
|
example: 4
|
||||||
selector:
|
selector:
|
||||||
@ -119,17 +87,12 @@ set_zwave_parameter:
|
|||||||
- "2"
|
- "2"
|
||||||
- "4"
|
- "4"
|
||||||
set_zwave_lock_user_code:
|
set_zwave_lock_user_code:
|
||||||
name: Set Z-Wave Lock User Code
|
|
||||||
description: >-
|
|
||||||
Set a Z-Wave Lock User Code via the ISY.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: isy994
|
integration: isy994
|
||||||
domain: lock
|
domain: lock
|
||||||
fields:
|
fields:
|
||||||
user_num:
|
user_num:
|
||||||
name: User Number
|
|
||||||
description: The user slot number on the lock
|
|
||||||
required: true
|
required: true
|
||||||
example: 8
|
example: 8
|
||||||
selector:
|
selector:
|
||||||
@ -137,8 +100,6 @@ set_zwave_lock_user_code:
|
|||||||
min: 1
|
min: 1
|
||||||
max: 255
|
max: 255
|
||||||
code:
|
code:
|
||||||
name: Code
|
|
||||||
description: The code to set for the user.
|
|
||||||
required: true
|
required: true
|
||||||
example: 33491663
|
example: 33491663
|
||||||
selector:
|
selector:
|
||||||
@ -147,17 +108,12 @@ set_zwave_lock_user_code:
|
|||||||
max: 99999999
|
max: 99999999
|
||||||
mode: box
|
mode: box
|
||||||
delete_zwave_lock_user_code:
|
delete_zwave_lock_user_code:
|
||||||
name: Delete Z-Wave Lock User Code
|
|
||||||
description: >-
|
|
||||||
Delete a Z-Wave Lock User Code via the ISY.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: isy994
|
integration: isy994
|
||||||
domain: lock
|
domain: lock
|
||||||
fields:
|
fields:
|
||||||
user_num:
|
user_num:
|
||||||
name: User Number
|
|
||||||
description: The user slot number on the lock
|
|
||||||
required: true
|
required: true
|
||||||
example: 8
|
example: 8
|
||||||
selector:
|
selector:
|
||||||
@ -165,43 +121,26 @@ delete_zwave_lock_user_code:
|
|||||||
min: 1
|
min: 1
|
||||||
max: 255
|
max: 255
|
||||||
rename_node:
|
rename_node:
|
||||||
name: Rename Node on ISY
|
|
||||||
description: >-
|
|
||||||
Rename a node or group (scene) on the ISY. Note: this will not automatically change the Home Assistant Entity Name or Entity ID to match.
|
|
||||||
The entity name and ID will only be updated after calling `isy994.reload` or restarting Home Assistant, and ONLY IF you have not already customized the
|
|
||||||
name within Home Assistant.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: isy994
|
integration: isy994
|
||||||
fields:
|
fields:
|
||||||
name:
|
name:
|
||||||
name: New Name
|
|
||||||
description: The new name to use within the ISY.
|
|
||||||
required: true
|
required: true
|
||||||
example: "Front Door Light"
|
example: "Front Door Light"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
send_program_command:
|
send_program_command:
|
||||||
name: Send program command
|
|
||||||
description: >-
|
|
||||||
Send a command to control an ISY program or folder. Valid commands are run, run_then, run_else, stop, enable, disable,
|
|
||||||
enable_run_at_startup, and disable_run_at_startup.
|
|
||||||
fields:
|
fields:
|
||||||
address:
|
address:
|
||||||
name: Address
|
|
||||||
description: The address of the program to control (use either address or name).
|
|
||||||
example: "04B1"
|
example: "04B1"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
name:
|
name:
|
||||||
name: Name
|
|
||||||
description: The name of the program to control (use either address or name).
|
|
||||||
example: "My Program"
|
example: "My Program"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
command:
|
command:
|
||||||
name: Command
|
|
||||||
description: The ISY Program Command to be sent.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
@ -215,8 +154,6 @@ send_program_command:
|
|||||||
- "run_then"
|
- "run_then"
|
||||||
- "stop"
|
- "stop"
|
||||||
isy:
|
isy:
|
||||||
name: ISY
|
|
||||||
description: If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). If you have the same program name or address on multiple ISYs, omitting this will run the command on them all.
|
|
||||||
example: "ISY"
|
example: "ISY"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
"step": {
|
"step": {
|
||||||
"init": {
|
"init": {
|
||||||
"title": "ISY Options",
|
"title": "ISY Options",
|
||||||
"description": "Set the options for the ISY Integration: \n • Node Sensor String: Any device or folder that contains 'Node Sensor String' in the name will be treated as a sensor or binary sensor. \n • Ignore String: Any device with 'Ignore String' in the name will be ignored. \n • Variable Sensor String: Any variable that contains 'Variable Sensor String' will be added as a sensor. \n • Restore Light Brightness: If enabled, the previous brightness will be restored when turning on a light instead of the device's built-in On-Level.",
|
"description": "Set the options for the ISY Integration: \n \u2022 Node Sensor String: Any device or folder that contains 'Node Sensor String' in the name will be treated as a sensor or binary sensor. \n \u2022 Ignore String: Any device with 'Ignore String' in the name will be ignored. \n \u2022 Variable Sensor String: Any variable that contains 'Variable Sensor String' will be added as a sensor. \n \u2022 Restore Light Brightness: If enabled, the previous brightness will be restored when turning on a light instead of the device's built-in On-Level.",
|
||||||
"data": {
|
"data": {
|
||||||
"sensor_string": "Node Sensor String",
|
"sensor_string": "Node Sensor String",
|
||||||
"ignore_string": "Ignore String",
|
"ignore_string": "Ignore String",
|
||||||
@ -53,5 +53,123 @@
|
|||||||
"last_heartbeat": "Last Heartbeat Time",
|
"last_heartbeat": "Last Heartbeat Time",
|
||||||
"websocket_status": "Event Socket Status"
|
"websocket_status": "Event Socket Status"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"send_raw_node_command": {
|
||||||
|
"name": "Send raw node command",
|
||||||
|
"description": "Set the options for the ISY Integration: \n \u2022 Node Sensor String: Any device or folder that contains 'Node Sensor String' in the name will be treated as a sensor or binary sensor. \n \u2022 Ignore String: Any device with 'Ignore String' in the name will be ignored. \n \u2022 Variable Sensor String: Any variable that contains 'Variable Sensor String' will be added as a sensor. \n \u2022 Restore Light Brightness: If enabled, the previous brightness will be restored when turning on a light instead of the device's built-in On-Level.",
|
||||||
|
"fields": {
|
||||||
|
"command": {
|
||||||
|
"name": "Command",
|
||||||
|
"description": "The ISY REST Command to be sent to the device."
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"name": "Value",
|
||||||
|
"description": "The integer value to be sent with the command."
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
"name": "Parameters",
|
||||||
|
"description": "A dict of parameters to be sent in the query string (e.g. for controlling colored bulbs)."
|
||||||
|
},
|
||||||
|
"unit_of_measurement": {
|
||||||
|
"name": "Unit of measurement",
|
||||||
|
"description": "The ISY Unit of Measurement (UOM) to send with the command, if required."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"send_node_command": {
|
||||||
|
"name": "Send node command",
|
||||||
|
"description": "Sends a command to an ISY Device using its Home Assistant entity ID. Valid commands are: beep, brighten, dim, disable, enable, fade_down, fade_stop, fade_up, fast_off, fast_on, and query.",
|
||||||
|
"fields": {
|
||||||
|
"command": {
|
||||||
|
"name": "Command",
|
||||||
|
"description": "The command to be sent to the device."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_zwave_parameter": {
|
||||||
|
"name": "Get Z-Wave Parameter",
|
||||||
|
"description": "Requests a Z-Wave Device parameter via the ISY. The parameter value will be returned as a entity extra state attribute with the name \"ZW_#\" where \"#\" is the parameter number.",
|
||||||
|
"fields": {
|
||||||
|
"parameter": {
|
||||||
|
"name": "Parameter",
|
||||||
|
"description": "The parameter number to retrieve from the device."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_zwave_parameter": {
|
||||||
|
"name": "Set Z-Wave Parameter",
|
||||||
|
"description": "Updates a Z-Wave Device parameter via the ISY. The parameter value will also be returned as a entity extra state attribute with the name \"ZW_#\" where \"#\" is the parameter number.",
|
||||||
|
"fields": {
|
||||||
|
"parameter": {
|
||||||
|
"name": "Parameter",
|
||||||
|
"description": "The parameter number to set on the end device."
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"name": "Value",
|
||||||
|
"description": "The value to set for the parameter. May be an integer or byte string (e.g. \"0xFFFF\")."
|
||||||
|
},
|
||||||
|
"size": {
|
||||||
|
"name": "Size",
|
||||||
|
"description": "The size of the parameter, either 1, 2, or 4 bytes."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_zwave_lock_user_code": {
|
||||||
|
"name": "Set Z-Wave Lock User Code",
|
||||||
|
"description": "Sets a Z-Wave Lock User Code via the ISY.",
|
||||||
|
"fields": {
|
||||||
|
"user_num": {
|
||||||
|
"name": "User Number",
|
||||||
|
"description": "The user slot number on the lock."
|
||||||
|
},
|
||||||
|
"code": {
|
||||||
|
"name": "Code",
|
||||||
|
"description": "The code to set for the user."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"delete_zwave_lock_user_code": {
|
||||||
|
"name": "Delete Z-Wave Lock User Code",
|
||||||
|
"description": "Delete a Z-Wave Lock User Code via the ISY.",
|
||||||
|
"fields": {
|
||||||
|
"user_num": {
|
||||||
|
"name": "User Number",
|
||||||
|
"description": "The user slot number on the lock."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rename_node": {
|
||||||
|
"name": "Rename Node on ISY",
|
||||||
|
"description": "Renames a node or group (scene) on the ISY. Note: this will not automatically change the Home Assistant Entity Name or Entity ID to match. The entity name and ID will only be updated after calling `isy994.reload` or restarting Home Assistant, and ONLY IF you have not already customized the name within Home Assistant.",
|
||||||
|
"fields": {
|
||||||
|
"name": {
|
||||||
|
"name": "New Name",
|
||||||
|
"description": "The new name to use within the ISY."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"send_program_command": {
|
||||||
|
"name": "Send program command",
|
||||||
|
"description": "Sends a command to control an ISY program or folder. Valid commands are run, run_then, run_else, stop, enable, disable, enable_run_at_startup, and disable_run_at_startup.",
|
||||||
|
"fields": {
|
||||||
|
"address": {
|
||||||
|
"name": "Address",
|
||||||
|
"description": "The address of the program to control (use either address or name)."
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"name": "Name",
|
||||||
|
"description": "The name of the program to control (use either address or name)."
|
||||||
|
},
|
||||||
|
"command": {
|
||||||
|
"name": "Command",
|
||||||
|
"description": "The ISY Program Command to be sent."
|
||||||
|
},
|
||||||
|
"isy": {
|
||||||
|
"name": "ISY",
|
||||||
|
"description": "If you have more than one ISY connected, provide the name of the ISY to query (as shown on the Device Registry or as the top-first node in the ISY Admin Console). If you have the same program name or address on multiple ISYs, omitting this will run the command on them all."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
airflow_min:
|
airflow_min:
|
||||||
name: Set minimum airflow
|
|
||||||
description: Set the airflow minimum percent for a zone
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: izone
|
integration: izone
|
||||||
domain: climate
|
domain: climate
|
||||||
fields:
|
fields:
|
||||||
airflow:
|
airflow:
|
||||||
name: Percent
|
|
||||||
description: Airflow percent.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -17,16 +13,12 @@ airflow_min:
|
|||||||
step: 5
|
step: 5
|
||||||
unit_of_measurement: "%"
|
unit_of_measurement: "%"
|
||||||
airflow_max:
|
airflow_max:
|
||||||
name: Set maximum airflow
|
|
||||||
description: Set the airflow maximum percent for a zone
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: izone
|
integration: izone
|
||||||
domain: climate
|
domain: climate
|
||||||
fields:
|
fields:
|
||||||
airflow:
|
airflow:
|
||||||
name: Percent
|
|
||||||
description: Airflow percent.
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
|
@ -9,5 +9,27 @@
|
|||||||
"single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]",
|
"single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]",
|
||||||
"no_devices_found": "[%key:common::config_flow::abort::no_devices_found%]"
|
"no_devices_found": "[%key:common::config_flow::abort::no_devices_found%]"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"airflow_min": {
|
||||||
|
"name": "Set minimum airflow",
|
||||||
|
"description": "Sets the airflow minimum percent for a zone.",
|
||||||
|
"fields": {
|
||||||
|
"airflow": {
|
||||||
|
"name": "Percent",
|
||||||
|
"description": "Airflow percent."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"airflow_max": {
|
||||||
|
"name": "Set maximum airflow",
|
||||||
|
"description": "Sets the airflow maximum percent for a zone.",
|
||||||
|
"fields": {
|
||||||
|
"airflow": {
|
||||||
|
"name": "Percent",
|
||||||
|
"description": "Airflow percent."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,11 @@
|
|||||||
# Describes the format for available services for KEBA charging staitons
|
# Describes the format for available services for KEBA charging staitons
|
||||||
|
|
||||||
request_data:
|
request_data:
|
||||||
name: Request data
|
|
||||||
description: >
|
|
||||||
Request new data from the charging station.
|
|
||||||
|
|
||||||
authorize:
|
authorize:
|
||||||
name: Authorize
|
|
||||||
description: >
|
|
||||||
Authorizes a charging process with the predefined RFID tag of the configuration file.
|
|
||||||
|
|
||||||
deauthorize:
|
deauthorize:
|
||||||
name: Deauthorize
|
|
||||||
description: >
|
|
||||||
Deauthorizes the running charging process with the predefined RFID tag of the configuration file.
|
|
||||||
|
|
||||||
set_energy:
|
set_energy:
|
||||||
name: Set energy
|
|
||||||
description: Sets the energy target after which the charging process stops.
|
|
||||||
fields:
|
fields:
|
||||||
energy:
|
energy:
|
||||||
name: Energy
|
|
||||||
description: >
|
|
||||||
The energy target to stop charging. Setting 0 disables the limit.
|
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 0
|
min: 0
|
||||||
@ -31,15 +14,8 @@ set_energy:
|
|||||||
unit_of_measurement: "kWh"
|
unit_of_measurement: "kWh"
|
||||||
|
|
||||||
set_current:
|
set_current:
|
||||||
name: Set current
|
|
||||||
description: Sets the maximum current for charging processes.
|
|
||||||
fields:
|
fields:
|
||||||
current:
|
current:
|
||||||
name: Current
|
|
||||||
description: >
|
|
||||||
The maximum current used for the charging process.
|
|
||||||
The value is depending on the DIP-switch settings and the used cable of the
|
|
||||||
charging station.
|
|
||||||
default: 6
|
default: 6
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -49,24 +25,10 @@ set_current:
|
|||||||
unit_of_measurement: "A"
|
unit_of_measurement: "A"
|
||||||
|
|
||||||
enable:
|
enable:
|
||||||
name: Enable
|
|
||||||
description: >
|
|
||||||
Starts a charging process if charging station is authorized.
|
|
||||||
|
|
||||||
disable:
|
disable:
|
||||||
name: Disable
|
|
||||||
description: >
|
|
||||||
Stops the charging process if charging station is authorized.
|
|
||||||
|
|
||||||
set_failsafe:
|
set_failsafe:
|
||||||
name: Set failsafe
|
|
||||||
description: >
|
|
||||||
Set the failsafe mode of the charging station. If all parameters are 0, the failsafe mode will be disabled.
|
|
||||||
fields:
|
fields:
|
||||||
failsafe_timeout:
|
failsafe_timeout:
|
||||||
name: Failsafe timeout
|
|
||||||
description: >
|
|
||||||
Timeout after which the failsafe mode is triggered, if set_current was not executed during this time.
|
|
||||||
default: 30
|
default: 30
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -74,9 +36,6 @@ set_failsafe:
|
|||||||
max: 3600
|
max: 3600
|
||||||
unit_of_measurement: seconds
|
unit_of_measurement: seconds
|
||||||
failsafe_fallback:
|
failsafe_fallback:
|
||||||
name: Failsafe fallback
|
|
||||||
description: >
|
|
||||||
Fallback current to be set after timeout.
|
|
||||||
default: 6
|
default: 6
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -85,9 +44,6 @@ set_failsafe:
|
|||||||
step: 0.1
|
step: 0.1
|
||||||
unit_of_measurement: "A"
|
unit_of_measurement: "A"
|
||||||
failsafe_persist:
|
failsafe_persist:
|
||||||
name: Failsafe persist
|
|
||||||
description: >
|
|
||||||
If failsafe_persist is 0, the failsafe option is only until charging station reboot. If failsafe_persist is 1, the failsafe option will survive a reboot.
|
|
||||||
default: 0
|
default: 0
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
|
62
homeassistant/components/keba/strings.json
Normal file
62
homeassistant/components/keba/strings.json
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"services": {
|
||||||
|
"request_data": {
|
||||||
|
"name": "Request data",
|
||||||
|
"description": "Requesta new data from the charging station."
|
||||||
|
},
|
||||||
|
"authorize": {
|
||||||
|
"name": "Authorize",
|
||||||
|
"description": "Authorizes a charging process with the predefined RFID tag of the configuration file."
|
||||||
|
},
|
||||||
|
"deauthorize": {
|
||||||
|
"name": "Deauthorize",
|
||||||
|
"description": "Deauthorizes the running charging process with the predefined RFID tag of the configuration file."
|
||||||
|
},
|
||||||
|
"set_energy": {
|
||||||
|
"name": "Set energy",
|
||||||
|
"description": "Sets the energy target after which the charging process stops.",
|
||||||
|
"fields": {
|
||||||
|
"energy": {
|
||||||
|
"name": "Energy",
|
||||||
|
"description": "The energy target to stop charging. Setting 0 disables the limit."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_current": {
|
||||||
|
"name": "Set current",
|
||||||
|
"description": "Sets the maximum current for charging processes.",
|
||||||
|
"fields": {
|
||||||
|
"current": {
|
||||||
|
"name": "Current",
|
||||||
|
"description": "The maximum current used for the charging process. The value is depending on the DIP-switch settings and the used cable of the charging station."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enable": {
|
||||||
|
"name": "Enable",
|
||||||
|
"description": "Starts a charging process if charging station is authorized."
|
||||||
|
},
|
||||||
|
"disable": {
|
||||||
|
"name": "Disable",
|
||||||
|
"description": "Stops the charging process if charging station is authorized."
|
||||||
|
},
|
||||||
|
"set_failsafe": {
|
||||||
|
"name": "Set failsafe",
|
||||||
|
"description": "Sets the failsafe mode of the charging station. If all parameters are 0, the failsafe mode will be disabled.",
|
||||||
|
"fields": {
|
||||||
|
"failsafe_timeout": {
|
||||||
|
"name": "Failsafe timeout",
|
||||||
|
"description": "Timeout after which the failsafe mode is triggered, if set_current was not executed during this time."
|
||||||
|
},
|
||||||
|
"failsafe_fallback": {
|
||||||
|
"name": "Failsafe fallback",
|
||||||
|
"description": "Fallback current to be set after timeout."
|
||||||
|
},
|
||||||
|
"failsafe_persist": {
|
||||||
|
"name": "Failsafe persist",
|
||||||
|
"description": "If failsafe_persist is 0, the failsafe option is only until charging station reboot. If failsafe_persist is 1, the failsafe option will survive a reboot."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,14 +1,10 @@
|
|||||||
update_dsp:
|
update_dsp:
|
||||||
name: Update DSP
|
|
||||||
description: Update all DSP settings.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kef
|
integration: kef
|
||||||
domain: media_player
|
domain: media_player
|
||||||
|
|
||||||
set_mode:
|
set_mode:
|
||||||
name: Set mode
|
|
||||||
description: Set the mode of the speaker.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kef
|
integration: kef
|
||||||
@ -16,36 +12,24 @@ set_mode:
|
|||||||
|
|
||||||
fields:
|
fields:
|
||||||
desk_mode:
|
desk_mode:
|
||||||
name: Desk mode
|
|
||||||
description: Desk mode.
|
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
wall_mode:
|
wall_mode:
|
||||||
name: Wall mode
|
|
||||||
description: Wall mode.
|
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
phase_correction:
|
phase_correction:
|
||||||
name: Phase correction
|
|
||||||
description: Phase correction.
|
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
high_pass:
|
high_pass:
|
||||||
name: High pass
|
|
||||||
description: High-pass mode".
|
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
sub_polarity:
|
sub_polarity:
|
||||||
name: Subwoofer polarity
|
|
||||||
description: Sub polarity.
|
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
options:
|
options:
|
||||||
- "-"
|
- "-"
|
||||||
- "+"
|
- "+"
|
||||||
bass_extension:
|
bass_extension:
|
||||||
name: Base extension
|
|
||||||
description: Bass extension.
|
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
options:
|
options:
|
||||||
@ -54,16 +38,12 @@ set_mode:
|
|||||||
- "Extra"
|
- "Extra"
|
||||||
|
|
||||||
set_desk_db:
|
set_desk_db:
|
||||||
name: Set desk dB
|
|
||||||
description: Set the "Desk mode" slider of the speaker in dB.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kef
|
integration: kef
|
||||||
domain: media_player
|
domain: media_player
|
||||||
fields:
|
fields:
|
||||||
db_value:
|
db_value:
|
||||||
name: dB value
|
|
||||||
description: Value of the slider
|
|
||||||
example: 0.0
|
example: 0.0
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
@ -73,16 +53,12 @@ set_desk_db:
|
|||||||
unit_of_measurement: dB
|
unit_of_measurement: dB
|
||||||
|
|
||||||
set_wall_db:
|
set_wall_db:
|
||||||
name: Set wall dB
|
|
||||||
description: Set the "Wall mode" slider of the speaker in dB.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kef
|
integration: kef
|
||||||
domain: media_player
|
domain: media_player
|
||||||
fields:
|
fields:
|
||||||
db_value:
|
db_value:
|
||||||
name: dB value
|
|
||||||
description: Value of the slider.
|
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: -6
|
min: -6
|
||||||
@ -91,16 +67,12 @@ set_wall_db:
|
|||||||
unit_of_measurement: dB
|
unit_of_measurement: dB
|
||||||
|
|
||||||
set_treble_db:
|
set_treble_db:
|
||||||
name: Set treble dB
|
|
||||||
description: Set desk the "Treble trim" slider of the speaker in dB.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kef
|
integration: kef
|
||||||
domain: media_player
|
domain: media_player
|
||||||
fields:
|
fields:
|
||||||
db_value:
|
db_value:
|
||||||
name: dB value
|
|
||||||
description: Value of the slider.
|
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: -2
|
min: -2
|
||||||
@ -109,16 +81,12 @@ set_treble_db:
|
|||||||
unit_of_measurement: dB
|
unit_of_measurement: dB
|
||||||
|
|
||||||
set_high_hz:
|
set_high_hz:
|
||||||
name: Set high hertz
|
|
||||||
description: Set the "High-pass mode" slider of the speaker in Hz.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kef
|
integration: kef
|
||||||
domain: media_player
|
domain: media_player
|
||||||
fields:
|
fields:
|
||||||
hz_value:
|
hz_value:
|
||||||
name: Hertz value
|
|
||||||
description: Value of the slider.
|
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 50
|
min: 50
|
||||||
@ -127,16 +95,12 @@ set_high_hz:
|
|||||||
unit_of_measurement: Hz
|
unit_of_measurement: Hz
|
||||||
|
|
||||||
set_low_hz:
|
set_low_hz:
|
||||||
name: Set low Hertz
|
|
||||||
description: Set the "Sub out low-pass frequency" slider of the speaker in Hz.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kef
|
integration: kef
|
||||||
domain: media_player
|
domain: media_player
|
||||||
fields:
|
fields:
|
||||||
hz_value:
|
hz_value:
|
||||||
name: Hertz value
|
|
||||||
description: Value of the slider.
|
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: 40
|
min: 40
|
||||||
@ -145,16 +109,12 @@ set_low_hz:
|
|||||||
unit_of_measurement: Hz
|
unit_of_measurement: Hz
|
||||||
|
|
||||||
set_sub_db:
|
set_sub_db:
|
||||||
name: Set subwoofer dB
|
|
||||||
description: Set the "Sub gain" slider of the speaker in dB.
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kef
|
integration: kef
|
||||||
domain: media_player
|
domain: media_player
|
||||||
fields:
|
fields:
|
||||||
db_value:
|
db_value:
|
||||||
name: dB value
|
|
||||||
description: Value of the slider.
|
|
||||||
selector:
|
selector:
|
||||||
number:
|
number:
|
||||||
min: -10
|
min: -10
|
||||||
|
98
homeassistant/components/kef/strings.json
Normal file
98
homeassistant/components/kef/strings.json
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
{
|
||||||
|
"services": {
|
||||||
|
"update_dsp": {
|
||||||
|
"name": "Update DSP",
|
||||||
|
"description": "Updates all DSP settings."
|
||||||
|
},
|
||||||
|
"set_mode": {
|
||||||
|
"name": "Set mode",
|
||||||
|
"description": "Sets the mode of the speaker.",
|
||||||
|
"fields": {
|
||||||
|
"desk_mode": {
|
||||||
|
"name": "Desk mode",
|
||||||
|
"description": "Desk mode."
|
||||||
|
},
|
||||||
|
"wall_mode": {
|
||||||
|
"name": "Wall mode",
|
||||||
|
"description": "Wall mode."
|
||||||
|
},
|
||||||
|
"phase_correction": {
|
||||||
|
"name": "Phase correction",
|
||||||
|
"description": "Phase correction."
|
||||||
|
},
|
||||||
|
"high_pass": {
|
||||||
|
"name": "High pass",
|
||||||
|
"description": "High-pass mode\"."
|
||||||
|
},
|
||||||
|
"sub_polarity": {
|
||||||
|
"name": "Subwoofer polarity",
|
||||||
|
"description": "Sub polarity."
|
||||||
|
},
|
||||||
|
"bass_extension": {
|
||||||
|
"name": "Base extension",
|
||||||
|
"description": "Bass extension."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_desk_db": {
|
||||||
|
"name": "Set desk dB",
|
||||||
|
"description": "Sets the \"Desk mode\" slider of the speaker in dB.",
|
||||||
|
"fields": {
|
||||||
|
"db_value": {
|
||||||
|
"name": "DB value",
|
||||||
|
"description": "Value of the slider."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_wall_db": {
|
||||||
|
"name": "Set wall dB",
|
||||||
|
"description": "Sets the \"Wall mode\" slider of the speaker in dB.",
|
||||||
|
"fields": {
|
||||||
|
"db_value": {
|
||||||
|
"name": "DB value",
|
||||||
|
"description": "Value of the slider."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_treble_db": {
|
||||||
|
"name": "Set treble dB",
|
||||||
|
"description": "Sets desk the \"Treble trim\" slider of the speaker in dB.",
|
||||||
|
"fields": {
|
||||||
|
"db_value": {
|
||||||
|
"name": "DB value",
|
||||||
|
"description": "Value of the slider."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_high_hz": {
|
||||||
|
"name": "Set high hertz",
|
||||||
|
"description": "Sets the \"High-pass mode\" slider of the speaker in Hz.",
|
||||||
|
"fields": {
|
||||||
|
"hz_value": {
|
||||||
|
"name": "Hertz value",
|
||||||
|
"description": "Value of the slider."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_low_hz": {
|
||||||
|
"name": "Sets low Hertz",
|
||||||
|
"description": "Set the \"Sub out low-pass frequency\" slider of the speaker in Hz.",
|
||||||
|
"fields": {
|
||||||
|
"hz_value": {
|
||||||
|
"name": "Hertz value",
|
||||||
|
"description": "Value of the slider."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"set_sub_db": {
|
||||||
|
"name": "Sets subwoofer dB",
|
||||||
|
"description": "Set the \"Sub gain\" slider of the speaker in dB.",
|
||||||
|
"fields": {
|
||||||
|
"db_value": {
|
||||||
|
"name": "DB value",
|
||||||
|
"description": "Value of the slider."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,35 +1,6 @@
|
|||||||
volume_up:
|
volume_up:
|
||||||
name: Volume up
|
|
||||||
description:
|
|
||||||
Simulates a key press of the "Volume Up" button on Home Assistant's host
|
|
||||||
machine
|
|
||||||
|
|
||||||
volume_down:
|
volume_down:
|
||||||
name: Volume down
|
|
||||||
description:
|
|
||||||
Simulates a key press of the "Volume Down" button on Home Assistant's host
|
|
||||||
machine
|
|
||||||
|
|
||||||
volume_mute:
|
volume_mute:
|
||||||
name: Volume mute
|
|
||||||
description:
|
|
||||||
Simulates a key press of the "Volume Mute" button on Home Assistant's host
|
|
||||||
machine
|
|
||||||
|
|
||||||
media_play_pause:
|
media_play_pause:
|
||||||
name: Media play/pause
|
|
||||||
description:
|
|
||||||
Simulates a key press of the "Media Play/Pause" button on Home Assistant's
|
|
||||||
host machine
|
|
||||||
|
|
||||||
media_next_track:
|
media_next_track:
|
||||||
name: Media next track
|
|
||||||
description:
|
|
||||||
Simulates a key press of the "Media Next Track" button on Home Assistant's
|
|
||||||
host machine
|
|
||||||
|
|
||||||
media_prev_track:
|
media_prev_track:
|
||||||
name: Media previous track
|
|
||||||
description:
|
|
||||||
Simulates a key press of the "Media Previous Track" button on Home
|
|
||||||
Assistant's host machine
|
|
||||||
|
28
homeassistant/components/keyboard/strings.json
Normal file
28
homeassistant/components/keyboard/strings.json
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"services": {
|
||||||
|
"volume_up": {
|
||||||
|
"name": "Volume up",
|
||||||
|
"description": "Simulates a key press of the \"Volume Up\" button on Home Assistant's host machine."
|
||||||
|
},
|
||||||
|
"volume_down": {
|
||||||
|
"name": "Volume down",
|
||||||
|
"description": "Simulates a key press of the \"Volume Down\" button on Home Assistant's host machine."
|
||||||
|
},
|
||||||
|
"volume_mute": {
|
||||||
|
"name": "Volume mute",
|
||||||
|
"description": "Simulates a key press of the \"Volume Mute\" button on Home Assistant's host machine."
|
||||||
|
},
|
||||||
|
"media_play_pause": {
|
||||||
|
"name": "Media play/pause",
|
||||||
|
"description": "Simulates a key press of the \"Media Play/Pause\" button on Home Assistant's host machine."
|
||||||
|
},
|
||||||
|
"media_next_track": {
|
||||||
|
"name": "Media next track",
|
||||||
|
"description": "Simulates a key press of the \"Media Next Track\" button on Home Assistant's host machine."
|
||||||
|
},
|
||||||
|
"media_prev_track": {
|
||||||
|
"name": "Media previous track",
|
||||||
|
"description": "Simulates a key press of the \"Media Previous Track\" button on Home Assistant's host machine."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,17 +1,11 @@
|
|||||||
calibrate:
|
calibrate:
|
||||||
name: Calibrate
|
|
||||||
description: Calibration - Set depth, press & hold duration, and operation mode. Warning - this will send a push command to the device
|
|
||||||
fields:
|
fields:
|
||||||
entity_id:
|
entity_id:
|
||||||
name: Entity
|
|
||||||
description: Name of entity to calibrate
|
|
||||||
selector:
|
selector:
|
||||||
entity:
|
entity:
|
||||||
integration: keymitt_ble
|
integration: keymitt_ble
|
||||||
domain: switch
|
domain: switch
|
||||||
depth:
|
depth:
|
||||||
name: Depth
|
|
||||||
description: Depth in percent
|
|
||||||
example: 50
|
example: 50
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
@ -22,8 +16,6 @@ calibrate:
|
|||||||
max: 100
|
max: 100
|
||||||
unit_of_measurement: "%"
|
unit_of_measurement: "%"
|
||||||
duration:
|
duration:
|
||||||
name: Duration
|
|
||||||
description: Duration in seconds
|
|
||||||
example: 1
|
example: 1
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
@ -34,8 +26,6 @@ calibrate:
|
|||||||
max: 60
|
max: 60
|
||||||
unit_of_measurement: seconds
|
unit_of_measurement: seconds
|
||||||
mode:
|
mode:
|
||||||
name: Mode
|
|
||||||
description: normal | invert | toggle
|
|
||||||
example: "normal"
|
example: "normal"
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
|
@ -23,5 +23,29 @@
|
|||||||
"unknown": "[%key:common::config_flow::error::unknown%]",
|
"unknown": "[%key:common::config_flow::error::unknown%]",
|
||||||
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
|
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"calibrate": {
|
||||||
|
"name": "Calibrate",
|
||||||
|
"description": "Calibration - Set depth, press & hold duration, and operation mode. Warning - this will send a push command to the device.",
|
||||||
|
"fields": {
|
||||||
|
"entity_id": {
|
||||||
|
"name": "Entity",
|
||||||
|
"description": "Name of entity to calibrate."
|
||||||
|
},
|
||||||
|
"depth": {
|
||||||
|
"name": "Depth",
|
||||||
|
"description": "Depth in percent."
|
||||||
|
},
|
||||||
|
"duration": {
|
||||||
|
"name": "Duration",
|
||||||
|
"description": "Duration in seconds."
|
||||||
|
},
|
||||||
|
"mode": {
|
||||||
|
"name": "Mode",
|
||||||
|
"description": "Normal | invert | toggle."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,111 +1,73 @@
|
|||||||
send:
|
send:
|
||||||
name: "Send to KNX bus"
|
|
||||||
description: "Send arbitrary data directly to the KNX bus."
|
|
||||||
fields:
|
fields:
|
||||||
address:
|
address:
|
||||||
name: "Group address"
|
|
||||||
description: "Group address(es) to write to. Lists will send to multiple group addresses successively."
|
|
||||||
required: true
|
required: true
|
||||||
example: "1/1/0"
|
example: "1/1/0"
|
||||||
selector:
|
selector:
|
||||||
object:
|
object:
|
||||||
payload:
|
payload:
|
||||||
name: "Payload"
|
|
||||||
description: "Payload to send to the bus. Integers are treated as DPT 1/2/3 payloads. For DPTs > 6 bits send a list. Each value represents 1 octet (0-255). Pad with 0 to DPT byte length."
|
|
||||||
required: true
|
required: true
|
||||||
example: "[0, 4]"
|
example: "[0, 4]"
|
||||||
selector:
|
selector:
|
||||||
object:
|
object:
|
||||||
type:
|
type:
|
||||||
name: "Value type"
|
|
||||||
description: "If set, the payload will not be sent as raw bytes, but encoded as given DPT. KNX sensor types are valid values (see https://www.home-assistant.io/integrations/knx/#value-types)."
|
|
||||||
required: false
|
required: false
|
||||||
example: "temperature"
|
example: "temperature"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
response:
|
response:
|
||||||
name: "Send as Response"
|
|
||||||
description: "If set to `True`, the telegram will be sent as a `GroupValueResponse` instead of a `GroupValueWrite`."
|
|
||||||
default: false
|
default: false
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
read:
|
read:
|
||||||
name: "Read from KNX bus"
|
|
||||||
description: "Send GroupValueRead requests to the KNX bus. Response can be used from `knx_event` and will be processed in KNX entities."
|
|
||||||
fields:
|
fields:
|
||||||
address:
|
address:
|
||||||
name: "Group address"
|
|
||||||
description: "Group address(es) to send read request to. Lists will read multiple group addresses."
|
|
||||||
required: true
|
required: true
|
||||||
example: "1/1/0"
|
example: "1/1/0"
|
||||||
selector:
|
selector:
|
||||||
object:
|
object:
|
||||||
event_register:
|
event_register:
|
||||||
name: "Register knx_event"
|
|
||||||
description: "Add or remove group addresses to knx_event filter for triggering `knx_event`s. Only addresses added with this service can be removed."
|
|
||||||
fields:
|
fields:
|
||||||
address:
|
address:
|
||||||
name: "Group address"
|
|
||||||
description: "Group address(es) that shall be added or removed. Lists are allowed."
|
|
||||||
required: true
|
required: true
|
||||||
example: "1/1/0"
|
example: "1/1/0"
|
||||||
selector:
|
selector:
|
||||||
object:
|
object:
|
||||||
type:
|
type:
|
||||||
name: "Value type"
|
|
||||||
description: "If set, the payload will be decoded as given DPT in the event data `value` key. KNX sensor types are valid values (see https://www.home-assistant.io/integrations/knx/#value-types)."
|
|
||||||
required: false
|
required: false
|
||||||
example: "2byte_float"
|
example: "2byte_float"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
remove:
|
remove:
|
||||||
name: "Remove event registration"
|
|
||||||
description: "If `True` the group address(es) will be removed."
|
|
||||||
default: false
|
default: false
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
exposure_register:
|
exposure_register:
|
||||||
name: "Expose to KNX bus"
|
|
||||||
description: "Add or remove exposures to KNX bus. Only exposures added with this service can be removed."
|
|
||||||
fields:
|
fields:
|
||||||
address:
|
address:
|
||||||
name: "Group address"
|
|
||||||
description: "Group address state or attribute updates will be sent to. GroupValueRead requests will be answered. Per address only one exposure can be registered."
|
|
||||||
required: true
|
required: true
|
||||||
example: "1/1/0"
|
example: "1/1/0"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
type:
|
type:
|
||||||
name: "Value type"
|
|
||||||
description: "Telegrams will be encoded as given DPT. 'binary' and all KNX sensor types are valid values (see https://www.home-assistant.io/integrations/knx/#value-types)"
|
|
||||||
required: true
|
required: true
|
||||||
example: "percentU8"
|
example: "percentU8"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
entity_id:
|
entity_id:
|
||||||
name: "Entity"
|
|
||||||
description: "Entity id whose state or attribute shall be exposed."
|
|
||||||
required: true
|
required: true
|
||||||
selector:
|
selector:
|
||||||
entity:
|
entity:
|
||||||
attribute:
|
attribute:
|
||||||
name: "Entity attribute"
|
|
||||||
description: "Attribute of the entity that shall be sent to the KNX bus. If not set the state will be sent. Eg. for a light the state is eigther “on” or “off” - with attribute you can expose its “brightness”."
|
|
||||||
example: "brightness"
|
example: "brightness"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
default:
|
default:
|
||||||
name: "Default value"
|
|
||||||
description: "Default value to send to the bus if the state or attribute value is None. Eg. a light with state “off” has no brightness attribute so a default value of 0 could be used. If not set (or None) no value would be sent to the bus and a GroupReadRequest to the address would return the last known value."
|
|
||||||
example: "0"
|
example: "0"
|
||||||
selector:
|
selector:
|
||||||
object:
|
object:
|
||||||
remove:
|
remove:
|
||||||
name: "Remove exposure"
|
|
||||||
description: "If `True` the exposure will be removed. Only `address` is required for removal."
|
|
||||||
default: false
|
default: false
|
||||||
selector:
|
selector:
|
||||||
boolean:
|
boolean:
|
||||||
reload:
|
reload:
|
||||||
name: Reload
|
|
||||||
description: Reload the KNX integration.
|
|
||||||
|
@ -288,5 +288,91 @@
|
|||||||
"trigger_type": {
|
"trigger_type": {
|
||||||
"telegram": "Telegram sent or received"
|
"telegram": "Telegram sent or received"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"send": {
|
||||||
|
"name": "Send to KNX bus",
|
||||||
|
"description": "Sends arbitrary data directly to the KNX bus.",
|
||||||
|
"fields": {
|
||||||
|
"address": {
|
||||||
|
"name": "Group address",
|
||||||
|
"description": "Group address(es) to write to. Lists will send to multiple group addresses successively."
|
||||||
|
},
|
||||||
|
"payload": {
|
||||||
|
"name": "Payload",
|
||||||
|
"description": "Payload to send to the bus. Integers are treated as DPT 1/2/3 payloads. For DPTs > 6 bits send a list. Each value represents 1 octet (0-255). Pad with 0 to DPT byte length."
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"name": "Value type",
|
||||||
|
"description": "If set, the payload will not be sent as raw bytes, but encoded as given DPT. KNX sensor types are valid values (see https://www.home-assistant.io/integrations/knx/#value-types)."
|
||||||
|
},
|
||||||
|
"response": {
|
||||||
|
"name": "Send as Response",
|
||||||
|
"description": "If set to `True`, the telegram will be sent as a `GroupValueResponse` instead of a `GroupValueWrite`."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"read": {
|
||||||
|
"name": "Reads from KNX bus",
|
||||||
|
"description": "Send GroupValueRead requests to the KNX bus. Response can be used from `knx_event` and will be processed in KNX entities.",
|
||||||
|
"fields": {
|
||||||
|
"address": {
|
||||||
|
"name": "Group address",
|
||||||
|
"description": "Group address(es) to send read request to. Lists will read multiple group addresses."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"event_register": {
|
||||||
|
"name": "Registers knx_event",
|
||||||
|
"description": "Add or remove group addresses to knx_event filter for triggering `knx_event`s. Only addresses added with this service can be removed.",
|
||||||
|
"fields": {
|
||||||
|
"address": {
|
||||||
|
"name": "Group address",
|
||||||
|
"description": "Group address(es) that shall be added or removed. Lists are allowed."
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"name": "Value type",
|
||||||
|
"description": "If set, the payload will be decoded as given DPT in the event data `value` key. KNX sensor types are valid values (see https://www.home-assistant.io/integrations/knx/#value-types)."
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"name": "Remove event registration",
|
||||||
|
"description": "If `True` the group address(es) will be removed."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exposure_register": {
|
||||||
|
"name": "Expose to KNX bus",
|
||||||
|
"description": "Adds or remove exposures to KNX bus. Only exposures added with this service can be removed.",
|
||||||
|
"fields": {
|
||||||
|
"address": {
|
||||||
|
"name": "Group address",
|
||||||
|
"description": "Group address state or attribute updates will be sent to. GroupValueRead requests will be answered. Per address only one exposure can be registered."
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"name": "Value type",
|
||||||
|
"description": "Telegrams will be encoded as given DPT. 'binary' and all KNX sensor types are valid values (see https://www.home-assistant.io/integrations/knx/#value-types)."
|
||||||
|
},
|
||||||
|
"entity_id": {
|
||||||
|
"name": "Entity",
|
||||||
|
"description": "Entity id whose state or attribute shall be exposed."
|
||||||
|
},
|
||||||
|
"attribute": {
|
||||||
|
"name": "Entity attribute",
|
||||||
|
"description": "Attribute of the entity that shall be sent to the KNX bus. If not set the state will be sent. Eg. for a light the state is eigther \u201con\u201d or \u201coff\u201d - with attribute you can expose its \u201cbrightness\u201d."
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"name": "Default value",
|
||||||
|
"description": "Default value to send to the bus if the state or attribute value is None. Eg. a light with state \u201coff\u201d has no brightness attribute so a default value of 0 could be used. If not set (or None) no value would be sent to the bus and a GroupReadRequest to the address would return the last known value."
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"name": "Remove exposure",
|
||||||
|
"description": "If `True` the exposure will be removed. Only `address` is required for removal."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reload": {
|
||||||
|
"name": "Reload",
|
||||||
|
"description": "Reloads the KNX integration."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,50 +1,36 @@
|
|||||||
# Describes the format for available Kodi services
|
# Describes the format for available Kodi services
|
||||||
|
|
||||||
add_to_playlist:
|
add_to_playlist:
|
||||||
name: Add to playlist
|
|
||||||
description: Add music to the default playlist (i.e. playlistid=0).
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kodi
|
integration: kodi
|
||||||
domain: media_player
|
domain: media_player
|
||||||
fields:
|
fields:
|
||||||
media_type:
|
media_type:
|
||||||
name: Media type
|
|
||||||
description: Media type identifier. It must be one of SONG or ALBUM.
|
|
||||||
required: true
|
required: true
|
||||||
example: ALBUM
|
example: ALBUM
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
media_id:
|
media_id:
|
||||||
name: Media ID
|
|
||||||
description: Unique Id of the media entry to add (`songid` or albumid`). If not defined, `media_name` and `artist_name` are needed to search the Kodi music library.
|
|
||||||
example: 123456
|
example: 123456
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
media_name:
|
media_name:
|
||||||
name: Media Name
|
|
||||||
description: Optional media name for filtering media. Can be 'ALL' when `media_type` is 'ALBUM' and `artist_name` is specified, to add all songs from one artist.
|
|
||||||
example: "Highway to Hell"
|
example: "Highway to Hell"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
artist_name:
|
artist_name:
|
||||||
name: Artist name
|
|
||||||
description: Optional artist name for filtering media.
|
|
||||||
example: "AC/DC"
|
example: "AC/DC"
|
||||||
selector:
|
selector:
|
||||||
text:
|
text:
|
||||||
|
|
||||||
call_method:
|
call_method:
|
||||||
name: Call method
|
|
||||||
description: "Call a Kodi JSONRPC API method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`."
|
|
||||||
target:
|
target:
|
||||||
entity:
|
entity:
|
||||||
integration: kodi
|
integration: kodi
|
||||||
domain: media_player
|
domain: media_player
|
||||||
fields:
|
fields:
|
||||||
method:
|
method:
|
||||||
name: Method
|
|
||||||
description: Name of the Kodi JSONRPC API method to be called.
|
|
||||||
required: true
|
required: true
|
||||||
example: "VideoLibrary.GetRecentlyAddedEpisodes"
|
example: "VideoLibrary.GetRecentlyAddedEpisodes"
|
||||||
selector:
|
selector:
|
||||||
|
@ -46,5 +46,39 @@
|
|||||||
"turn_on": "[%key:common::device_automation::action_type::turn_on%]",
|
"turn_on": "[%key:common::device_automation::action_type::turn_on%]",
|
||||||
"turn_off": "[%key:common::device_automation::action_type::turn_off%]"
|
"turn_off": "[%key:common::device_automation::action_type::turn_off%]"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"add_to_playlist": {
|
||||||
|
"name": "Add to playlist",
|
||||||
|
"description": "Adds music to the default playlist (i.e. playlistid=0).",
|
||||||
|
"fields": {
|
||||||
|
"media_type": {
|
||||||
|
"name": "Media type",
|
||||||
|
"description": "Media type identifier. It must be one of SONG or ALBUM."
|
||||||
|
},
|
||||||
|
"media_id": {
|
||||||
|
"name": "Media ID",
|
||||||
|
"description": "Unique Id of the media entry to add (`songid` or albumid`). If not defined, `media_name` and `artist_name` are needed to search the Kodi music library."
|
||||||
|
},
|
||||||
|
"media_name": {
|
||||||
|
"name": "Media name",
|
||||||
|
"description": "Optional media name for filtering media. Can be 'ALL' when `media_type` is 'ALBUM' and `artist_name` is specified, to add all songs from one artist."
|
||||||
|
},
|
||||||
|
"artist_name": {
|
||||||
|
"name": "Artist name",
|
||||||
|
"description": "Optional artist name for filtering media."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"call_method": {
|
||||||
|
"name": "Call method",
|
||||||
|
"description": "Calls a Kodi JSONRPC API method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`.",
|
||||||
|
"fields": {
|
||||||
|
"method": {
|
||||||
|
"name": "Method",
|
||||||
|
"description": "Name of the Kodi JSONRPC API method to be called."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user