UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

219 lines (218 loc) 7.27 kB
"use strict"; // List of Home-Assistant configuration for MQTT Discovery // https://www.home-assistant.io/docs/mqtt/discovery/ Object.defineProperty(exports, "__esModule", { value: true }); const configurations = { // Binary sensor https://www.home-assistant.io/components/binary_sensor.mqtt binary_sensor: { type: 'binary_sensor', object_id: 'event', discovery_payload: { payload_on: true, payload_off: false, value_template: '{{ value_json.value }}', }, }, // Sensor https://www.home-assistant.io/components/sensor.mqtt sensor_generic: { type: 'sensor', object_id: 'generic', discovery_payload: { value_template: '{{ value_json.value }}', }, }, central_scene: { type: 'sensor', object_id: 'scene_state', discovery_payload: { state_topic: true, value_template: "{{ value_json.value | default('') }}", }, }, // Light https://www.home-assistant.io/components/light.mqtt light_rgb_dimmer: { type: 'light', object_id: 'rgb_dimmer', discovery_payload: { state_topic: true, command_topic: true, on_command_type: 'brightness', state_value_template: '{{ "OFF" if value_json.value == 0 else "ON" }}', brightness_value_template: '{{ value_json.value }}', brightness_scale: 99, rgb_command_template: "{{ {'red': red, 'green': green, 'blue': blue}|to_json }}", rgb_value_template: '{{ value_json.value.red }},{{ value_json.value.green }},{{ value_json.value.blue }}', }, }, light_dimmer: { type: 'light', object_id: 'dimmer', discovery_payload: { command_topic: true, state_topic: true, state_value_template: '{{ "OFF" if value_json.value == 0 else "ON" }}', brightness_command_topic: true, brightness_scale: 99, brightness_state_topic: true, brightness_value_template: '{{ value_json.value }}', on_command_type: 'brightness', }, }, volume_dimmer: { type: 'light', object_id: 'volume_dimmer', discovery_payload: { command_topic: true, state_topic: false, brightness_command_topic: true, brightness_scale: 100, brightness_state_topic: true, brightness_value_template: '{{ value_json.value }}', on_command_type: 'last', payload_off: 0, payload_on: 25, }, }, // Switch https://www.home-assistant.io/components/switch.mqtt switch: { type: 'switch', object_id: 'switch', discovery_payload: { payload_off: false, payload_on: true, value_template: '{{ value_json.value }}', command_topic: true, }, }, // Cover https://www.home-assistant.io/components/cover.mqtt cover: { type: 'cover', object_id: 'cover', discovery_payload: { command_topic: true, optimistic: true, }, }, cover_position: { type: 'cover', object_id: 'position', discovery_payload: { state_topic: false, command_topic: true, position_topic: true, set_position_topic: true, position_template: '{{ value_json.value | round(0) }}', position_open: 99, position_closed: 0, payload_open: '99', payload_close: '0', }, }, // Barrier operator support for zwave-js (numeric commands/states) barrier_state: { type: 'cover', object_id: 'barrier_state', discovery_payload: { position_topic: true, state_topic: true, command_topic: true, position_template: '{{ value_json.value }}', value_template: '{{ value_json.value }}', device_class: 'garage', payload_open: 255, payload_close: 0, payload_stop: 253, state_open: 255, state_opening: 254, state_closed: 0, state_closing: 252, }, }, // Lock https://www.home-assistant.io/components/lock.mqtt lock: { type: 'lock', object_id: 'lock', discovery_payload: { command_topic: true, state_locked: 255, state_unlocked: 0, payload_lock: 255, payload_unlock: 0, value_template: '{{ value_json.value }}', }, }, // Thermostat/HVAC https://www.home-assistant.io/components/climate.mqtt thermostat: { type: 'climate', object_id: 'climate', discovery_payload: { min_temp: 5, max_temp: 40, temp_step: 0.5, modes: [], mode_state_template: '{{ value_json.value }}', current_temperature_topic: true, current_temperature_template: '{{ value_json.value }}', temperature_state_topic: true, temperature_state_template: '{{ value_json.value }}', temperature_command_topic: true, }, }, // Fan https://www.home-assistant.io/components/fan.mqtt/ fan: { type: 'fan', object_id: 'fan', discovery_payload: { state_topic: true, state_value_template: '{{ value_json.state }}', command_topic: true, command_topic_postfix: 'fan_state', speed_state_topic: true, speed_command_topic: true, speed_value_template: '{{ value_json.speed }}', speeds: ['off', 'low', 'medium', 'high', 'on', 'auto', 'smart'], }, }, sound_switch: { type: 'fan', object_id: 'sound_switch', discovery_payload: { command_topic: true, speed_command_topic: true, speed_state_topic: true, state_topic: true, speeds: ['off', 'low', 'medium', 'high'], payload_low_speed: 10, payload_medium_speed: 25, payload_high_speed: 50, payload_off: 0, payload_on: 25, state_value_template: '{{ value_json.value | int }}', speed_value_template: '{{ value_json.value | int }}', }, }, config_switch: { type: 'switch', object_id: 'config_switch', discovery_payload: { payload_off: '0', payload_on: '1', value_template: '{{ value_json.value }}', command_topic: true, enabled_by_default: false, entity_category: 'config', }, }, // https://www.home-assistant.io/integrations/number.mqtt config_number: { type: 'number', object_id: 'config_number', discovery_payload: { value_template: '{{ value_json.value }}', command_topic: true, enabled_by_default: false, entity_category: 'config', }, }, }; exports.default = configurations;