UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

1,666 lines (1,665 loc) 51 kB
{ "i18n": true, "type": "panel", "items": { "entity": { "newLine": true, "type": "select", "label": "Entity type", "options": [ { "value": "sensor", "label": "sensor" }, { "value": "binary_sensor", "label": "binary_sensor" }, { "value": "light", "label": "light" }, { "value": "input_boolean", "label": "input_boolean" }, { "value": "input_select", "label": "input_select" }, { "value": "input_number", "label": "input_number" }, { "value": "input_text", "label": "input_text" }, { "value": "input_datetime", "label": "input_datetime" }, { "value": "switch", "label": "switch" }, { "value": "camera", "label": "camera" }, { "value": "calendar", "label": "calendar" }, { "value": "climate", "label": "climate" }, { "value": "alarm_control_panel", "label": "alarm" }, { "value": "fan", "label": "fan" }, { "value": "cover", "label": "cover" }, { "value": "lock", "label": "lock" }, { "value": "media_player", "label": "media_player" }, { "value": "vacuum", "label": "vacuum" }, { "value": "weather", "label": "weather" }, { "value": "water_heater", "label": "water_heater" }, { "value": "group", "label": "group" }, { "value": "automation", "label": "automation" }, { "value": "scene", "label": "scene" }, { "value": "script", "label": "script" }, { "value": "timer", "label": "timer" }, { "value": "sun", "label": "sun" }, { "value": "todo", "label": "todolist" }, { "value": "datetime", "label": "datetime" }, { "value": "device_tracker", "label": "device_tracker" }, { "value": "person", "label": "person" } ], "defaultFunc": "!customObj.common ? 'sensor' : customObj.common.write ? (customObj.common.states ? 'input_select' : customObj.common.role === 'date' ? 'input_datetime' : customObj.common.type === 'boolean' ? 'input_boolean' : customObj.common.type === 'number' ? 'input_number' : 'input_text') : (customObj.common.type === 'boolean' ? 'binary_sensor' : 'sensor');", "xs": 12, "sm": 6, "md": 4, "lg": 3 }, "name": { "type": "text", "label": "Entity name", "help": "(unique for one entity type)", "defaultFunc": "(customObj && customObj._id) ? customObj._id.split('.').slice(2).join('_').replace(/Ü/g, 'UE').replace(/Ä/g, 'AE').replace(/Ö/g, 'OE').replace(/ü/g, 'ue').replace(/ä/g, 'ae').replace(/ö/g, 'oe').replace(/ß/g, 'ss').replace(/[^a-zA-Z0-9А-Яа-я_]/g, '_') : ''", "xs": 12, "sm": 12, "md": 8, "lg": 9 }, "_entityId": { "newLine": true, "type": "pattern", "pattern": "${data.entity}.${data.name}", "copyToClipboard": true, "disabled": "true", "label": "labelCompleteEntity", "xs": 12, "sm": 12, "md": 12, "lg": 12 }, "_entityIdError": { "newLine": true, "type": "staticText", "text": "errorLabelEntityChars", "style": { "color": "red" }, "hidden": "!/[^a-zA-Z0-9А-Яа-я_]/.test(data.name)", "sm": 12 }, "_entityIdEmptyError": { "newLine": true, "type": "staticText", "text": "errorLabelEntityEmpty", "style": { "color": "red" }, "hidden": "data.name", "sm": 12 }, "_entityDuplicateError": { "newLine": true, "container": "div", "type": "textSendTo", "alsoDependsOn": [ "entity", "name" ], "command": "checkIdForDuplicates", "style": { "color": "red" }, "jsonData": "{\"entity\": \"${data.entity}\", \"name\": \"${data.name}\", \"objectId\": \"${customObj._id}\"}", "hidden": "data._entityDuplicateError" }, "_trackerStates": { "newLine": true, "type": "panel", "hidden": "!['device_tracker', 'person'].includes(data.entity)", "items": { "_trackerHeading": { "type": "header", "size": 1, "text": "Location & presence states", "help": "Pick the ioBroker states that provide presence and location for this tracker / person." }, "state_presence": { "type": "objectId", "label": "Presence state", "help": "Boolean (true = home) or a zone-name string. If empty, presence is derived from the coordinates vs zone.home.", "xs": 12, "sm": 12, "md": 6, "lg": 6 }, "state_gps": { "newLine": true, "type": "objectId", "label": "GPS state (\"lat;lon\")", "help": "A single state holding \"latitude;longitude\". Use this OR the separate latitude/longitude states.", "xs": 12, "sm": 12, "md": 6, "lg": 6 }, "state_latitude": { "newLine": true, "type": "objectId", "label": "Latitude state", "hidden": "!!data.state_gps", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_longitude": { "type": "objectId", "label": "Longitude state", "hidden": "!!data.state_gps", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_gps_accuracy": { "newLine": true, "type": "objectId", "label": "GPS accuracy state", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_battery": { "type": "objectId", "label": "Battery level state", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "source_type": { "type": "select", "label": "Source type", "help": "How the location is determined (device_tracker only).", "default": "gps", "hidden": "data.entity === 'person'", "options": [ { "value": "gps", "label": "gps" }, { "value": "router", "label": "router" }, { "value": "bluetooth", "label": "bluetooth" }, { "value": "bluetooth_le", "label": "bluetooth_le" } ], "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "attr_entity_picture": { "newLine": true, "type": "text", "label": "Picture URL", "help": "Fixed picture URL (entity_picture). Leave empty to use a state instead.", "xs": 12, "sm": 12, "md": 6, "lg": 6 }, "state_entity_picture": { "type": "objectId", "label": "Picture URL state", "help": "A state that holds the picture URL. Wins over the fixed URL above.", "xs": 12, "sm": 12, "md": 6, "lg": 6 } } }, "_coverStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'cover'", "items": { "_coverHeading": { "type": "header", "size": 1, "text": "Cover states", "help": "Pick the ioBroker states that control this cover (e.g. an automatic window). Map a level state to SET (with ACTUAL for feedback), or use OPEN/CLOSE/STOP buttons." }, "state_SET": { "type": "objectId", "label": "Level (SET)", "help": "Numeric level state to set the position (0-100).", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_ACTUAL": { "type": "objectId", "label": "Level feedback (ACTUAL)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_STOP": { "type": "objectId", "label": "Stop button (STOP)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_OPEN": { "newLine": true, "type": "objectId", "label": "Open button (OPEN)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_CLOSE": { "type": "objectId", "label": "Close button (CLOSE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_TILT_SET": { "newLine": true, "type": "objectId", "label": "Tilt level (TILT_SET)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_TILT_ACTUAL": { "type": "objectId", "label": "Tilt feedback (TILT_ACTUAL)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_TILT_OPEN": { "newLine": true, "type": "objectId", "label": "Tilt open button (TILT_OPEN)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_TILT_CLOSE": { "type": "objectId", "label": "Tilt close button (TILT_CLOSE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_TILT_STOP": { "type": "objectId", "label": "Tilt stop button (TILT_STOP)", "xs": 12, "sm": 6, "md": 4, "lg": 4 } } }, "_lockStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'lock'", "items": { "_lockHeading": { "type": "header", "size": 1, "text": "Lock states", "help": "Pick the ioBroker states for this lock." }, "state_SET": { "type": "objectId", "label": "Lock / unlock (SET)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_ACTUAL": { "type": "objectId", "label": "State feedback (ACTUAL)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_OPEN": { "type": "objectId", "label": "Open / latch (OPEN)", "xs": 12, "sm": 6, "md": 4, "lg": 4 } } }, "_mediaStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'media_player'", "items": { "_mediaHeading": { "type": "header", "size": 1, "text": "Media player states", "help": "Pick the ioBroker states for this media player. Map only what your device provides." }, "state_STATE": { "type": "objectId", "label": "Play state (STATE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_POWER": { "type": "objectId", "label": "Power (POWER)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_PLAY": { "newLine": true, "type": "objectId", "label": "Play (PLAY)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_PAUSE": { "type": "objectId", "label": "Pause (PAUSE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_STOP": { "type": "objectId", "label": "Stop (STOP)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_NEXT": { "newLine": true, "type": "objectId", "label": "Next (NEXT)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_PREV": { "type": "objectId", "label": "Previous (PREV)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_VOLUME": { "newLine": true, "type": "objectId", "label": "Volume (VOLUME)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_VOLUME_ACTUAL": { "type": "objectId", "label": "Volume feedback (VOLUME_ACTUAL)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_MUTE": { "type": "objectId", "label": "Mute (MUTE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_SEEK": { "newLine": true, "type": "objectId", "label": "Seek / position (SEEK)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_REPEAT": { "type": "objectId", "label": "Repeat (REPEAT)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_SHUFFLE": { "type": "objectId", "label": "Shuffle (SHUFFLE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_TITLE": { "newLine": true, "type": "objectId", "label": "Title (TITLE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_ARTIST": { "type": "objectId", "label": "Artist (ARTIST)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_COVER": { "type": "objectId", "label": "Cover art (COVER)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_DURATION": { "newLine": true, "type": "objectId", "label": "Duration (DURATION)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_ELAPSED": { "type": "objectId", "label": "Elapsed (ELAPSED)", "xs": 12, "sm": 6, "md": 4, "lg": 4 } } }, "_vacuumStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'vacuum'", "items": { "_vacuumHeading": { "type": "header", "size": 1, "text": "Vacuum states", "help": "Pick the ioBroker states for this vacuum. STATE gives the status; POWER starts/stops; PAUSE pauses; WORK_MODE is the fan speed." }, "state_STATE": { "type": "objectId", "label": "Status (STATE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_POWER": { "type": "objectId", "label": "Start/stop (POWER)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_PAUSE": { "type": "objectId", "label": "Pause (PAUSE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_BATTERY": { "newLine": true, "type": "objectId", "label": "Battery (BATTERY)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_WORK_MODE": { "type": "objectId", "label": "Fan speed (WORK_MODE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_MAP": { "newLine": true, "type": "objectId", "label": "Map image (MAP)", "help": "A state with the map as a URL or base64 image; shown as the vacuum's picture.", "xs": 12, "sm": 12, "md": 6, "lg": 6 } } }, "_humidifierStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'humidifier'", "items": { "_humidifierHeading": { "type": "header", "size": 1, "text": "Humidifier states", "help": "POWER turns it on/off; SET is the target humidity, ACTUAL the current humidity; MODE is the operation mode." }, "state_POWER": { "type": "objectId", "label": "On/off (POWER)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_SET": { "type": "objectId", "label": "Target humidity (SET)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_ACTUAL": { "type": "objectId", "label": "Current humidity (ACTUAL)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_MODE": { "newLine": true, "type": "objectId", "label": "Mode (MODE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 } } }, "_waterHeaterStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'water_heater'", "items": { "_waterHeaterHeading": { "type": "header", "size": 1, "text": "Water heater states", "help": "SET is the target temperature, ACTUAL the current temperature; POWER turns it on/off; MODE is the operation mode." }, "state_SET": { "type": "objectId", "label": "Target temperature (SET)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_ACTUAL": { "type": "objectId", "label": "Current temperature (ACTUAL)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_POWER": { "type": "objectId", "label": "On/off (POWER)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_MODE": { "newLine": true, "type": "objectId", "label": "Operation mode (MODE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 } } }, "_climateStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'climate'", "items": { "_climateHeading": { "type": "header", "size": 1, "text": "Thermostat states", "help": "SET is the target temperature, ACTUAL the current temperature; MODE is the HVAC mode, POWER on/off. The others are optional." }, "state_SET": { "type": "objectId", "label": "Target temperature (SET)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_ACTUAL": { "type": "objectId", "label": "Current temperature (ACTUAL)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_MODE": { "type": "objectId", "label": "HVAC mode (MODE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_POWER": { "newLine": true, "type": "objectId", "label": "On/off (POWER)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_HUMIDITY": { "type": "objectId", "label": "Humidity (HUMIDITY)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_SPEED": { "type": "objectId", "label": "Fan speed (SPEED)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_SWING": { "newLine": true, "type": "objectId", "label": "Swing (SWING)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_BOOST": { "type": "objectId", "label": "Boost (BOOST)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_PARTY": { "type": "objectId", "label": "Party (PARTY)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "hvac_default": { "newLine": true, "type": "select", "label": "Heating or cooling", "help": "Only used when no HVAC mode state is mapped above.", "default": "heat", "hidden": "!!data.state_MODE", "options": [ { "value": "heat", "label": "Heating" }, { "value": "cool", "label": "Cooling" } ], "xs": 12, "sm": 6, "md": 4, "lg": 4 } } }, "_lightStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'light'", "items": { "_lightHeading": { "type": "header", "size": 1, "text": "Light states", "help": "ON switches on/off; DIMMER is the brightness; TEMPERATURE is the colour temperature; RGB a colour value. Map only what your light supports." }, "state_ON": { "type": "objectId", "label": "On/off (ON)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_ON_ACTUAL": { "type": "objectId", "label": "On/off feedback (ON_ACTUAL)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_DIMMER": { "type": "objectId", "label": "Brightness (DIMMER)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_TEMPERATURE": { "newLine": true, "type": "objectId", "label": "Colour temperature (TEMPERATURE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_RGB": { "type": "objectId", "label": "RGB colour (RGB)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_HUE": { "type": "objectId", "label": "Hue (HUE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_SATURATION": { "newLine": true, "type": "objectId", "label": "Saturation (SATURATION)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_EFFECT": { "type": "objectId", "label": "Effect (EFFECT)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_WHITE": { "newLine": true, "type": "objectId", "label": "White channel (WHITE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_RGBW": { "type": "objectId", "label": "RGBW colour (RGBW)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_CIE": { "type": "objectId", "label": "CIE / xy colour (CIE)", "xs": 12, "sm": 6, "md": 4, "lg": 4 } } }, "_fanStates": { "newLine": true, "type": "panel", "hidden": "data.entity !== 'fan'", "items": { "_fanHeading": { "type": "header", "size": 1, "text": "Fan states", "help": "SPEED is the speed / preset mode (its common.states become the presets); SET is the on/off state. OSCILLATION and DIRECTION are optional." }, "state_SET": { "type": "objectId", "label": "On/off (SET)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_SPEED": { "type": "objectId", "label": "Speed / preset (SPEED)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_OSCILLATION": { "newLine": true, "type": "objectId", "label": "Oscillation (OSCILLATION)", "xs": 12, "sm": 6, "md": 4, "lg": 4 }, "state_DIRECTION": { "type": "objectId", "label": "Direction (DIRECTION)", "xs": 12, "sm": 6, "md": 4, "lg": 4 } } }, "_attribtes": { "newLine": true, "type": "panel", "hidden": "!['binary_sensor', 'climate', 'cover', 'fan', 'group', 'humidifier', 'input_datetime', 'input_number', 'input_text', 'light', 'sensor', 'switch', 'water_heater'].includes(data.entity)", "items": { "_heading": { "type": "header", "size": 1, "text": "Additional Attributes", "help": "define additional attributes for certain entity types" }, "attr_assumed_state": { "type": "checkbox", "label": "Assumed state (creates two buttons instead of slider)", "defaultFunc": "['switch', 'light', 'cover', 'climate', 'fan', 'humidifier', 'group', 'water_heater'].includes(data.entity) ? (customObj.common ? !customObj.common.read : undefined) : undefined", "onChange": { "alsoDependsOn": [ "entity" ], "calculateFunc": "['switch', 'light', 'cover', 'climate', 'fan', 'humidifier', 'group', 'water_heater'].includes(data.entity) ? (customObj.common ? !customObj.common.read : undefined) : undefined", "ignoreOwnChanges": false }, "hidden": "!['switch', 'light', 'cover', 'climate', 'fan', 'humidifier', 'group', 'water_heater'].includes(data.entity)" }, "attr_device_class": { "newLine": true, "type": "select", "label": "Device class", "options": [ { "value": "", "label": "(none)" }, { "value": "absolute_humidity", "label": "absolute_humidity — Absolute humidity (g/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "apparent_power", "label": "apparent_power — Apparent power (VA)", "hidden": "data.entity !== 'sensor'" }, { "value": "aqi", "label": "aqi — Air quality index", "hidden": "data.entity !== 'sensor'" }, { "value": "area", "label": "area — Area (m²)", "hidden": "data.entity !== 'sensor'" }, { "value": "atmospheric_pressure", "label": "atmospheric_pressure — Atmospheric pressure (hPa)", "hidden": "data.entity !== 'sensor'" }, { "value": "awning", "label": "awning — awning", "hidden": "data.entity !== 'cover'" }, { "value": "battery", "label": "battery — on: Low / off: Normal", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "battery", "label": "battery — Battery level (%)", "hidden": "data.entity !== 'sensor'" }, { "value": "battery_charging", "label": "battery_charging — on: Charging / off: Not charging", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "blind", "label": "blind — blind", "hidden": "data.entity !== 'cover'" }, { "value": "blood_glucose_concentration", "label": "blood_glucose_concentration — Blood glucose (mg/dL)", "hidden": "data.entity !== 'sensor'" }, { "value": "carbon_dioxide", "label": "carbon_dioxide — Carbon dioxide (CO₂) (ppm)", "hidden": "data.entity !== 'sensor'" }, { "value": "carbon_monoxide", "label": "carbon_monoxide — on: CO detected / off: Clear", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "carbon_monoxide", "label": "carbon_monoxide — Carbon monoxide (CO) (ppm)", "hidden": "data.entity !== 'sensor'" }, { "value": "cold", "label": "cold — on: Cold / off: Normal", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "conductivity", "label": "conductivity — Conductivity (µS/cm)", "hidden": "data.entity !== 'sensor'" }, { "value": "connectivity", "label": "connectivity — on: Connected / off: Disconnected", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "current", "label": "current — Current (A)", "hidden": "data.entity !== 'sensor'" }, { "value": "curtain", "label": "curtain — curtain", "hidden": "data.entity !== 'cover'" }, { "value": "damper", "label": "damper — damper", "hidden": "data.entity !== 'cover'" }, { "value": "data_rate", "label": "data_rate — Data rate (bit/s)", "hidden": "data.entity !== 'sensor'" }, { "value": "data_size", "label": "data_size — Data size (B)", "hidden": "data.entity !== 'sensor'" }, { "value": "date", "label": "date — Date", "hidden": "data.entity !== 'sensor'" }, { "value": "dehumidifier", "label": "dehumidifier — dehumidifier", "hidden": "data.entity !== 'humidifier'" }, { "value": "distance", "label": "distance — Distance (m)", "hidden": "data.entity !== 'sensor'" }, { "value": "door", "label": "door — on: Open / off: Closed", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "door", "label": "door — door", "hidden": "data.entity !== 'cover'" }, { "value": "duration", "label": "duration — Duration (s)", "hidden": "data.entity !== 'sensor'" }, { "value": "energy", "label": "energy — Energy consumed (Wh)", "hidden": "data.entity !== 'sensor'" }, { "value": "energy_distance", "label": "energy_distance — Energy per distance (Wh/km)", "hidden": "data.entity !== 'sensor'" }, { "value": "energy_storage", "label": "energy_storage — Stored energy (Wh)", "hidden": "data.entity !== 'sensor'" }, { "value": "frequency", "label": "frequency — Frequency (Hz)", "hidden": "data.entity !== 'sensor'" }, { "value": "garage", "label": "garage — garage", "hidden": "data.entity !== 'cover'" }, { "value": "garage_door", "label": "garage_door — on: Open / off: Closed", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "gas", "label": "gas — on: Gas detected / off: Clear", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "gas", "label": "gas — Gas volume (m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "gate", "label": "gate — gate", "hidden": "data.entity !== 'cover'" }, { "value": "heat", "label": "heat — on: Hot / off: Normal", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "humidifier", "label": "humidifier — humidifier", "hidden": "data.entity !== 'humidifier'" }, { "value": "humidity", "label": "humidity — Humidity (%)", "hidden": "data.entity !== 'sensor'" }, { "value": "illuminance", "label": "illuminance — Illuminance (lx)", "hidden": "data.entity !== 'sensor'" }, { "value": "irradiance", "label": "irradiance — Irradiance (W/m²)", "hidden": "data.entity !== 'sensor'" }, { "value": "light", "label": "light — on: Light detected / off: No light", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "lock", "label": "lock — on: Unlocked / off: Locked", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "moisture", "label": "moisture — on: Wet / off: Dry", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "moisture", "label": "moisture — Moisture (%)", "hidden": "data.entity !== 'sensor'" }, { "value": "monetary", "label": "monetary — Monetary value (currency)", "hidden": "data.entity !== 'sensor'" }, { "value": "motion", "label": "motion — on: Motion detected / off: Clear", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "moving", "label": "moving — on: Moving / off: Stopped", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "nitrogen_dioxide", "label": "nitrogen_dioxide — Nitrogen dioxide (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "nitrogen_monoxide", "label": "nitrogen_monoxide — Nitrogen monoxide (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "nitrous_oxide", "label": "nitrous_oxide — Nitrous oxide (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "occupancy", "label": "occupancy — on: Occupied / off: Clear", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "opening", "label": "opening — on: Open / off: Closed", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "outlet", "label": "outlet — outlet", "hidden": "data.entity !== 'switch'" }, { "value": "ozone", "label": "ozone — Ozone (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "ph", "label": "ph — pH value", "hidden": "data.entity !== 'sensor'" }, { "value": "plug", "label": "plug — on: Plugged in / off: Unplugged", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "pm1", "label": "pm1 — Particulates < 1 µm (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "pm10", "label": "pm10 — Particulates < 10 µm (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "pm25", "label": "pm25 — Particulates < 2.5 µm (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "pm4", "label": "pm4 — Particulates < 4 µm (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "power", "label": "power — on: Power detected / off: No power", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "power", "label": "power — Current power (W)", "hidden": "data.entity !== 'sensor'" }, { "value": "power_factor", "label": "power_factor — Power factor (%)", "hidden": "data.entity !== 'sensor'" }, { "value": "precipitation", "label": "precipitation — Precipitation (mm)", "hidden": "data.entity !== 'sensor'" }, { "value": "precipitation_intensity", "label": "precipitation_intensity — Precipitation intensity (mm/h)", "hidden": "data.entity !== 'sensor'" }, { "value": "presence", "label": "presence — on: Home / off: Away", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "pressure", "label": "pressure — Pressure (hPa)", "hidden": "data.entity !== 'sensor'" }, { "value": "problem", "label": "problem — on: Problem detected / off: OK", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "reactive_energy", "label": "reactive_energy — Reactive energy (varh)", "hidden": "data.entity !== 'sensor'" }, { "value": "reactive_power", "label": "reactive_power — Reactive power (var)", "hidden": "data.entity !== 'sensor'" }, { "value": "running", "label": "running — on: Running / off: Not running", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "safety", "label": "safety — on: Unsafe / off: Safe", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "shade", "label": "shade — shade", "hidden": "data.entity !== 'cover'" }, { "value": "shutter", "label": "shutter — shutter", "hidden": "data.entity !== 'cover'" }, { "value": "signal_strength", "label": "signal_strength — Signal strength (dBm)", "hidden": "data.entity !== 'sensor'" }, { "value": "smoke", "label": "smoke — on: Smoke detected / off: Clear", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "sound", "label": "sound — on: Sound detected / off: Clear", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "sound_pressure", "label": "sound_pressure — Sound pressure (dB)", "hidden": "data.entity !== 'sensor'" }, { "value": "speed", "label": "speed — Speed (m/s)", "hidden": "data.entity !== 'sensor'" }, { "value": "sulphur_dioxide", "label": "sulphur_dioxide — Sulphur dioxide (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "switch", "label": "switch — switch", "hidden": "data.entity !== 'switch'" }, { "value": "tamper", "label": "tamper — on: Tampering detected / off: Clear", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "temperature", "label": "temperature — Temperature (°C)", "hidden": "data.entity !== 'sensor'" }, { "value": "temperature_delta", "label": "temperature_delta — Temperature difference (°C)", "hidden": "data.entity !== 'sensor'" }, { "value": "timestamp", "label": "timestamp — Timestamp", "hidden": "data.entity !== 'sensor'" }, { "value": "update", "label": "update — on: Update available / off: Up-to-date", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "uptime", "label": "uptime — Uptime / last boot", "hidden": "data.entity !== 'sensor'" }, { "value": "vibration", "label": "vibration — on: Vibration detected / off: No vibration", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "volatile_organic_compounds", "label": "volatile_organic_compounds — Volatile organic compounds (VOC) (µg/m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "volatile_organic_compounds_parts", "label": "volatile_organic_compounds_parts — VOC ratio (ppm)", "hidden": "data.entity !== 'sensor'" }, { "value": "voltage", "label": "voltage — Voltage (V)", "hidden": "data.entity !== 'sensor'" }, { "value": "volume", "label": "volume — Volume consumed (m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "volume_flow_rate", "label": "volume_flow_rate — Volume flow rate (m³/h)", "hidden": "data.entity !== 'sensor'" }, { "value": "volume_storage", "label": "volume_storage — Stored volume (m³)", "hidden": "data.entity !== 'sensor'" }, { "value": "water", "label": "water — Water consumed (L)", "hidden": "data.entity !== 'sensor'" }, { "value": "weight", "label": "weight — Weight / mass (kg)", "hidden": "data.entity !== 'sensor'" }, { "value": "wind_direction", "label": "wind_direction — Wind direction (°)", "hidden": "data.entity !== 'sensor'" }, { "value": "wind_speed", "label": "wind_speed — Wind speed (m/s)", "hidden": "data.entity !== 'sensor'" }, { "value": "window", "label": "window — on: Open / off: Closed", "hidden": "data.entity !== 'binary_sensor'" }, { "value": "window", "label": "window — window", "hidden": "data.entity !== 'cover'" } ], "hidden": "!['sensor', 'binary_sensor', 'cover', 'switch', 'humidifier'].includes(data.entity)", "xs": 12, "sm": 6, "md": 4, "lg": 3, "defaultFunc": "data.entity === 'sensor' && customObj.common && customObj.common.unit ? {'°C':'temperature','°F':'temperature','K':'temperature','W':'power','kW':'power','mW':'power','MW':'power','Wh':'energy','kWh':'energy','MWh':'energy','GWh':'energy','A':'current','mA':'current','V':'voltage','mV':'voltage','kV':'voltage','Hz':'frequency','kHz':'frequency','lx':'illuminance','lux':'illuminance','hPa':'pressure','mbar':'pressure','bar':'pressure','Pa':'pressure','psi':'pressure','dBm':'signal_strength'}[customObj.common.unit] : undefined" }, "attr_unit_of_measurement": { "type": "text", "label": "Unit of measurement", "defaultFunc": "data.entity === 'sensor' ? (customObj.common && customObj.common.unit) ? customObj.common.unit : {'battery': '%', 'carbon_dioxide':'ppm', 'carbon_monoxide':'ppm', 'humidity': '%', 'illuminance': 'lux', 'signal_strength': 'db', 'temperature': '°C', 'timestamp':'', 'power':'W', 'pressure':'hPa', 'current':'A', 'energy':'Wh', 'power_factor':'%', 'voltage':'V' }[data.attr_device_class] : undefined", "onChange": { "alsoDependsOn": [ "attr_device_class" ], "calculateFunc": "data.entity === 'sensor' ? (customObj.common && customObj.common.unit) ? customObj.common.unit : {'battery': '%', 'carbon_dioxide':'ppm', 'carbon_monoxide':'ppm', 'humidity': '%', 'illuminance': 'lux', 'signal_strength': 'db', 'temperature': '°C', 'timestamp':'', 'power':'W', 'pressure':'hPa', 'current':'A', 'energy':'Wh', 'power_factor':'%', 'voltage':'V' }[data.attr_device_class] : undefined", "ignoreOwnChanges": false }, "hidden": "data.entity !== 'sensor'", "xs": 12, "sm": 6, "md": 4, "lg": 3 }, "attr_mode": { "type": "select", "label": "labelModeAttribute", "options": [ { "value": "box", "label": "labelModeBox", "hidden": "data.entity !== 'input_number'" }, { "value": "slider", "label": "Slider", "hidden": "data.entity !== 'input_number'" }, { "value": "text", "label": "Text", "hidden": "data.entity !== 'input_text'" }, { "value": "password", "label": "Password", "hidden": "data.entity !== 'input_text'" } ], "defaultFunc": "data.entity === 'input_number' ? (customObj.common ? ((customObj.common.min || customObj.common.max) ? 'slider' : 'box') : undefined) : data.entity === 'input_text' ? 'text' : undefined", "onChange": { "alsoDependsOn": [ "entity" ], "calculateFunc": "data.entity === 'input_number' ? (customObj.common ? ((customObj.common.min || customObj.common.max) ? 'slider' : 'box') : undefined) : data.entity === 'input_text' ? 'text' : undefined", "ignoreOwnChanges": false }, "hidden": "!['input_number', 'input_text'].includes(data.entity)", "xs": 12, "sm": 6, "md": 4, "lg": 3 }, "attr_has_time": { "type": "checkbox", "label": "labelHasTime", "hidden": "data.entity !== 'input_datetime'", "defaultFunc": "data.entity === 'input_datetime' ? false : undefined", "xs": 12, "sm": 6, "md": 4, "lg": 3 }, "attr_has_date": { "type": "checkbox", "label": "labelHasDate", "hidden": "data.entity !== 'input_datetime'", "defaultFunc": "data.entity === 'input_datetime' ? true : undefined", "xs": 12, "sm": 6, "md": 4, "lg": 3 }, "attr_state_class": { "newLine": true, "type": "select", "label": "State class", "help": "For sensors (long-term statistics): measurement = current value; total = a total that can increase and decrease or be reset (net value); total_increasing = a monotonically increasing total that may reset (e.g. an energy meter).", "hidden": "data.entity !== 'sensor'", "options": [ { "value": "", "label": "(none)" }, { "value": "measurement", "label": "measurement" }, { "value": "total",