# Describes the format for available Z-Wave services

clear_lock_usercode:
  target:
    entity:
      domain: lock
      integration: zwave_js
  fields:
    code_slot:
      required: true
      example: 1
      selector:
        text:

set_lock_usercode:
  target:
    entity:
      domain: lock
      integration: zwave_js
  fields:
    code_slot:
      required: true
      example: 1
      selector:
        text:
    usercode:
      required: true
      example: 1234
      selector:
        text:

set_lock_configuration:
  target:
    entity:
      domain: lock
      integration: zwave_js
  fields:
    operation_type:
      required: true
      example: timed
      selector:
        select:
          options:
            - constant
            - timed
    lock_timeout:
      required: false
      example: 1
      selector:
        number:
          min: 0
          max: 65535
          unit_of_measurement: sec
    auto_relock_time:
      required: false
      example: 1
      selector:
        number:
          min: 0
          max: 65535
          unit_of_measurement: sec
    hold_and_release_time:
      required: false
      example: 1
      selector:
        number:
          min: 0
          max: 65535
          unit_of_measurement: sec
    twist_assist:
      required: false
      example: true
      selector:
        boolean:
    block_to_block:
      required: false
      example: true
      selector:
        boolean:

set_config_parameter:
  fields:
    area_id:
      example: living_room
      selector:
        area:
          device:
            - integration: zwave_js
          multiple: true
    device_id:
      example: "8f4219cfa57e23f6f669c4616c2205e2"
      selector:
        device:
          filter:
            - integration: zwave_js
          multiple: true
    entity_id:
      example: sensor.living_room_temperature
      selector:
        entity:
          filter:
            - integration: zwave_js
          multiple: true
    endpoint:
      example: 1
      default: 0
      required: false
      selector:
        text:
    parameter:
      example: Minimum brightness level
      required: true
      selector:
        text:
    bitmask:
      advanced: true
      selector:
        text:
    value:
      example: 5
      required: true
      selector:
        text:
    value_size:
      example: 1
      selector:
        number:
          min: 1
          max: 4
    value_format:
      example: 1
      selector:
        number:
          min: 0
          max: 3

bulk_set_partial_config_parameters:
  fields:
    area_id:
      example: living_room
      selector:
        area:
          device:
            - integration: zwave_js
          multiple: true
    device_id:
      example: "8f4219cfa57e23f6f669c4616c2205e2"
      selector:
        device:
          filter:
            - integration: zwave_js
          multiple: true
    entity_id:
      example: sensor.living_room_temperature
      selector:
        entity:
          filter:
            - integration: zwave_js
          multiple: true
    endpoint:
      example: 1
      default: 0
      required: false
      selector:
        text:
    parameter:
      example: 9
      required: true
      selector:
        text:
    value:
      example: |
        "0x1": 1
        "0x10": 1
        "0x20": 1
        "0x40": 1
      required: true
      selector:
        object:

refresh_value:
  fields:
    entity_id:
      required: true
      example: |
        - sensor.family_room_motion
        - switch.kitchen
      selector:
        entity:
          integration: zwave_js
          multiple: true
    refresh_all_values:
      default: false
      selector:
        boolean:

set_value:
  fields:
    area_id:
      example: living_room
      selector:
        area:
          device:
            - integration: zwave_js
          multiple: true
    device_id:
      example: "8f4219cfa57e23f6f669c4616c2205e2"
      selector:
        device:
          filter:
            - integration: zwave_js
          multiple: true
    entity_id:
      example: sensor.living_room_temperature
      selector:
        entity:
          filter:
            - integration: zwave_js
          multiple: true
    command_class:
      example: 117
      required: true
      selector:
        text:
    endpoint:
      example: 1
      required: false
      selector:
        text:
    property:
      example: currentValue
      required: true
      selector:
        text:
    property_key:
      example: 1
      required: false
      selector:
        text:
    value:
      example: "ffbb99"
      required: true
      selector:
        object:
    options:
      required: false
      selector:
        object:
    wait_for_result:
      required: false
      selector:
        boolean:

multicast_set_value:
  fields:
    area_id:
      example: living_room
      selector:
        area:
          device:
            - integration: zwave_js
          multiple: true
    device_id:
      example: "8f4219cfa57e23f6f669c4616c2205e2"
      selector:
        device:
          filter:
            - integration: zwave_js
          multiple: true
    entity_id:
      example: sensor.living_room_temperature
      selector:
        entity:
          filter:
            - integration: zwave_js
          multiple: true
    broadcast:
      example: true
      required: false
      selector:
        boolean:
    command_class:
      example: 117
      required: true
      selector:
        text:
    endpoint:
      example: 1
      required: false
      selector:
        text:
    property:
      example: currentValue
      required: true
      selector:
        text:
    property_key:
      example: 1
      required: false
      selector:
        text:
    options:
      required: false
      selector:
        object:
    value:
      example: "ffbb99"
      required: true
      selector:
        object:

ping:
  fields:
    area_id:
      example: living_room
      selector:
        area:
          device:
            - integration: zwave_js
          multiple: true
    device_id:
      example: "8f4219cfa57e23f6f669c4616c2205e2"
      selector:
        device:
          filter:
            - integration: zwave_js
          multiple: true
    entity_id:
      example: sensor.living_room_temperature
      selector:
        entity:
          filter:
            - integration: zwave_js
          multiple: true

reset_meter:
  fields:
    area_id:
      example: living_room
      selector:
        area:
          entity:
            - integration: zwave_js
              domain: sensor
          multiple: true
    device_id:
      example: "8f4219cfa57e23f6f669c4616c2205e2"
      selector:
        device:
          entity:
            - integration: zwave_js
              domain: sensor
          multiple: true
    entity_id:
      example: sensor.living_room_temperature
      selector:
        entity:
          filter:
            - integration: zwave_js
              domain: sensor
          multiple: true
    meter_type:
      example: 1
      required: false
      selector:
        text:
    value:
      example: 5
      required: false
      selector:
        text:

invoke_cc_api:
  fields:
    area_id:
      example: living_room
      selector:
        area:
          device:
            - integration: zwave_js
          multiple: true
    device_id:
      example: "8f4219cfa57e23f6f669c4616c2205e2"
      selector:
        device:
          filter:
            - integration: zwave_js
          multiple: true
    entity_id:
      example: sensor.living_room_temperature
      selector:
        entity:
          filter:
            - integration: zwave_js
          multiple: true
    command_class:
      example: 132
      required: true
      selector:
        text:
    endpoint:
      example: 1
      required: false
      selector:
        text:
    method_name:
      example: setInterval
      required: true
      selector:
        text:
    parameters:
      example: "[1, 1]"
      required: true
      selector:
        object:

refresh_notifications:
  fields:
    area_id:
      example: living_room
      selector:
        area:
          device:
            - integration: zwave_js
          multiple: true
    device_id:
      example: "8f4219cfa57e23f6f669c4616c2205e2"
      selector:
        device:
          filter:
            - integration: zwave_js
          multiple: true
    entity_id:
      example: sensor.living_room_temperature
      selector:
        entity:
          filter:
            - integration: zwave_js
          multiple: true
    notification_type:
      example: 1
      required: true
      selector:
        number:
          min: 1
          max: 22
          mode: box
    notification_event:
      example: 1
      required: false
      selector:
        number:
          min: 1
          max: 255
          mode: box
