From 506fb4894a9b3ab7ce1618c9b4f5a186fee65bb2 Mon Sep 17 00:00:00 2001 From: Zehir Date: Sat, 30 Sep 2023 16:23:56 +0000 Subject: [PATCH] Update sample DDF --- devices/generic/constants.json | 22 +- devices/generic/items/attr_id_item.json | 18 +- .../items/attr_lastannounced_item.json | 18 +- devices/generic/items/attr_lastseen_item.json | 18 +- .../items/attr_manufacturername_item.json | 14 +- devices/generic/items/attr_mode_item.json | 14 +- devices/generic/items/attr_modelid_item.json | 14 +- devices/generic/items/attr_name_item.json | 18 +- .../generic/items/attr_poweronct_item.json | 12 +- .../generic/items/attr_poweronlevel_item.json | 12 +- devices/generic/items/attr_powerup_item.json | 12 +- .../generic/items/attr_productid_item.json | 38 ++- .../generic/items/attr_swconfigid_item.json | 36 ++- .../items/attr_swversion_bis_item.json | 9 + .../generic/items/attr_swversion_item.json | 33 ++- devices/generic/items/attr_type_item.json | 18 +- devices/generic/items/attr_uniqueid_item.json | 18 +- .../items/cap_alert_trigger_effect_item.json | 14 +- .../items/cap_bri_min_dim_level_item.json | 36 ++- .../items/cap_bri_move_with_onoff_item.json | 14 +- .../items/cap_color_capabilities_item.json | 34 ++- .../items/cap_color_ct_computes_xy_item.json | 14 +- .../generic/items/cap_color_ct_max_item.json | 36 ++- .../generic/items/cap_color_ct_min_item.json | 36 ++- .../generic/items/cap_color_effects_item.json | 36 ++- .../items/cap_color_gamut_type_item.json | 23 +- .../cap_color_gradient_max_segments_item.json | 24 +- .../cap_color_gradient_pixel_count_item.json | 40 ++- .../cap_color_gradient_pixel_length_item.json | 24 +- .../items/cap_color_gradient_styles.json | 38 ++- .../items/cap_color_xy_blue_x_item.json | 25 +- .../items/cap_color_xy_blue_y_item.json | 25 +- .../items/cap_color_xy_green_x_item.json | 25 +- .../items/cap_color_xy_green_y_item.json | 25 +- .../items/cap_color_xy_red_x_item.json | 43 ++- .../items/cap_color_xy_red_y_item.json | 25 +- devices/generic/items/cap_group_item.json | 23 ++ .../items/cap_groups_not_supported_item.json | 14 +- .../generic/items/cap_measured_value_max.json | 9 + .../generic/items/cap_measured_value_min.json | 9 + .../items/cap_measured_value_quantity.json | 8 + .../items/cap_measured_value_substance.json | 8 + .../items/cap_measured_value_unit.json | 23 ++ .../items/cap_on_off_with_effect_item.json | 14 +- devices/generic/items/cap_sleeper_item.json | 14 +- .../items/cap_transition_block_item.json | 14 +- devices/generic/items/config_alert_item.json | 34 ++- .../items/config_allowtouchlink_item.json | 14 +- .../generic/items/config_battery_item.json | 21 +- .../items/config_bri_execute_if_off_item.json | 48 ++-- .../generic/items/config_bri_max_item.json | 48 ++-- .../generic/items/config_bri_min_item.json | 48 ++-- .../items/config_bri_on_level_item.json | 48 ++-- .../config_bri_onoff_transitiontime_item.json | 48 ++-- .../items/config_bri_startup_item.json | 48 ++-- .../generic/items/config_checkin_item.json | 47 ++- .../generic/items/config_clickmode_item.json | 14 +- .../items/config_color_ct_startup_item.json | 16 +- .../config_color_execute_if_off_item.json | 48 ++-- ...onfig_color_gradient_pixel_count_item.json | 8 + .../config_color_gradient_reversed_item.json | 51 ++-- .../items/config_color_xy_startup_x_item.json | 51 ++-- .../items/config_color_xy_startup_y_item.json | 51 ++-- .../items/config_colorcapabilities_item.json | 36 ++- .../generic/items/config_configured_item.json | 12 +- .../items/config_controlsequence_item.json | 19 +- .../items/config_coolsetpoint_item.json | 21 +- devices/generic/items/config_ctmax_item.json | 27 +- devices/generic/items/config_ctmin_item.json | 41 +-- devices/generic/items/config_delay_item.json | 16 +- .../generic/items/config_devicemode_item.json | 14 +- .../items/config_displayflipped_item.json | 14 +- .../generic/items/config_duration_item.json | 19 +- .../generic/items/config_enrolled_item.json | 16 +- .../items/config_externalsensortemp_item.json | 14 +- .../items/config_externalwindowopen_item.json | 14 +- .../generic/items/config_fadingtime_item.json | 9 + .../generic/items/config_fanmode_item.json | 14 +- .../items/config_filterlifetime_item.json | 14 +- devices/generic/items/config_group_item.json | 12 +- .../items/config_heatsetpoint_item.json | 45 ++- .../items/config_interfacemode_item.json | 14 +- .../items/config_ledindication_item.json | 16 +- devices/generic/items/config_lock_item.json | 14 +- devices/generic/items/config_locked_item.json | 40 ++- devices/generic/items/config_melody_item.json | 2 +- devices/generic/items/config_mode_item.json | 14 +- .../items/config_mountingmode_item.json | 14 +- devices/generic/items/config_offset_item.json | 16 +- devices/generic/items/config_on_item.json | 20 +- .../generic/items/config_on_startup_item.json | 48 ++-- .../generic/items/config_pending_item.json | 16 +- devices/generic/items/config_preset_item.json | 14 +- .../items/config_pulseconfiguration_item.json | 14 +- .../generic/items/config_reachable_item.json | 18 +- .../items/config_resetpresence_item.json | 16 +- .../generic/items/config_reversed_item.json | 14 +- .../generic/items/config_schedule_item.json | 14 +- .../items/config_schedule_on_item.json | 31 +- .../generic/items/config_selftest_item.json | 16 +- .../items/config_sensitivity_item.json | 21 +- .../items/config_sensitivitymax_item.json | 17 +- devices/generic/items/config_speed_item.json | 12 +- .../generic/items/config_swingmode_item.json | 14 +- .../items/config_temperature_item.json | 19 +- .../generic/items/config_tholddark_item.json | 21 +- .../items/config_tholdoffset_item.json | 21 +- .../items/config_triggerdistance_item.json | 14 +- .../items/config_tuya_unlock_item.json | 2 +- .../config_unoccupiedheatsetpoint_item.json | 63 ++-- .../generic/items/config_usertest_item.json | 14 +- devices/generic/items/config_volume_item.json | 37 ++- .../items/config_windowcoveringtype_item.json | 70 +++-- .../items/config_windowopen_set_item.json | 16 +- devices/generic/items/state_action_item.json | 57 ++-- .../generic/items/state_airquality_item.json | 36 ++- .../items/state_airqualityppb_item.json | 12 +- devices/generic/items/state_alarm_item.json | 19 +- devices/generic/items/state_alert_item.json | 37 ++- devices/generic/items/state_angle_item.json | 14 +- devices/generic/items/state_battery_item.json | 36 ++- devices/generic/items/state_bri_item.json | 36 ++- .../generic/items/state_buttonevent_item.json | 14 +- .../items/state_carbonmonoxide_item.json | 21 +- .../generic/items/state_charging_item.json | 16 +- .../generic/items/state_colormode_item.json | 51 ++-- devices/generic/items/state_colorx_item.json | 11 - devices/generic/items/state_colory_item.json | 9 - .../items/state_consumption_2_item.json | 30 +- .../generic/items/state_consumption_item.json | 32 ++- devices/generic/items/state_ct_item.json | 31 +- .../generic/items/state_current_P1_item.json | 30 +- .../generic/items/state_current_P2_item.json | 30 +- .../generic/items/state_current_P3_item.json | 30 +- devices/generic/items/state_current_item.json | 32 ++- devices/generic/items/state_dark_item.json | 16 +- .../generic/items/state_daylight_item.json | 16 +- .../items/state_deviceruntime_item.json | 14 +- devices/generic/items/state_effect_item.json | 50 ++-- .../generic/items/state_errorcode_item.json | 14 +- .../items/state_eventduration_item.json | 14 +- .../state_expectedeventduration_item.json | 12 +- .../items/state_expectedrotation_item.json | 12 +- .../items/state_filterruntime_item.json | 14 +- devices/generic/items/state_fire_item.json | 19 +- devices/generic/items/state_gesture_item.json | 14 +- .../generic/items/state_gradient_item.json | 16 +- devices/generic/items/state_heating_item.json | 14 +- devices/generic/items/state_hue_item.json | 29 +- .../generic/items/state_humidity_item.json | 30 +- .../generic/items/state_lastcheckin_item.json | 16 +- devices/generic/items/state_lastset_item.json | 27 +- .../generic/items/state_lastupdated_item.json | 18 +- devices/generic/items/state_lift_item.json | 38 ++- .../generic/items/state_lightlevel_item.json | 21 +- .../generic/items/state_localtime_item.json | 27 +- .../generic/items/state_lockstate_item.json | 14 +- .../generic/items/state_lowbattery_item.json | 20 +- devices/generic/items/state_lux_item.json | 16 +- .../items/state_measured_value_item.json | 9 + .../generic/items/state_moisture_item.json | 28 +- .../items/state_mountingmodeactive_item.json | 14 +- .../generic/items/state_music_sync_item.json | 8 + devices/generic/items/state_on_item.json | 31 +- devices/generic/items/state_open_item.json | 19 +- .../items/state_orientation_x_item.json | 12 +- .../items/state_orientation_y_item.json | 12 +- .../items/state_orientation_z_item.json | 12 +- devices/generic/items/state_panel_item.json | 72 +++-- devices/generic/items/state_pm2_5_item.json | 14 +- devices/generic/items/state_power_item.json | 32 ++- .../generic/items/state_presence_item.json | 21 +- .../items/state_presenceevent_item.json | 14 +- .../generic/items/state_pressure_item.json | 30 +- .../generic/items/state_production_item.json | 30 +- .../generic/items/state_reachable_item.json | 18 +- .../items/state_replacefilter_item.json | 14 +- .../generic/items/state_rotaryevent_item.json | 12 +- devices/generic/items/state_sat_item.json | 31 +- .../items/state_seconds_remaining_item.json | 18 +- devices/generic/items/state_speed_item.json | 14 +- .../generic/items/state_tampered_item.json | 18 +- .../items/state_targetdistance_item.json | 9 + .../generic/items/state_temperature_item.json | 30 +- devices/generic/items/state_test_item.json | 20 +- devices/generic/items/state_tilt_item.json | 38 ++- .../generic/items/state_tiltangle_item.json | 19 +- devices/generic/items/state_utc_item.json | 27 +- devices/generic/items/state_valve_item.json | 31 +- .../generic/items/state_vibration_item.json | 19 +- .../items/state_vibrationstrength_item.json | 19 +- devices/generic/items/state_voltage_item.json | 32 ++- devices/generic/items/state_water_item.json | 19 +- .../generic/items/state_windowopen_item.json | 45 ++- devices/generic/items/state_x_item.json | 25 ++ devices/generic/items/state_y_item.json | 15 + .../generic/subdevices/Range_extender.json | 11 - .../subdevices/Window_covering_device.json | 13 - devices/generic/subdevices/airpurifier.json | 34 ++- .../generic/subdevices/airquality_sensor.json | 32 ++- devices/generic/subdevices/alarm_sensor.json | 38 +-- .../generic/subdevices/ancillary_control.json | 25 ++ .../generic/subdevices/battery_sensor.json | 28 +- .../subdevices/carbondioxide_sensor.json | 22 ++ .../subdevices/carbonmonoxide_sensor.json | 18 ++ .../subdevices/color_dimmable_light.json | 30 -- devices/generic/subdevices/color_light.json | 39 +++ .../subdevices/color_temperature_light.json | 57 ++-- .../subdevices/consumption_sensor.json | 28 +- .../generic/subdevices/dimmable_light.json | 41 +-- .../subdevices/dimmable_plugin_unit.json | 25 +- devices/generic/subdevices/door_lock.json | 30 +- .../subdevices/door_lock_controller.json | 23 +- .../generic/subdevices/door_lock_sensor.json | 21 ++ .../subdevices/extended_color_light.json | 79 +++--- devices/generic/subdevices/fire_sensor.json | 28 +- .../subdevices/formaldehyde_sensor.json | 22 ++ .../generic/subdevices/humidity_sensor.json | 30 +- .../subdevices/level_control_switch.json | 16 ++ .../generic/subdevices/lightlevel_sensor.json | 38 +-- .../generic/subdevices/moisture_sensor.json | 30 +- devices/generic/subdevices/onoff_light.json | 29 +- devices/generic/subdevices/onoff_output.json | 23 +- .../generic/subdevices/onoff_plugin_unit.json | 23 +- .../generic/subdevices/openclose_sensor.json | 28 +- .../subdevices/particulatematter_sensor.json | 22 ++ devices/generic/subdevices/power_sensor.json | 34 ++- .../generic/subdevices/presence_sensor.json | 32 ++- .../generic/subdevices/pressure_sensor.json | 30 +- .../generic/subdevices/range_extender.json | 14 + .../generic/subdevices/relative_rotary.json | 32 ++- devices/generic/subdevices/smart_plug.json | 23 +- devices/generic/subdevices/switch.json | 28 +- .../subdevices/temperature_sensor.json | 30 +- devices/generic/subdevices/thermostat.json | 40 +-- devices/generic/subdevices/time.json | 19 ++ .../generic/subdevices/vibration_sensor.json | 28 +- .../generic/subdevices/warning_device.json | 23 +- .../generic/subdevices/waterleak_sensor.json | 28 +- .../subdevices/window_covering_device.json | 16 ++ devices/generic/subdevices/zgp_switch.json | 28 +- .../1000_get_group_identifiers.js | 15 + .../ikea/fyrtur_block-out_roller_blind.json | 174 ++++++++++++ devices/ikea/symfonisk_sound_remote_gen2.json | 158 +++++++++++ devices/lutron/lutron_aurora_foh.json | 105 +++++++ devices/lutron/lutron_known_issues.md | 8 + devices/xiaomi/xiaomi_battery.js | 7 + devices/xiaomi/xiaomi_known_issues1.md | 9 + .../xiaomi/xiaomi_known_issues_mccqg01lm.md | 7 + devices/xiaomi/xiaomi_known_issues_plugfw.md | 7 + .../xiaomi_mccgq01lm_openclose_sensor.json | 80 ++++++ devices/xiaomi/xiaomi_swversion.js | 4 + .../xiaomi_zncz04lm_smart_plug_v24.json | 268 ++++++++++++++++++ 253 files changed, 4422 insertions(+), 2293 deletions(-) create mode 100644 devices/generic/items/attr_swversion_bis_item.json create mode 100644 devices/generic/items/cap_group_item.json create mode 100644 devices/generic/items/cap_measured_value_max.json create mode 100644 devices/generic/items/cap_measured_value_min.json create mode 100644 devices/generic/items/cap_measured_value_quantity.json create mode 100644 devices/generic/items/cap_measured_value_substance.json create mode 100644 devices/generic/items/cap_measured_value_unit.json create mode 100644 devices/generic/items/config_color_gradient_pixel_count_item.json create mode 100644 devices/generic/items/config_fadingtime_item.json delete mode 100644 devices/generic/items/state_colorx_item.json delete mode 100644 devices/generic/items/state_colory_item.json create mode 100644 devices/generic/items/state_measured_value_item.json create mode 100644 devices/generic/items/state_music_sync_item.json create mode 100644 devices/generic/items/state_targetdistance_item.json create mode 100644 devices/generic/items/state_x_item.json create mode 100644 devices/generic/items/state_y_item.json delete mode 100644 devices/generic/subdevices/Range_extender.json delete mode 100644 devices/generic/subdevices/Window_covering_device.json create mode 100644 devices/generic/subdevices/ancillary_control.json create mode 100644 devices/generic/subdevices/carbondioxide_sensor.json create mode 100644 devices/generic/subdevices/carbonmonoxide_sensor.json delete mode 100644 devices/generic/subdevices/color_dimmable_light.json create mode 100644 devices/generic/subdevices/color_light.json create mode 100644 devices/generic/subdevices/door_lock_sensor.json create mode 100644 devices/generic/subdevices/formaldehyde_sensor.json create mode 100644 devices/generic/subdevices/level_control_switch.json create mode 100644 devices/generic/subdevices/particulatematter_sensor.json create mode 100644 devices/generic/subdevices/range_extender.json create mode 100644 devices/generic/subdevices/time.json create mode 100644 devices/generic/subdevices/window_covering_device.json create mode 100644 devices/generic/touchlink_commissioning_cluster/1000_get_group_identifiers.js create mode 100644 devices/ikea/fyrtur_block-out_roller_blind.json create mode 100644 devices/ikea/symfonisk_sound_remote_gen2.json create mode 100644 devices/lutron/lutron_aurora_foh.json create mode 100644 devices/lutron/lutron_known_issues.md create mode 100644 devices/xiaomi/xiaomi_battery.js create mode 100644 devices/xiaomi/xiaomi_known_issues1.md create mode 100644 devices/xiaomi/xiaomi_known_issues_mccqg01lm.md create mode 100644 devices/xiaomi/xiaomi_known_issues_plugfw.md create mode 100644 devices/xiaomi/xiaomi_mccgq01lm_openclose_sensor.json create mode 100644 devices/xiaomi/xiaomi_swversion.js create mode 100644 devices/xiaomi/xiaomi_zncz04lm_smart_plug_v24.json diff --git a/devices/generic/constants.json b/devices/generic/constants.json index 86f9922..dbe320a 100644 --- a/devices/generic/constants.json +++ b/devices/generic/constants.json @@ -1,6 +1,7 @@ { - "schema": "constants2.schema.json", - + "schema": "constants1.schema.json", + "manufacturers": { + "$MF_AQARA": "Aqara", "$MF_BOSCH": "Bosch", "$MF_IKEA": "IKEA of Sweden", "$MF_LUMI": "LUMI", @@ -9,24 +10,31 @@ "$MF_SAMJIN": "Samjin", "$MF_SIGNIFY": "Signify Netherlands B.V.", "$MF_TUYA": "Tuyatec", - "$MF_XIAOMI": "XIAOMI", - + "$MF_XIAOMI": "XIAOMI" + }, + "device-types": { "$TYPE_AIR_PURIFIER": "ZHAAirPurifier", "$TYPE_AIR_QUALITY_SENSOR": "ZHAAirQuality", + "$TYPE_CARBONDIOXIDE_SENSOR": "ZHACarbonDioxide", + "$TYPE_CARBONMONOXIDE_SENSOR": "ZHACarbonMonoxide", + "$TYPE_FORMALDEHYDE_SENSOR": "ZHAFormaldehyde", + "$TYPE_PARTICULATEMATTER_SENSOR": "ZHAParticulateMatter", "$TYPE_ALARM_SENSOR": "ZHAAlarm", + "$TYPE_ANCILLARY_CONTROL": "ZHAAncillaryControl", "$TYPE_BATTERY_SENSOR": "ZHABattery", - "$TYPE_COLOR_DIMMABLE_LIGHT": "Color dimmable light", "$TYPE_COLOR_LIGHT": "Color light", "$TYPE_COLOR_TEMPERATURE_LIGHT": "Color temperature light", "$TYPE_CONSUMPTION_SENSOR": "ZHAConsumption", "$TYPE_DIMMABLE_LIGHT": "Dimmable light", "$TYPE_DIMMABLE_PLUGIN_UNIT": "Dimmable plug-in unit", "$TYPE_DIMMER_SWITCH": "Dimmer switch", - "$TYPE_DOOR_LOCK_CONTROLLER": "Door lock controller", "$TYPE_DOOR_LOCK": "Door Lock", + "$TYPE_DOOR_LOCK_CONTROLLER": "Door lock controller", + "$TYPE_DOOR_LOCK_SENSOR": "ZHADoorLock", "$TYPE_EXTENDED_COLOR_LIGHT": "Extended color light", "$TYPE_FIRE_SENSOR": "ZHAFire", "$TYPE_HUMIDITY_SENSOR": "ZHAHumidity", + "$TYPE_LEVEL_CONTROL_SWITCH": "Level control switch", "$TYPE_LIGHT_LEVEL_SENSOR": "ZHALightLevel", "$TYPE_MOISTURE_SENSOR": "ZHAMoisture", "$TYPE_ON_OFF_LIGHT": "On/Off light", @@ -45,9 +53,11 @@ "$TYPE_SWITCH": "ZHASwitch", "$TYPE_TEMPERATURE_SENSOR": "ZHATemperature", "$TYPE_THERMOSTAT": "ZHAThermostat", + "$TYPE_TIME": "ZHATime", "$TYPE_VIBRATION_SENSOR": "ZHAVibration", "$TYPE_WARNING_DEVICE": "Warning device", "$TYPE_WATER_LEAK_SENSOR": "ZHAWater", "$TYPE_WINDOW_COVERING_DEVICE": "Window covering device", "$TYPE_ZGP_SWITCH": "ZGPSwitch" + } } diff --git a/devices/generic/items/attr_id_item.json b/devices/generic/items/attr_id_item.json index 1700ae4..5ae51b0 100644 --- a/devices/generic/items/attr_id_item.json +++ b/devices/generic/items/attr_id_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/id", - "datatype": "String", - "access": "R", - "public": true, - "implicit": true, - "managed": true, - "description": "Identifier of the resource, unique within an endpoint." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/id", + "datatype": "String", + "access": "R", + "public": true, + "implicit": true, + "managed": true, + "description": "Identifier of the resource, unique within an endpoint." +} diff --git a/devices/generic/items/attr_lastannounced_item.json b/devices/generic/items/attr_lastannounced_item.json index 210fddb..d3136a4 100644 --- a/devices/generic/items/attr_lastannounced_item.json +++ b/devices/generic/items/attr_lastannounced_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/lastannounced", - "datatype": "ISO 8601 timestamp", - "access": "R", - "public": true, - "implicit" : true, - "managed": true, - "description": "Timestamp of the last power-cyle or rejoin." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/lastannounced", + "datatype": "ISO 8601 timestamp", + "access": "R", + "public": true, + "implicit": true, + "managed": true, + "description": "Timestamp of the last power-cyle or rejoin." +} diff --git a/devices/generic/items/attr_lastseen_item.json b/devices/generic/items/attr_lastseen_item.json index c94a967..1586451 100644 --- a/devices/generic/items/attr_lastseen_item.json +++ b/devices/generic/items/attr_lastseen_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/lastseen", - "datatype": "ISO 8601 timestamp", - "access": "R", - "public": true, - "implicit" : true, - "managed": true, - "description": "Timestamp of the last communication." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/lastseen", + "datatype": "ISO 8601 timestamp", + "access": "R", + "public": true, + "implicit": true, + "managed": true, + "description": "Timestamp of the last communication." +} diff --git a/devices/generic/items/attr_manufacturername_item.json b/devices/generic/items/attr_manufacturername_item.json index 32c99f5..c18f3c3 100644 --- a/devices/generic/items/attr_manufacturername_item.json +++ b/devices/generic/items/attr_manufacturername_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/manufacturername", - "datatype": "String", - "access": "R", - "public": true, - "implicit" : true, - "description": "Manufacturer name of the device." + "schema": "resourceitem1.schema.json", + "id": "attr/manufacturername", + "datatype": "String", + "access": "R", + "public": true, + "implicit": true, + "description": "Manufacturer name of the device." } diff --git a/devices/generic/items/attr_mode_item.json b/devices/generic/items/attr_mode_item.json index 73e02f5..b4d7415 100644 --- a/devices/generic/items/attr_mode_item.json +++ b/devices/generic/items/attr_mode_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/mode", - "datatype": "UInt32", - "access": "RW", - "public": true, - "description": "Operational mode." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/mode", + "datatype": "UInt32", + "access": "RW", + "public": true, + "description": "Operational mode." +} diff --git a/devices/generic/items/attr_modelid_item.json b/devices/generic/items/attr_modelid_item.json index 9b347df..ee7aaf8 100644 --- a/devices/generic/items/attr_modelid_item.json +++ b/devices/generic/items/attr_modelid_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/modelid", - "datatype": "String", - "access": "R", - "public": true, - "implicit" : true, - "description": "Model identifier of the device." + "schema": "resourceitem1.schema.json", + "id": "attr/modelid", + "datatype": "String", + "access": "R", + "public": true, + "implicit": true, + "description": "Model identifier of the device." } diff --git a/devices/generic/items/attr_name_item.json b/devices/generic/items/attr_name_item.json index 0f1cf67..09a93a2 100644 --- a/devices/generic/items/attr_name_item.json +++ b/devices/generic/items/attr_name_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/name", - "datatype": "String", - "access": "RW", - "public": true, - "implicit" : true, - "managed": true, - "description": "Name of the resource." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/name", + "datatype": "String", + "access": "RW", + "public": true, + "implicit": true, + "managed": true, + "description": "Name of the resource." +} diff --git a/devices/generic/items/attr_poweronct_item.json b/devices/generic/items/attr_poweronct_item.json index 574e400..e48c82c 100644 --- a/devices/generic/items/attr_poweronct_item.json +++ b/devices/generic/items/attr_poweronct_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/poweronct", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "Ct value set when powered on." + "schema": "resourceitem1.schema.json", + "id": "attr/poweronct", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "Ct value set when powered on." } diff --git a/devices/generic/items/attr_poweronlevel_item.json b/devices/generic/items/attr_poweronlevel_item.json index be976c3..8943400 100644 --- a/devices/generic/items/attr_poweronlevel_item.json +++ b/devices/generic/items/attr_poweronlevel_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/poweronlevel", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "Brightness set when powered on." + "schema": "resourceitem1.schema.json", + "id": "attr/poweronlevel", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "Brightness set when powered on." } diff --git a/devices/generic/items/attr_powerup_item.json b/devices/generic/items/attr_powerup_item.json index 636be12..3b9df49 100644 --- a/devices/generic/items/attr_powerup_item.json +++ b/devices/generic/items/attr_powerup_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/powerup", - "datatype": "UInt32", - "access": "RW", - "public": true, - "description": "Powerup mode of a device." + "schema": "resourceitem1.schema.json", + "id": "attr/powerup", + "datatype": "UInt32", + "access": "RW", + "public": true, + "description": "Powerup mode of a device." } diff --git a/devices/generic/items/attr_productid_item.json b/devices/generic/items/attr_productid_item.json index 545c25b..a84220c 100644 --- a/devices/generic/items/attr_productid_item.json +++ b/devices/generic/items/attr_productid_item.json @@ -1,16 +1,24 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/productid", - "datatype": "String", - "access": "R", - "public": true, - "description": "Product identifier of the device.", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0000", "mf": "0x100b", "at": "0x0040", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0000", "mf": "0x100b", "at": "0x0040" - }, - "refresh.interval": 86400 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/productid", + "datatype": "String", + "access": "R", + "public": true, + "description": "Product identifier of the device.", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0000", + "mf": "0x100b", + "at": "0x0040", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0000", + "mf": "0x100b", + "at": "0x0040" + }, + "refresh.interval": 86400 +} diff --git a/devices/generic/items/attr_swconfigid_item.json b/devices/generic/items/attr_swconfigid_item.json index e9e85c5..21fe457 100644 --- a/devices/generic/items/attr_swconfigid_item.json +++ b/devices/generic/items/attr_swconfigid_item.json @@ -1,16 +1,24 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/swconfigid", - "datatype": "String", - "access": "R", - "public": true, - "description": "Software config identifier of the device.", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0000", "mf": "0x100b", "at": "0x0041", - "eval": "Item.val = ('00000000' + Attr.val.toString(16)).slice(-8).toUpperCase()" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0000", "mf": "0x100b", "at": "0x0041" - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "attr/swconfigid", + "datatype": "String", + "access": "R", + "public": true, + "description": "Software config identifier of the device.", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0000", + "mf": "0x100b", + "at": "0x0041", + "eval": "Item.val = ('00000000' + Attr.val.toString(16)).slice(-8).toUpperCase()" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0000", + "mf": "0x100b", + "at": "0x0041" + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/attr_swversion_bis_item.json b/devices/generic/items/attr_swversion_bis_item.json new file mode 100644 index 0000000..74edd1d --- /dev/null +++ b/devices/generic/items/attr_swversion_bis_item.json @@ -0,0 +1,9 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "attr/swversion_bis", + "datatype": "String", + "access": "R", + "public": true, + "implicit": true, + "description": "Firmware version of the device." +} diff --git a/devices/generic/items/attr_swversion_item.json b/devices/generic/items/attr_swversion_item.json index 00f00de..b20cb9f 100644 --- a/devices/generic/items/attr_swversion_item.json +++ b/devices/generic/items/attr_swversion_item.json @@ -1,12 +1,23 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/swversion", - "datatype": "String", - "access": "R", - "public": true, - "implicit" : true, - "description": "Firmware version of the device.", - "parse": {"fn": "zcl", "ep": 255, "cl": "0x0000", "at": "0x4000", "eval": "Item.val = Attr.val"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0000", "at": "0x4000"}, - "refresh.interval": 86400 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/swversion", + "datatype": "String", + "access": "R", + "public": true, + "implicit": true, + "description": "Firmware version of the device.", + "parse": { + "fn": "zcl", + "ep": 255, + "cl": "0x0000", + "at": "0x4000", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0000", + "at": "0x4000" + }, + "refresh.interval": 86400 +} diff --git a/devices/generic/items/attr_type_item.json b/devices/generic/items/attr_type_item.json index 6815307..88127db 100644 --- a/devices/generic/items/attr_type_item.json +++ b/devices/generic/items/attr_type_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/type", - "datatype": "String", - "access": "R", - "public": true, - "implicit" : true, - "managed": true, - "description": "Type of the resource." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/type", + "datatype": "String", + "access": "R", + "public": true, + "implicit": true, + "managed": true, + "description": "Type of the resource." +} diff --git a/devices/generic/items/attr_uniqueid_item.json b/devices/generic/items/attr_uniqueid_item.json index e3d5c0f..c981a93 100644 --- a/devices/generic/items/attr_uniqueid_item.json +++ b/devices/generic/items/attr_uniqueid_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "attr/uniqueid", - "datatype": "String", - "access": "R", - "public": true, - "implicit": true, - "managed": true, - "description": "Unique identifier of the resource." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "attr/uniqueid", + "datatype": "String", + "access": "R", + "public": true, + "implicit": true, + "managed": true, + "description": "Unique identifier of the resource." +} diff --git a/devices/generic/items/cap_alert_trigger_effect_item.json b/devices/generic/items/cap_alert_trigger_effect_item.json index 2f2f01d..1284b16 100644 --- a/devices/generic/items/cap_alert_trigger_effect_item.json +++ b/devices/generic/items/cap_alert_trigger_effect_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/alert/trigger_effect", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "Device supports the _Trigger Effect_ command.", - "static": true + "schema": "resourceitem1.schema.json", + "id": "cap/alert/trigger_effect", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "Device supports the _Trigger Effect_ command.", + "static": true } diff --git a/devices/generic/items/cap_bri_min_dim_level_item.json b/devices/generic/items/cap_bri_min_dim_level_item.json index 90a1dfc..739db46 100644 --- a/devices/generic/items/cap_bri_min_dim_level_item.json +++ b/devices/generic/items/cap_bri_min_dim_level_item.json @@ -1,16 +1,24 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/bri/min_dim_level", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Minimum dim level of the device.", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0008", "mf": "0x100b", "at": "0x0003", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0008", "mf": "0x100b", "at": "0x0003" - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "cap/bri/min_dim_level", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Minimum dim level of the device.", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0008", + "mf": "0x100b", + "at": "0x0003", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0008", + "mf": "0x100b", + "at": "0x0003" + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/cap_bri_move_with_onoff_item.json b/devices/generic/items/cap_bri_move_with_onoff_item.json index 3056703..98af593 100644 --- a/devices/generic/items/cap_bri_move_with_onoff_item.json +++ b/devices/generic/items/cap_bri_move_with_onoff_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/bri/move_with_onoff", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "Device supports the _Move to Level (with On/Off)_ command.", - "static": true + "schema": "resourceitem1.schema.json", + "id": "cap/bri/move_with_onoff", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "Device supports the _Move to Level (with On/Off)_ command.", + "static": true } diff --git a/devices/generic/items/cap_color_capabilities_item.json b/devices/generic/items/cap_color_capabilities_item.json index b38a622..445ff49 100644 --- a/devices/generic/items/cap_color_capabilities_item.json +++ b/devices/generic/items/cap_color_capabilities_item.json @@ -1,16 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/capabilities", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "The supported color modes as bitmap.", - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400a", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400a" - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "cap/color/capabilities", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "The supported color modes as bitmap.", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400a", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400a" + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/cap_color_ct_computes_xy_item.json b/devices/generic/items/cap_color_ct_computes_xy_item.json index aeb49d7..db2920b 100644 --- a/devices/generic/items/cap_color_ct_computes_xy_item.json +++ b/devices/generic/items/cap_color_ct_computes_xy_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/ct/computes_xy", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "Light computes and updates `xy` value when setting `ct`.", - "static": true + "schema": "resourceitem1.schema.json", + "id": "cap/color/ct/computes_xy", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "Light computes and updates `xy` value when setting `ct`.", + "static": true } diff --git a/devices/generic/items/cap_color_ct_max_item.json b/devices/generic/items/cap_color_ct_max_item.json index 3b74cd6..779e3c1 100644 --- a/devices/generic/items/cap_color_ct_max_item.json +++ b/devices/generic/items/cap_color_ct_max_item.json @@ -1,17 +1,23 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/ct/max", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Maximum supported color temperature.", - "default": "0xfeff", - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400c", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400c" - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "cap/color/ct/max", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Maximum supported color temperature.", + "default": "0xfeff", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400c", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400c" + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/cap_color_ct_min_item.json b/devices/generic/items/cap_color_ct_min_item.json index 830d8b9..5808b3e 100644 --- a/devices/generic/items/cap_color_ct_min_item.json +++ b/devices/generic/items/cap_color_ct_min_item.json @@ -1,17 +1,23 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/ct/min", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Minimum supported color temperature.", - "default": 0, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400b", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400b" - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "cap/color/ct/min", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Minimum supported color temperature.", + "default": 0, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400b", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400b" + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/cap_color_effects_item.json b/devices/generic/items/cap_color_effects_item.json index 3f09b11..1820a05 100644 --- a/devices/generic/items/cap_color_effects_item.json +++ b/devices/generic/items/cap_color_effects_item.json @@ -1,16 +1,24 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/effects", - "datatype": "UInt8", - "access": "R", - "public": true, - "description": "Supported effects for Hue lights.", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0011", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0011" - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "cap/color/effects", + "datatype": "UInt8", + "access": "R", + "public": true, + "description": "Supported effects for Hue lights.", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0011", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0011" + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/cap_color_gamut_type_item.json b/devices/generic/items/cap_color_gamut_type_item.json index d9b2341..28d2bfd 100644 --- a/devices/generic/items/cap_color_gamut_type_item.json +++ b/devices/generic/items/cap_color_gamut_type_item.json @@ -1,12 +1,15 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/gamut_type", - "datatype": "String", - "access": "R", - "public": true, - "description": "Color gamut type for Hue lights.", - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0032", - "eval": "Item.val = Attr.val === 45317 ? 'C' : Attr.val === 44236 ? 'B' : Attr.val === 46137 ? 'A' : ''" - } + "schema": "resourceitem1.schema.json", + "id": "cap/color/gamut_type", + "datatype": "String", + "access": "R", + "public": true, + "description": "Color gamut type for Hue lights.", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0032", + "eval": "Item.val = Attr.val === 45317 ? 'C' : Attr.val === 44236 ? 'B' : Attr.val === 46137 ? 'A' : ''" + } } diff --git a/devices/generic/items/cap_color_gradient_max_segments_item.json b/devices/generic/items/cap_color_gradient_max_segments_item.json index cc9f5f8..9712861 100644 --- a/devices/generic/items/cap_color_gradient_max_segments_item.json +++ b/devices/generic/items/cap_color_gradient_max_segments_item.json @@ -1,12 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/gradient/max_segments", - "datatype": "UInt8", - "access": "R", - "public": true, - "description": "Number of segments on Hue gradient light.", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0036", - "eval": "Item.val = Attr.val >> 3" - } + "schema": "resourceitem1.schema.json", + "id": "cap/color/gradient/max_segments", + "datatype": "UInt8", + "access": "R", + "public": true, + "description": "Number of segments on Hue gradient light.", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0036", + "eval": "Item.val = Attr.val >> 3" + } } diff --git a/devices/generic/items/cap_color_gradient_pixel_count_item.json b/devices/generic/items/cap_color_gradient_pixel_count_item.json index d42894b..c54dd84 100644 --- a/devices/generic/items/cap_color_gradient_pixel_count_item.json +++ b/devices/generic/items/cap_color_gradient_pixel_count_item.json @@ -1,16 +1,28 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/gradient/pixel_count", - "datatype": "UInt8", - "access": "R", - "public": true, - "description": "Number of pixels on Hue gradient light.", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0030", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": ["0x0030", "0x0031", "0x0036"] - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "cap/color/gradient/pixel_count", + "datatype": "UInt8", + "access": "R", + "public": true, + "description": "Number of pixels on Hue gradient light.", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0030", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": [ + "0x0030", + "0x0031", + "0x0036" + ] + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/cap_color_gradient_pixel_length_item.json b/devices/generic/items/cap_color_gradient_pixel_length_item.json index 2fe3682..fd5fa67 100644 --- a/devices/generic/items/cap_color_gradient_pixel_length_item.json +++ b/devices/generic/items/cap_color_gradient_pixel_length_item.json @@ -1,12 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/gradient/pixel_length", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Length (in 0.1 mm) of a pixel on Hue gradient light.", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0031", - "eval": "Item.val = Attr.val" - } + "schema": "resourceitem1.schema.json", + "id": "cap/color/gradient/pixel_length", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Length (in 0.1 mm) of a pixel on Hue gradient light.", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0031", + "eval": "Item.val = Attr.val" + } } diff --git a/devices/generic/items/cap_color_gradient_styles.json b/devices/generic/items/cap_color_gradient_styles.json index 6c4022d..95a5bba 100644 --- a/devices/generic/items/cap_color_gradient_styles.json +++ b/devices/generic/items/cap_color_gradient_styles.json @@ -1,17 +1,25 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/gradient/styles", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Supported styles on Hue gradient light.", - "default": "0x0001", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0013", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0013" - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "cap/color/gradient/styles", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Supported styles on Hue gradient light.", + "default": "0x0001", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0013", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0013" + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/cap_color_xy_blue_x_item.json b/devices/generic/items/cap_color_xy_blue_x_item.json index 1b6961e..e7d8a5b 100644 --- a/devices/generic/items/cap_color_xy_blue_x_item.json +++ b/devices/generic/items/cap_color_xy_blue_x_item.json @@ -1,13 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/xy/blue_x", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "X coordinate of blue point of color gamut.", - "default": 0, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x003a", - "eval": "Item.val = Attr.val" - } + "schema": "resourceitem1.schema.json", + "id": "cap/color/xy/blue_x", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "X coordinate of blue point of color gamut.", + "default": 0, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x003a", + "eval": "Item.val = Attr.val" + } } diff --git a/devices/generic/items/cap_color_xy_blue_y_item.json b/devices/generic/items/cap_color_xy_blue_y_item.json index 9bea5e4..7bf1904 100644 --- a/devices/generic/items/cap_color_xy_blue_y_item.json +++ b/devices/generic/items/cap_color_xy_blue_y_item.json @@ -1,13 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/xy/blue_y", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Y coordinate of blue point of color gamut.", - "default": 0, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x003b", - "eval": "Item.val = Attr.val" - } + "schema": "resourceitem1.schema.json", + "id": "cap/color/xy/blue_y", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Y coordinate of blue point of color gamut.", + "default": 0, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x003b", + "eval": "Item.val = Attr.val" + } } diff --git a/devices/generic/items/cap_color_xy_green_x_item.json b/devices/generic/items/cap_color_xy_green_x_item.json index 885c769..de45c26 100644 --- a/devices/generic/items/cap_color_xy_green_x_item.json +++ b/devices/generic/items/cap_color_xy_green_x_item.json @@ -1,13 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/xy/green_x", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "X coordinate of green point of color gamut.", - "default": 0, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0036", - "eval": "Item.val = Attr.val" - } + "schema": "resourceitem1.schema.json", + "id": "cap/color/xy/green_x", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "X coordinate of green point of color gamut.", + "default": 0, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0036", + "eval": "Item.val = Attr.val" + } } diff --git a/devices/generic/items/cap_color_xy_green_y_item.json b/devices/generic/items/cap_color_xy_green_y_item.json index 4db65ec..8b705f6 100644 --- a/devices/generic/items/cap_color_xy_green_y_item.json +++ b/devices/generic/items/cap_color_xy_green_y_item.json @@ -1,13 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/xy/green_y", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Y coordinate of green point of color gamut.", - "default": "0xfeff", - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0037", - "eval": "Item.val = Attr.val" - } + "schema": "resourceitem1.schema.json", + "id": "cap/color/xy/green_y", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Y coordinate of green point of color gamut.", + "default": "0xfeff", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0037", + "eval": "Item.val = Attr.val" + } } diff --git a/devices/generic/items/cap_color_xy_red_x_item.json b/devices/generic/items/cap_color_xy_red_x_item.json index 1fd34b9..6f4b274 100644 --- a/devices/generic/items/cap_color_xy_red_x_item.json +++ b/devices/generic/items/cap_color_xy_red_x_item.json @@ -1,17 +1,30 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/xy/red_x", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "X coordinate of red point of color gamut.", - "default": "0xfeff", - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0032", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": ["0x0032", "0x0033", "0x0036", "0x0037", "0x003a", "0x003b"] - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "cap/color/xy/red_x", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "X coordinate of red point of color gamut.", + "default": "0xfeff", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0032", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": [ + "0x0032", + "0x0033", + "0x0036", + "0x0037", + "0x003a", + "0x003b" + ] + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/cap_color_xy_red_y_item.json b/devices/generic/items/cap_color_xy_red_y_item.json index fa79416..c9ac573 100644 --- a/devices/generic/items/cap_color_xy_red_y_item.json +++ b/devices/generic/items/cap_color_xy_red_y_item.json @@ -1,13 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/color/xy/red_y", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Y coordinate of red point of color gamut.", - "default": 0, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0033", - "eval": "Item.val = Attr.val" - } + "schema": "resourceitem1.schema.json", + "id": "cap/color/xy/red_y", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Y coordinate of red point of color gamut.", + "default": 0, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0033", + "eval": "Item.val = Attr.val" + } } diff --git a/devices/generic/items/cap_group_item.json b/devices/generic/items/cap_group_item.json new file mode 100644 index 0000000..5e12362 --- /dev/null +++ b/devices/generic/items/cap_group_item.json @@ -0,0 +1,23 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "cap/group", + "datatype": "String", + "access": "R", + "public": true, + "description": "Comma-seperated list of groups which a device controls.", + "parse": { + "fn": "zcl:cmd", + "ep": 1, + "cl": "0x1000", + "cmd": "0x41", + "script": "../generic/touchlink_commissioning_cluster/1000_get_group_identifiers.js" + }, + "read": { + "fn": "zcl:cmd", + "ep": 1, + "cl": "0x1000", + "cmd": "0x41", + "eval": "'00'" + }, + "refresh.interval": 86400 +} diff --git a/devices/generic/items/cap_groups_not_supported_item.json b/devices/generic/items/cap_groups_not_supported_item.json index 13e2326..f125367 100644 --- a/devices/generic/items/cap_groups_not_supported_item.json +++ b/devices/generic/items/cap_groups_not_supported_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/groups/not_supported", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "_Groups_ cluster does not work.", - "static": true + "schema": "resourceitem1.schema.json", + "id": "cap/groups/not_supported", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "_Groups_ cluster does not work.", + "static": true } diff --git a/devices/generic/items/cap_measured_value_max.json b/devices/generic/items/cap_measured_value_max.json new file mode 100644 index 0000000..0ae6eda --- /dev/null +++ b/devices/generic/items/cap_measured_value_max.json @@ -0,0 +1,9 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "cap/measured_value/max", + "datatype": "Double", + "access": "R", + "public": true, + "default": 0, + "description": "Maximum value of state/measured_value." +} diff --git a/devices/generic/items/cap_measured_value_min.json b/devices/generic/items/cap_measured_value_min.json new file mode 100644 index 0000000..2422e85 --- /dev/null +++ b/devices/generic/items/cap_measured_value_min.json @@ -0,0 +1,9 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "cap/measured_value/min", + "datatype": "Double", + "access": "R", + "public": true, + "default": 0, + "description": "Minimum value of state/measured_value." +} diff --git a/devices/generic/items/cap_measured_value_quantity.json b/devices/generic/items/cap_measured_value_quantity.json new file mode 100644 index 0000000..fec7a25 --- /dev/null +++ b/devices/generic/items/cap_measured_value_quantity.json @@ -0,0 +1,8 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "cap/measured_value/quantity", + "datatype": "String", + "access": "R", + "public": true, + "description": "Quantity of measured_value." +} diff --git a/devices/generic/items/cap_measured_value_substance.json b/devices/generic/items/cap_measured_value_substance.json new file mode 100644 index 0000000..f33bac1 --- /dev/null +++ b/devices/generic/items/cap_measured_value_substance.json @@ -0,0 +1,8 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "cap/measured_value/substance", + "datatype": "String", + "access": "R", + "public": true, + "description": "Substance of measured_value." +} diff --git a/devices/generic/items/cap_measured_value_unit.json b/devices/generic/items/cap_measured_value_unit.json new file mode 100644 index 0000000..de960f5 --- /dev/null +++ b/devices/generic/items/cap_measured_value_unit.json @@ -0,0 +1,23 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "cap/measured_value/unit", + "datatype": "String", + "access": "R", + "public": true, + "default": "", + "description": "The unit of state/measured_value. To be defined by static in DDF", + "values": [ + [ + "ug/m^3", + "microgram per cubic meter" + ], + [ + "PPM", + "parts per million" + ], + [ + "PPB", + "parts per billion" + ] + ] +} diff --git a/devices/generic/items/cap_on_off_with_effect_item.json b/devices/generic/items/cap_on_off_with_effect_item.json index 0a00235..0545f34 100644 --- a/devices/generic/items/cap_on_off_with_effect_item.json +++ b/devices/generic/items/cap_on_off_with_effect_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/on/off_with_effect", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "Device supports the _Off with Effect_ command.", - "static": true + "schema": "resourceitem1.schema.json", + "id": "cap/on/off_with_effect", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "Device supports the _Off with Effect_ command.", + "static": true } diff --git a/devices/generic/items/cap_sleeper_item.json b/devices/generic/items/cap_sleeper_item.json index c66adbb..ff60d1e 100644 --- a/devices/generic/items/cap_sleeper_item.json +++ b/devices/generic/items/cap_sleeper_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/sleeper", - "datatype": "Bool", - "access": "R", - "public": false, - "default": false, - "description": "Says if the device is always listening, or can sleep and only receive when event.awake is emitted." + "schema": "resourceitem1.schema.json", + "id": "cap/sleeper", + "datatype": "Bool", + "access": "R", + "public": false, + "default": false, + "description": "Says if the device is always listening, or can sleep and only receive when event.awake is emitted." } diff --git a/devices/generic/items/cap_transition_block_item.json b/devices/generic/items/cap_transition_block_item.json index ab40dbb..b5c62c7 100644 --- a/devices/generic/items/cap_transition_block_item.json +++ b/devices/generic/items/cap_transition_block_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "cap/transition_block", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "Device ignores new commands while transition is active.", - "static": true + "schema": "resourceitem1.schema.json", + "id": "cap/transition_block", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "Device ignores new commands while transition is active.", + "static": true } diff --git a/devices/generic/items/config_alert_item.json b/devices/generic/items/config_alert_item.json index db704ab..eeab3b7 100644 --- a/devices/generic/items/config_alert_item.json +++ b/devices/generic/items/config_alert_item.json @@ -1,13 +1,23 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/alert", - "datatype": "String", - "access": "RW", - "public": true, - "description": "The currently active alert.", - "values": [ - ["\"none\"", "no alert is set"], - ["\"select\"", "device is identifying a short time"], - ["\"lselect\"", "device is identifying a longer time"] - ] -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/alert", + "datatype": "String", + "access": "RW", + "public": true, + "description": "The currently active alert.", + "default": "none", + "values": [ + [ + "\"none\"", + "no alert is set" + ], + [ + "\"select\"", + "device is identifying a short time" + ], + [ + "\"lselect\"", + "device is identifying a longer time" + ] + ] +} diff --git a/devices/generic/items/config_allowtouchlink_item.json b/devices/generic/items/config_allowtouchlink_item.json index 378fb9d..4cd502d 100644 --- a/devices/generic/items/config_allowtouchlink_item.json +++ b/devices/generic/items/config_allowtouchlink_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/allowtouchlink", - "datatype": "Bool", - "access": "RW", - "public": false, - "description": "When true the device can initiate touchlink." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/allowtouchlink", + "datatype": "Bool", + "access": "RW", + "public": false, + "description": "When true the device can initiate touchlink." +} diff --git a/devices/generic/items/config_battery_item.json b/devices/generic/items/config_battery_item.json index 6de7c38..acaf8e6 100644 --- a/devices/generic/items/config_battery_item.json +++ b/devices/generic/items/config_battery_item.json @@ -1,10 +1,13 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/battery", - "datatype": "UInt8", - "access": "R", - "public": true, - "range": [0, 100], - "description": "The current device battery level in 0–100 %.", - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/battery", + "datatype": "UInt8", + "access": "R", + "public": true, + "range": [ + 0, + 100 + ], + "description": "The current device battery level in 0–100 %.", + "default": 0 +} diff --git a/devices/generic/items/config_bri_execute_if_off_item.json b/devices/generic/items/config_bri_execute_if_off_item.json index 5fc1866..8eed2bf 100644 --- a/devices/generic/items/config_bri_execute_if_off_item.json +++ b/devices/generic/items/config_bri_execute_if_off_item.json @@ -1,21 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/bri/execute_if_off", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Execute brightness changes when the device is off.", - "default": true, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x000f", - "eval": "Item.val = (Attr.val & 0x01) !== 0" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x000f" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x000f", "dt": "0x18", - "eval": "Item.val ? 0x01 : 0x00" - } + "schema": "resourceitem1.schema.json", + "id": "config/bri/execute_if_off", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Execute brightness changes when the device is off.", + "default": true, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x000f", + "eval": "Item.val = (Attr.val & 0x01) !== 0" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x000f" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x000f", + "dt": "0x18", + "eval": "Item.val ? 0x01 : 0x00" + } } diff --git a/devices/generic/items/config_bri_max_item.json b/devices/generic/items/config_bri_max_item.json index d294641..c4a8e14 100644 --- a/devices/generic/items/config_bri_max_item.json +++ b/devices/generic/items/config_bri_max_item.json @@ -1,21 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/bri/max", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "Maximum brightness supported by ballast.", - "default": 254, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0301", "at": "0x0011", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0301", "at": "0x0011" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": 0, "cl": "0x0301", "at": "0x0011", "dt": "0x20", - "eval": "Item.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/bri/max", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "Maximum brightness supported by ballast.", + "default": 254, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0301", + "at": "0x0011", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0301", + "at": "0x0011" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0301", + "at": "0x0011", + "dt": "0x20", + "eval": "Item.val" + } } diff --git a/devices/generic/items/config_bri_min_item.json b/devices/generic/items/config_bri_min_item.json index e60963b..919cca6 100644 --- a/devices/generic/items/config_bri_min_item.json +++ b/devices/generic/items/config_bri_min_item.json @@ -1,21 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/bri/min", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "Minimum brightness supported by ballast.", - "default": 1, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0301", "at": "0x0010", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0301", "at": "0x0010" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": 0, "cl": "0x0301", "at": "0x0010", "dt": "0x20", - "eval": "Item.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/bri/min", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "Minimum brightness supported by ballast.", + "default": 1, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0301", + "at": "0x0010", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0301", + "at": "0x0010" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0301", + "at": "0x0010", + "dt": "0x20", + "eval": "Item.val" + } } diff --git a/devices/generic/items/config_bri_on_level_item.json b/devices/generic/items/config_bri_on_level_item.json index 47f2c3a..700cc1f 100644 --- a/devices/generic/items/config_bri_on_level_item.json +++ b/devices/generic/items/config_bri_on_level_item.json @@ -1,21 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/bri/on_level", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "Brightness when device is turned on.", - "default": 255, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x0011", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x0011" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x0011", "dt": "0x20", - "eval": "Item.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/bri/on_level", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "Brightness when device is turned on.", + "default": 255, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x0011", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x0011" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x0011", + "dt": "0x20", + "eval": "Item.val" + } } diff --git a/devices/generic/items/config_bri_onoff_transitiontime_item.json b/devices/generic/items/config_bri_onoff_transitiontime_item.json index df74578..8ce410b 100644 --- a/devices/generic/items/config_bri_onoff_transitiontime_item.json +++ b/devices/generic/items/config_bri_onoff_transitiontime_item.json @@ -1,21 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/bri/onoff_transitiontime", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "Transition time in 1/10 seconds for turning the device on or off.", - "default": 4, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x0010", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x0010" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x0010", "dt": "0x21", - "eval": "Item.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/bri/onoff_transitiontime", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "Transition time in 1/10 seconds for turning the device on or off.", + "default": 4, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x0010", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x0010" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x0010", + "dt": "0x21", + "eval": "Item.val" + } } diff --git a/devices/generic/items/config_bri_startup_item.json b/devices/generic/items/config_bri_startup_item.json index 15efdbb..7fc469a 100644 --- a/devices/generic/items/config_bri_startup_item.json +++ b/devices/generic/items/config_bri_startup_item.json @@ -1,21 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/bri/startup", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "Brightness on device startup (power on).", - "default": 255, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x4000", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x4000" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x4000", "dt": "0x20", - "eval": "Item.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/bri/startup", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "Brightness on device startup (power on).", + "default": 255, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x4000", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x4000" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x4000", + "dt": "0x20", + "eval": "Item.val" + } } diff --git a/devices/generic/items/config_checkin_item.json b/devices/generic/items/config_checkin_item.json index 1b75141..6f77a5d 100644 --- a/devices/generic/items/config_checkin_item.json +++ b/devices/generic/items/config_checkin_item.json @@ -1,14 +1,35 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/checkin", - "datatype": "UInt32", - "access": "RW", - "public": false, - "range": [0, 4294967295], - "default": 14400, - "description": "Configures the check-in interval for the Poll Control cluster (1/4 seconds).", - "parse": {"fn": "zcl", "ep": 0, "cl": "0x0020", "at": "0x0000", "eval": "Item.val = Attr.val"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0020", "at": "0x0000"}, - "write": {"fn": "zcl", "ep": 0, "cl": "0x0020", "at": "0x0000", "dt": "0x23", "eval": "Item.val"}, - "refresh.interval": 3600 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/checkin", + "datatype": "UInt32", + "access": "RW", + "public": false, + "range": [ + 0, + 4294967295 + ], + "default": 14400, + "description": "Configures the check-in interval for the Poll Control cluster (1/4 seconds).", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0020", + "at": "0x0000", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0020", + "at": "0x0000" + }, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0020", + "at": "0x0000", + "dt": "0x23", + "eval": "Item.val" + }, + "refresh.interval": 3600 +} diff --git a/devices/generic/items/config_clickmode_item.json b/devices/generic/items/config_clickmode_item.json index 4137102..1153fe2 100644 --- a/devices/generic/items/config_clickmode_item.json +++ b/devices/generic/items/config_clickmode_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/clickmode", - "datatype": "String", - "access": "RW", - "public": true, - "description": "Allows configuration of the individual Button(s), primarily for Xiaomi devices. Current usable values (device dependent) are 'coupled', 'decoupled', 'multiclick' and 'highspeed'." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/clickmode", + "datatype": "String", + "access": "RW", + "public": true, + "description": "Allows configuration of the individual Button(s), primarily for Xiaomi devices. Current usable values (device dependent) are 'coupled', 'decoupled', 'multiclick' and 'highspeed'." +} diff --git a/devices/generic/items/config_color_ct_startup_item.json b/devices/generic/items/config_color_ct_startup_item.json index fba609c..d70ae09 100644 --- a/devices/generic/items/config_color_ct_startup_item.json +++ b/devices/generic/items/config_color_ct_startup_item.json @@ -7,15 +7,25 @@ "description": "Color temperature on device startup (power on).", "default": 336, "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x4010", + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x4010", "eval": "Item.val = Attr.val" }, "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x4010" + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x4010" }, "refresh.interval": 3600, "write": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x4010", "dt": "0x21", + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x4010", + "dt": "0x21", "eval": "Item.val" } } diff --git a/devices/generic/items/config_color_execute_if_off_item.json b/devices/generic/items/config_color_execute_if_off_item.json index ad9a95b..50bfba7 100644 --- a/devices/generic/items/config_color_execute_if_off_item.json +++ b/devices/generic/items/config_color_execute_if_off_item.json @@ -1,21 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/color/execute_if_off", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Execute colour changes when the device is off.", - "default": true, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x000f", - "eval": "Item.val = (Attr.val & 0x01) !== 0" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x000f" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x000f", "dt": "0x18", - "eval": "Item.val ? 0x01 : 0x00" - } + "schema": "resourceitem1.schema.json", + "id": "config/color/execute_if_off", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Execute colour changes when the device is off.", + "default": true, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x000f", + "eval": "Item.val = (Attr.val & 0x01) !== 0" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x000f" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x000f", + "dt": "0x18", + "eval": "Item.val ? 0x01 : 0x00" + } } diff --git a/devices/generic/items/config_color_gradient_pixel_count_item.json b/devices/generic/items/config_color_gradient_pixel_count_item.json new file mode 100644 index 0000000..e94cef8 --- /dev/null +++ b/devices/generic/items/config_color_gradient_pixel_count_item.json @@ -0,0 +1,8 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "config/color/gradient/pixel_count", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "Number of pixels on Aqara LED Strip T1." +} diff --git a/devices/generic/items/config_color_gradient_reversed_item.json b/devices/generic/items/config_color_gradient_reversed_item.json index fe1df81..bf51346 100644 --- a/devices/generic/items/config_color_gradient_reversed_item.json +++ b/devices/generic/items/config_color_gradient_reversed_item.json @@ -1,21 +1,34 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/color/gradient/reversed", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Reverse gradient.", - "default": false, - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0033", - "eval": "Item.val = Attr.val == 1" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0033" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": "0x0b", "cl": "0xfc03", "mf": "0x100b", "at": "0x0033", "dt": "0x20", - "eval": "Item.val ? 1 : 0" - } + "schema": "resourceitem1.schema.json", + "id": "config/color/gradient/reversed", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Reverse gradient.", + "default": false, + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0033", + "eval": "Item.val = Attr.val == 1" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0033" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0xfc03", + "mf": "0x100b", + "at": "0x0033", + "dt": "0x20", + "eval": "Item.val ? 1 : 0" + } } diff --git a/devices/generic/items/config_color_xy_startup_x_item.json b/devices/generic/items/config_color_xy_startup_x_item.json index 0da6127..20d64bf 100644 --- a/devices/generic/items/config_color_xy_startup_x_item.json +++ b/devices/generic/items/config_color_xy_startup_x_item.json @@ -1,21 +1,34 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/color/xy/startup_x", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "Color X on device startup (power on).", - "default": "0xffff", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0300", "mf": "0x100b", "at": "0x0003", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0300", "mf": "0x100b", "at": "0x0003" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0300", "mf": "0x100b", "at": "0x0003", "dt": "0x21", - "eval": "Item.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/color/xy/startup_x", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "Color X on device startup (power on).", + "default": "0xffff", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0300", + "mf": "0x100b", + "at": "0x0003", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0300", + "mf": "0x100b", + "at": "0x0003" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0300", + "mf": "0x100b", + "at": "0x0003", + "dt": "0x21", + "eval": "Item.val" + } } diff --git a/devices/generic/items/config_color_xy_startup_y_item.json b/devices/generic/items/config_color_xy_startup_y_item.json index 3af4ce5..cdc7b35 100644 --- a/devices/generic/items/config_color_xy_startup_y_item.json +++ b/devices/generic/items/config_color_xy_startup_y_item.json @@ -1,21 +1,34 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/color/xy/startup_y", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "Color Y on device startup (power on).", - "default": "0xffff", - "parse": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0300", "mf": "0x100b", "at": "0x0004", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0300", "mf": "0x100b", "at": "0x0004" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": "0x0b", "cl": "0x0300", "mf": "0x100b", "at": "0x0004", "dt": "0x21", - "eval": "Item.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/color/xy/startup_y", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "Color Y on device startup (power on).", + "default": "0xffff", + "parse": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0300", + "mf": "0x100b", + "at": "0x0004", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0300", + "mf": "0x100b", + "at": "0x0004" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": "0x0b", + "cl": "0x0300", + "mf": "0x100b", + "at": "0x0004", + "dt": "0x21", + "eval": "Item.val" + } } diff --git a/devices/generic/items/config_colorcapabilities_item.json b/devices/generic/items/config_colorcapabilities_item.json index c261934..72108d7 100644 --- a/devices/generic/items/config_colorcapabilities_item.json +++ b/devices/generic/items/config_colorcapabilities_item.json @@ -1,17 +1,23 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/colorcapabilities", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Deprecated. The supported color capabilities as bitmap.", - "deprecated": "2022-11-11", - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400a", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400a" - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "config/colorcapabilities", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Deprecated. The supported color capabilities as bitmap.", + "deprecated": "2022-11-11", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400a", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400a" + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/config_configured_item.json b/devices/generic/items/config_configured_item.json index 63fade5..4e3a153 100644 --- a/devices/generic/items/config_configured_item.json +++ b/devices/generic/items/config_configured_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/configured", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "Determines that a resource is configured." + "schema": "resourceitem1.schema.json", + "id": "config/configured", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "Determines that a resource is configured." } diff --git a/devices/generic/items/config_controlsequence_item.json b/devices/generic/items/config_controlsequence_item.json index 6e9ab0a..3c881e1 100644 --- a/devices/generic/items/config_controlsequence_item.json +++ b/devices/generic/items/config_controlsequence_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/controlsequence", - "datatype": "UInt8", - "access": "RW", - "public": true, - "range": [0, 5], - "description": "Specifies the overall operating environment of the thermostat, and thus the possible system modes that the thermostat can operate in." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/controlsequence", + "datatype": "UInt8", + "access": "RW", + "public": true, + "range": [ + 0, + 5 + ], + "description": "Specifies the overall operating environment of the thermostat, and thus the possible system modes that the thermostat can operate in." +} diff --git a/devices/generic/items/config_coolsetpoint_item.json b/devices/generic/items/config_coolsetpoint_item.json index d660515..b5c1835 100644 --- a/devices/generic/items/config_coolsetpoint_item.json +++ b/devices/generic/items/config_coolsetpoint_item.json @@ -1,10 +1,13 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/coolsetpoint", - "datatype": "Int16", - "access": "RW", - "public": true, - "default": 0, - "description": "Target cooling temperature of a thermostat.", - "range": [500, 3200] -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/coolsetpoint", + "datatype": "Int16", + "access": "RW", + "public": true, + "default": 0, + "description": "Target cooling temperature of a thermostat.", + "range": [ + 500, + 3200 + ] +} diff --git a/devices/generic/items/config_ctmax_item.json b/devices/generic/items/config_ctmax_item.json index 51d9a3a..602d343 100644 --- a/devices/generic/items/config_ctmax_item.json +++ b/devices/generic/items/config_ctmax_item.json @@ -1,14 +1,17 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/ctmax", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Deprecated. Maximum supported color temperature.", - "deprecated": "2022-11-11", - "default": "0xfeff", - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400c", - "eval": "Item.val = Attr.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/ctmax", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Deprecated. Maximum supported color temperature.", + "deprecated": "2022-11-11", + "default": "0xfeff", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400c", + "eval": "Item.val = Attr.val" + } } diff --git a/devices/generic/items/config_ctmin_item.json b/devices/generic/items/config_ctmin_item.json index 1dc4a0b..061ee52 100644 --- a/devices/generic/items/config_ctmin_item.json +++ b/devices/generic/items/config_ctmin_item.json @@ -1,18 +1,27 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/ctmin", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Deprecated. Minimum supported color temperature.", - "deprecated": "2022-11-11", - "default": 0, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x400b", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": ["0x400b", "0x400c"] - }, - "refresh.interval": 86400 + "schema": "resourceitem1.schema.json", + "id": "config/ctmin", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Deprecated. Minimum supported color temperature.", + "deprecated": "2022-11-11", + "default": 0, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x400b", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": [ + "0x400b", + "0x400c" + ] + }, + "refresh.interval": 86400 } diff --git a/devices/generic/items/config_delay_item.json b/devices/generic/items/config_delay_item.json index 64e6d43..ce39ee2 100644 --- a/devices/generic/items/config_delay_item.json +++ b/devices/generic/items/config_delay_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/delay", - "datatype": "UInt16", - "access": "RW", - "public": true, - "default": 0, - "description": "The occupied to unoccupied delay in seconds." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/delay", + "datatype": "UInt16", + "access": "RW", + "public": true, + "default": 0, + "description": "The occupied to unoccupied delay in seconds." +} diff --git a/devices/generic/items/config_devicemode_item.json b/devices/generic/items/config_devicemode_item.json index 8ea12b8..fa62dc6 100644 --- a/devices/generic/items/config_devicemode_item.json +++ b/devices/generic/items/config_devicemode_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/devicemode", - "datatype": "String", - "access": "RW", - "public": true, - "description": "Mode of the Hue wall switch module with possible values 'singlerocker', 'singlepushbutton', 'dualrocker', 'dualpushbutton'. Xiaomi devices have possible values of 'compatibility' and 'zigbee', but DO NOT CHANGE UNLESS YOU KNOW EXACTLY, WHAT YOU'RE DOING" -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/devicemode", + "datatype": "String", + "access": "RW", + "public": true, + "description": "Mode of the Hue wall switch module with possible values 'singlerocker', 'singlepushbutton', 'dualrocker', 'dualpushbutton'. Xiaomi devices have possible values of 'compatibility' and 'zigbee', but DO NOT CHANGE UNLESS YOU KNOW EXACTLY, WHAT YOU'RE DOING" +} diff --git a/devices/generic/items/config_displayflipped_item.json b/devices/generic/items/config_displayflipped_item.json index 8c2a2f7..e28cf05 100644 --- a/devices/generic/items/config_displayflipped_item.json +++ b/devices/generic/items/config_displayflipped_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/displayflipped", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Displayed content is normal or upside down." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/displayflipped", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Displayed content is normal or upside down." +} diff --git a/devices/generic/items/config_duration_item.json b/devices/generic/items/config_duration_item.json index 17a3391..8c628e5 100644 --- a/devices/generic/items/config_duration_item.json +++ b/devices/generic/items/config_duration_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/duration", - "datatype": "UInt16", - "access": "RW", - "public": true, - "range": [0, 65535], - "description": "The duration until presence is automatically turned back to false." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/duration", + "datatype": "UInt16", + "access": "RW", + "public": true, + "range": [ + 0, + 65535 + ], + "description": "The duration until presence is automatically turned back to false." +} diff --git a/devices/generic/items/config_enrolled_item.json b/devices/generic/items/config_enrolled_item.json index c54c740..ce1fc23 100644 --- a/devices/generic/items/config_enrolled_item.json +++ b/devices/generic/items/config_enrolled_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/enrolled", - "datatype": "UInt32", - "access": "RW", - "public": false, - "managed": true, - "description": "State of IAS enrollment process." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/enrolled", + "datatype": "UInt32", + "access": "RW", + "public": false, + "managed": true, + "description": "State of IAS enrollment process." +} diff --git a/devices/generic/items/config_externalsensortemp_item.json b/devices/generic/items/config_externalsensortemp_item.json index ccec840..78b19e0 100644 --- a/devices/generic/items/config_externalsensortemp_item.json +++ b/devices/generic/items/config_externalsensortemp_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/externalsensortemp", - "datatype": "Int16", - "access": "RW", - "public": true, - "description": "The temperature measured by an external sensor, can be used for regulation or displayed on screen." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/externalsensortemp", + "datatype": "Int16", + "access": "RW", + "public": true, + "description": "The temperature measured by an external sensor, can be used for regulation or displayed on screen." +} diff --git a/devices/generic/items/config_externalwindowopen_item.json b/devices/generic/items/config_externalwindowopen_item.json index a154939..d4822ef 100644 --- a/devices/generic/items/config_externalwindowopen_item.json +++ b/devices/generic/items/config_externalwindowopen_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/externalwindowopen", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "The window state detected by an external sensor." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/externalwindowopen", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "The window state detected by an external sensor." +} diff --git a/devices/generic/items/config_fadingtime_item.json b/devices/generic/items/config_fadingtime_item.json new file mode 100644 index 0000000..573b279 --- /dev/null +++ b/devices/generic/items/config_fadingtime_item.json @@ -0,0 +1,9 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "config/fadingtime", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "Target disapperance delay time in seconds", + "default": 0 +} diff --git a/devices/generic/items/config_fanmode_item.json b/devices/generic/items/config_fanmode_item.json index e66fa28..629b195 100644 --- a/devices/generic/items/config_fanmode_item.json +++ b/devices/generic/items/config_fanmode_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/fanmode", - "datatype": "String", - "access": "RW", - "public": true, - "description": "Specifies the current speed of the fan for sensors." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/fanmode", + "datatype": "String", + "access": "RW", + "public": true, + "description": "Specifies the current speed of the fan for sensors." +} diff --git a/devices/generic/items/config_filterlifetime_item.json b/devices/generic/items/config_filterlifetime_item.json index 324dd2d..d8c481b 100644 --- a/devices/generic/items/config_filterlifetime_item.json +++ b/devices/generic/items/config_filterlifetime_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/filterlifetime", - "datatype": "UInt32", - "access": "RW", - "public": true, - "default": 259200, - "description": "Filter life time in minutes (default: 6 months). Set this to indicate that the filter has been replaced." + "schema": "resourceitem1.schema.json", + "id": "config/filterlifetime", + "datatype": "UInt32", + "access": "RW", + "public": true, + "default": 259200, + "description": "Filter life time in minutes (default: 6 months). Set this to indicate that the filter has been replaced." } diff --git a/devices/generic/items/config_group_item.json b/devices/generic/items/config_group_item.json index 67f1c7f..6fb4b4c 100644 --- a/devices/generic/items/config_group_item.json +++ b/devices/generic/items/config_group_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/group", - "datatype": "String", - "access": "RW", - "public": true, - "description": "comma seperated list of groups which a device controls." + "schema": "resourceitem1.schema.json", + "id": "config/group", + "datatype": "String", + "access": "RW", + "public": true, + "description": "comma seperated list of groups which a device controls." } diff --git a/devices/generic/items/config_heatsetpoint_item.json b/devices/generic/items/config_heatsetpoint_item.json index 5b92377..a167d35 100644 --- a/devices/generic/items/config_heatsetpoint_item.json +++ b/devices/generic/items/config_heatsetpoint_item.json @@ -1,13 +1,34 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/heatsetpoint", - "datatype": "Int16", - "access": "RW", - "public": true, - "default": 0, - "description": "Target temperature of a thermostat.", - "parse": {"at": "0x0012", "cl": "0x0201", "ep": 0, "eval": "Item.val = Attr.val;", "fn": "zcl"}, - "read": {"at": "0x0012", "cl": "0x0201", "ep": 0, "fn": "zcl"}, - "write": {"at": "0x0012", "cl": "0x0201", "dt": "0x29", "ep": 0, "eval": "Item.val;", "fn": "zcl"}, - "range": [500, 3200] -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/heatsetpoint", + "datatype": "Int16", + "access": "RW", + "public": true, + "default": 0, + "description": "Target temperature of a thermostat.", + "parse": { + "at": "0x0012", + "cl": "0x0201", + "ep": 0, + "eval": "Item.val = Attr.val;", + "fn": "zcl" + }, + "read": { + "at": "0x0012", + "cl": "0x0201", + "ep": 0, + "fn": "zcl" + }, + "write": { + "at": "0x0012", + "cl": "0x0201", + "dt": "0x29", + "ep": 0, + "eval": "Item.val;", + "fn": "zcl" + }, + "range": [ + 500, + 3200 + ] +} diff --git a/devices/generic/items/config_interfacemode_item.json b/devices/generic/items/config_interfacemode_item.json index b4ce70f..8b73582 100644 --- a/devices/generic/items/config_interfacemode_item.json +++ b/devices/generic/items/config_interfacemode_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/interfacemode", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "Sets the protocol used for processing metering data.", + "schema": "resourceitem1.schema.json", + "id": "config/interfacemode", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "Sets the protocol used for processing metering data.", "default": 0, "refresh.interval": 86400 -} \ No newline at end of file +} diff --git a/devices/generic/items/config_ledindication_item.json b/devices/generic/items/config_ledindication_item.json index 3bc91d0..6e42ceb 100644 --- a/devices/generic/items/config_ledindication_item.json +++ b/devices/generic/items/config_ledindication_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/ledindication", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Activates the LED indicator.", - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/ledindication", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Activates the LED indicator.", + "default": false +} diff --git a/devices/generic/items/config_lock_item.json b/devices/generic/items/config_lock_item.json index 13f8817..d74072f 100644 --- a/devices/generic/items/config_lock_item.json +++ b/devices/generic/items/config_lock_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/lock", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Locks or unlocks the door lock." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/lock", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Locks or unlocks the door lock." +} diff --git a/devices/generic/items/config_locked_item.json b/devices/generic/items/config_locked_item.json index de53c2a..d8b987d 100644 --- a/devices/generic/items/config_locked_item.json +++ b/devices/generic/items/config_locked_item.json @@ -1,12 +1,30 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/locked", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Locks or unlocks the device. This item has to be understood as child-lock.", - "parse": {"at": "0x0001", "cl": "0x0204", "ep": 0, "eval": "Item.val = Attr.val;", "fn": "zcl"}, - "read": {"at": "0x0001", "cl": "0x0204", "ep": 0, "fn": "zcl"}, - "write": {"at": "0x0001", "cl": "0x0204", "dt": "0x30", "ep": 0, "eval": "Item.val", "fn": "zcl"}, - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/locked", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Locks or unlocks the device. This item has to be understood as child-lock.", + "parse": { + "at": "0x0001", + "cl": "0x0204", + "ep": 0, + "eval": "Item.val = Attr.val;", + "fn": "zcl" + }, + "read": { + "at": "0x0001", + "cl": "0x0204", + "ep": 0, + "fn": "zcl" + }, + "write": { + "at": "0x0001", + "cl": "0x0204", + "dt": "0x30", + "ep": 0, + "eval": "Item.val", + "fn": "zcl" + }, + "default": false +} diff --git a/devices/generic/items/config_melody_item.json b/devices/generic/items/config_melody_item.json index 3398aab..ec0f64b 100644 --- a/devices/generic/items/config_melody_item.json +++ b/devices/generic/items/config_melody_item.json @@ -4,6 +4,6 @@ "datatype": "UInt8", "access": "RW", "public": true, - "default":0, + "default": 0, "description": "Melody or ringtone number" } diff --git a/devices/generic/items/config_mode_item.json b/devices/generic/items/config_mode_item.json index b779731..abd4ca7 100644 --- a/devices/generic/items/config_mode_item.json +++ b/devices/generic/items/config_mode_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/mode", - "datatype": "String", - "access": "RW", - "public": true, - "description": "Mode of the device." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/mode", + "datatype": "String", + "access": "RW", + "public": true, + "description": "Mode of the device." +} diff --git a/devices/generic/items/config_mountingmode_item.json b/devices/generic/items/config_mountingmode_item.json index 0168ab6..dfcf7ba 100644 --- a/devices/generic/items/config_mountingmode_item.json +++ b/devices/generic/items/config_mountingmode_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/mountingmode", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Determines if the device has entered the mounting state." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/mountingmode", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Determines if the device has entered the mounting state." +} diff --git a/devices/generic/items/config_offset_item.json b/devices/generic/items/config_offset_item.json index 3105a56..5f69197 100644 --- a/devices/generic/items/config_offset_item.json +++ b/devices/generic/items/config_offset_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/offset", - "datatype": "Int16", - "access": "RW", - "public": true, - "default": 0, - "description": "Relative offset to the main measured value." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/offset", + "datatype": "Int16", + "access": "RW", + "public": true, + "default": 0, + "description": "Relative offset to the main measured value." +} diff --git a/devices/generic/items/config_on_item.json b/devices/generic/items/config_on_item.json index 59b7cc5..2f1e5e7 100644 --- a/devices/generic/items/config_on_item.json +++ b/devices/generic/items/config_on_item.json @@ -1,11 +1,11 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/on", - "datatype": "Bool", - "access": "RW", - "public": true, - "default": true, - "implicit" : true, - "managed": true, - "description": "When true the sensor is enabled in rules." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/on", + "datatype": "Bool", + "access": "RW", + "public": true, + "default": true, + "implicit": true, + "managed": true, + "description": "When true the sensor is enabled in rules." +} diff --git a/devices/generic/items/config_on_startup_item.json b/devices/generic/items/config_on_startup_item.json index 8cda048..0c8bdb2 100644 --- a/devices/generic/items/config_on_startup_item.json +++ b/devices/generic/items/config_on_startup_item.json @@ -1,21 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/on/startup", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "On/Off state on device startup (power on).", - "default": 255, - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0006", "at": "0x4003", - "eval": "Item.val = Attr.val" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0006", "at": "0x4003" - }, - "refresh.interval": 3600, - "write": { - "fn": "zcl", "ep": 0, "cl": "0x0006", "at": "0x4003", "dt": "0x30", - "eval": "Item.val" - } + "schema": "resourceitem1.schema.json", + "id": "config/on/startup", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "On/Off state on device startup (power on).", + "default": 255, + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0006", + "at": "0x4003", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0006", + "at": "0x4003" + }, + "refresh.interval": 3600, + "write": { + "fn": "zcl", + "ep": 0, + "cl": "0x0006", + "at": "0x4003", + "dt": "0x30", + "eval": "Item.val" + } } diff --git a/devices/generic/items/config_pending_item.json b/devices/generic/items/config_pending_item.json index 632715d..c7db73e 100644 --- a/devices/generic/items/config_pending_item.json +++ b/devices/generic/items/config_pending_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/pending", - "datatype": "Array", - "access": "R", - "public": true, - "managed": true, - "description": "Pending tasks to configure the device." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/pending", + "datatype": "Array", + "access": "R", + "public": true, + "managed": true, + "description": "Pending tasks to configure the device." +} diff --git a/devices/generic/items/config_preset_item.json b/devices/generic/items/config_preset_item.json index 244992b..5444a83 100644 --- a/devices/generic/items/config_preset_item.json +++ b/devices/generic/items/config_preset_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/preset", - "datatype": "String", - "access": "RW", - "public": true, - "description": "Sets the operating mode for Tuya thermostats." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/preset", + "datatype": "String", + "access": "RW", + "public": true, + "description": "Sets the operating mode for Tuya thermostats." +} diff --git a/devices/generic/items/config_pulseconfiguration_item.json b/devices/generic/items/config_pulseconfiguration_item.json index fdbc64c..e313bc0 100644 --- a/devices/generic/items/config_pulseconfiguration_item.json +++ b/devices/generic/items/config_pulseconfiguration_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/pulseconfiguration", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "Pulse Configuration represents the number of pulses the meter outputs per unit.", + "schema": "resourceitem1.schema.json", + "id": "config/pulseconfiguration", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "Pulse Configuration represents the number of pulses the meter outputs per unit.", "default": 0, "refresh.interval": 86400 -} \ No newline at end of file +} diff --git a/devices/generic/items/config_reachable_item.json b/devices/generic/items/config_reachable_item.json index 6c4548a..200bf0a 100644 --- a/devices/generic/items/config_reachable_item.json +++ b/devices/generic/items/config_reachable_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/reachable", - "datatype": "Bool", - "access": "R", - "public": true, - "implicit": true, - "managed": true, - "description": "When true the device is assumed to be operational." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/reachable", + "datatype": "Bool", + "access": "R", + "public": true, + "implicit": true, + "managed": true, + "description": "When true the device is assumed to be operational." +} diff --git a/devices/generic/items/config_resetpresence_item.json b/devices/generic/items/config_resetpresence_item.json index ff8699d..3bb9772 100644 --- a/devices/generic/items/config_resetpresence_item.json +++ b/devices/generic/items/config_resetpresence_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/resetpresence", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Reset the presence state for devices supporting it (e.g. Aqara FP1).", - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/resetpresence", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Reset the presence state for devices supporting it (e.g. Aqara FP1).", + "default": false +} diff --git a/devices/generic/items/config_reversed_item.json b/devices/generic/items/config_reversed_item.json index de5d035..81778a9 100644 --- a/devices/generic/items/config_reversed_item.json +++ b/devices/generic/items/config_reversed_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/reversed", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Direction is reversed for window covering devices.", - "default": false + "schema": "resourceitem1.schema.json", + "id": "config/reversed", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Direction is reversed for window covering devices.", + "default": false } diff --git a/devices/generic/items/config_schedule_item.json b/devices/generic/items/config_schedule_item.json index 0baa179..0546cc9 100644 --- a/devices/generic/items/config_schedule_item.json +++ b/devices/generic/items/config_schedule_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/schedule", - "datatype": "String", - "access": "RW", - "public": true, - "description": "On-device heating schedules." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/schedule", + "datatype": "String", + "access": "RW", + "public": true, + "description": "On-device heating schedules." +} diff --git a/devices/generic/items/config_schedule_on_item.json b/devices/generic/items/config_schedule_on_item.json index c09c2c2..0cc26a5 100644 --- a/devices/generic/items/config_schedule_on_item.json +++ b/devices/generic/items/config_schedule_on_item.json @@ -1,11 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/schedule_on", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Determines if on-device schedules for setting the heatsetpoint are currently used or if the thermostat is operated manually.", - "parse": {"at": "0x0025", "cl": "0x0201", "ep": 0, "eval": "Item.val = Attr.val;", "fn": "zcl"}, - "read": {"at": "0x0025", "cl": "0x0201", "ep": 0, "fn": "zcl"}, - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/schedule_on", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Determines if on-device schedules for setting the heatsetpoint are currently used or if the thermostat is operated manually.", + "parse": { + "at": "0x0025", + "cl": "0x0201", + "ep": 0, + "eval": "Item.val = Attr.val;", + "fn": "zcl" + }, + "read": { + "at": "0x0025", + "cl": "0x0201", + "ep": 0, + "fn": "zcl" + }, + "default": false +} diff --git a/devices/generic/items/config_selftest_item.json b/devices/generic/items/config_selftest_item.json index aef68ec..6960e54 100644 --- a/devices/generic/items/config_selftest_item.json +++ b/devices/generic/items/config_selftest_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/selftest", - "datatype": "Bool", - "access": "W", - "public": true, - "description": "Activates the device self-test mode.", - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/selftest", + "datatype": "Bool", + "access": "W", + "public": true, + "description": "Activates the device self-test mode.", + "default": false +} diff --git a/devices/generic/items/config_sensitivity_item.json b/devices/generic/items/config_sensitivity_item.json index 8fd386b..8a67487 100644 --- a/devices/generic/items/config_sensitivity_item.json +++ b/devices/generic/items/config_sensitivity_item.json @@ -1,10 +1,13 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/sensitivity", - "datatype": "UInt8", - "access": "RW", - "public": true, - "range": [0, 255], - "description": "The sensor sensitivity.", - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/sensitivity", + "datatype": "UInt8", + "access": "RW", + "public": true, + "range": [ + 0, + 255 + ], + "description": "The sensor sensitivity.", + "default": 0 +} diff --git a/devices/generic/items/config_sensitivitymax_item.json b/devices/generic/items/config_sensitivitymax_item.json index ad43887..c82d13a 100644 --- a/devices/generic/items/config_sensitivitymax_item.json +++ b/devices/generic/items/config_sensitivitymax_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/sensitivitymax", - "datatype": "UInt8", - "access": "R", - "public": true, - "range": [0, 255], - "description": "The maximum sensor sensitivity." + "schema": "resourceitem1.schema.json", + "id": "config/sensitivitymax", + "datatype": "UInt8", + "access": "R", + "public": true, + "range": [ + 0, + 255 + ], + "description": "The maximum sensor sensitivity." } diff --git a/devices/generic/items/config_speed_item.json b/devices/generic/items/config_speed_item.json index 4912e96..571b2da 100644 --- a/devices/generic/items/config_speed_item.json +++ b/devices/generic/items/config_speed_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/speed", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "Motor speed for window covering devices." + "schema": "resourceitem1.schema.json", + "id": "config/speed", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "Motor speed for window covering devices." } diff --git a/devices/generic/items/config_swingmode_item.json b/devices/generic/items/config_swingmode_item.json index e4014f4..1dc8339 100644 --- a/devices/generic/items/config_swingmode_item.json +++ b/devices/generic/items/config_swingmode_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/swingmode", - "datatype": "String", - "access": "RW", - "public": true, - "description": "Indicates the position of Louver on the AC." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/swingmode", + "datatype": "String", + "access": "RW", + "public": true, + "description": "Indicates the position of Louver on the AC." +} diff --git a/devices/generic/items/config_temperature_item.json b/devices/generic/items/config_temperature_item.json index ebd8bee..6c2832e 100644 --- a/devices/generic/items/config_temperature_item.json +++ b/devices/generic/items/config_temperature_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/temperature", - "datatype": "UInt8", - "access": "R", - "public": true, - "range": [0, 255], - "description": "The current device temperature in °C." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/temperature", + "datatype": "UInt8", + "access": "R", + "public": true, + "range": [ + 0, + 255 + ], + "description": "The current device temperature in °C." +} diff --git a/devices/generic/items/config_tholddark_item.json b/devices/generic/items/config_tholddark_item.json index 4419969..3a35f6a 100644 --- a/devices/generic/items/config_tholddark_item.json +++ b/devices/generic/items/config_tholddark_item.json @@ -1,10 +1,13 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/tholddark", - "datatype": "UInt16", - "access": "RW", - "public": true, - "range": [0, 65534], - "default": 12000, - "description": "Specifies at which lightlevel the dark attribute turns false." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/tholddark", + "datatype": "UInt16", + "access": "RW", + "public": true, + "range": [ + 0, + 65534 + ], + "default": 12000, + "description": "Specifies at which lightlevel the dark attribute turns false." +} diff --git a/devices/generic/items/config_tholdoffset_item.json b/devices/generic/items/config_tholdoffset_item.json index 3547814..1a2485c 100644 --- a/devices/generic/items/config_tholdoffset_item.json +++ b/devices/generic/items/config_tholdoffset_item.json @@ -1,10 +1,13 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/tholdoffset", - "datatype": "UInt16", - "access": "RW", - "public": true, - "range": [1, 65534], - "default": 7000, - "description": "Relative offset to tholddark. Sets daylight attribute to true when when lightlevel is at or above (tholddark + tholdoffset)." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/tholdoffset", + "datatype": "UInt16", + "access": "RW", + "public": true, + "range": [ + 1, + 65534 + ], + "default": 7000, + "description": "Relative offset to tholddark. Sets daylight attribute to true when when lightlevel is at or above (tholddark + tholdoffset)." +} diff --git a/devices/generic/items/config_triggerdistance_item.json b/devices/generic/items/config_triggerdistance_item.json index 5ade8ca..f1ee8e0 100644 --- a/devices/generic/items/config_triggerdistance_item.json +++ b/devices/generic/items/config_triggerdistance_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/triggerdistance", - "datatype": "String", - "access": "RW", - "public": true, - "description": "A device specific distance setting when it triggers the associated function (e.g. detect presence or motion)." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/triggerdistance", + "datatype": "String", + "access": "RW", + "public": true, + "description": "A device specific distance setting when it triggers the associated function (e.g. detect presence or motion)." +} diff --git a/devices/generic/items/config_tuya_unlock_item.json b/devices/generic/items/config_tuya_unlock_item.json index 233b452..ab52bf9 100644 --- a/devices/generic/items/config_tuya_unlock_item.json +++ b/devices/generic/items/config_tuya_unlock_item.json @@ -27,4 +27,4 @@ ] }, "refresh.interval": 86400 -} \ No newline at end of file +} diff --git a/devices/generic/items/config_unoccupiedheatsetpoint_item.json b/devices/generic/items/config_unoccupiedheatsetpoint_item.json index 42c0827..851b4fc 100644 --- a/devices/generic/items/config_unoccupiedheatsetpoint_item.json +++ b/devices/generic/items/config_unoccupiedheatsetpoint_item.json @@ -1,32 +1,35 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/unoccupiedheatsetpoint", - "datatype": "Int16", - "access": "RW", - "public": true, - "default": 1800, - "description": "Target temperature of a thermostat when local is unoccupied.", - "refresh.interval": 300, - "read": { - "at": "0x0014", - "cl": "0x0201", - "ep": 1, - "fn": "zcl" - }, - "parse": { - "at": "0x0014", - "cl": "0x0201", - "ep": 1, - "eval": "Item.val = Attr.val;", - "fn": "zcl" - }, - "write": { - "at": "0x0014", - "cl": "0x0201", - "dt": "0x29", - "ep": 1, - "eval": "Item.val", - "fn": "zcl" - }, - "range": [500, 3200] + "schema": "resourceitem1.schema.json", + "id": "config/unoccupiedheatsetpoint", + "datatype": "Int16", + "access": "RW", + "public": true, + "default": 1800, + "description": "Target temperature of a thermostat when local is unoccupied.", + "refresh.interval": 300, + "read": { + "at": "0x0014", + "cl": "0x0201", + "ep": 1, + "fn": "zcl" + }, + "parse": { + "at": "0x0014", + "cl": "0x0201", + "ep": 1, + "eval": "Item.val = Attr.val;", + "fn": "zcl" + }, + "write": { + "at": "0x0014", + "cl": "0x0201", + "dt": "0x29", + "ep": 1, + "eval": "Item.val", + "fn": "zcl" + }, + "range": [ + 500, + 3200 + ] } diff --git a/devices/generic/items/config_usertest_item.json b/devices/generic/items/config_usertest_item.json index bc5aa7a..9a13bab 100644 --- a/devices/generic/items/config_usertest_item.json +++ b/devices/generic/items/config_usertest_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/usertest", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Activates the user test mode." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/usertest", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Activates the user test mode." +} diff --git a/devices/generic/items/config_volume_item.json b/devices/generic/items/config_volume_item.json index 2045ecb..7576f15 100644 --- a/devices/generic/items/config_volume_item.json +++ b/devices/generic/items/config_volume_item.json @@ -4,14 +4,37 @@ "datatype": "UInt8", "access": "RW", "public": true, - "range":[0,2], + "range": [ + 0, + 2 + ], "values": [ - [0, "Silent Mode"], - [1, "Low Volume"], - [2, "High"] + [ + 0, + "Silent Mode" + ], + [ + 1, + "Low Volume" + ], + [ + 2, + "High" + ] ], - "default":0, + "default": 0, "description": "The sound volume has three possible settings: silent, low and high volumes.", - "parse": {"at": "0x0024", "cl": "0x0101", "ep": 0, "eval": "Item.val = Attr.val;", "fn": "zcl"}, - "read": {"at": "0x0024", "cl": "0x0101", "ep": 0, "fn": "zcl"} + "parse": { + "at": "0x0024", + "cl": "0x0101", + "ep": 0, + "eval": "Item.val = Attr.val;", + "fn": "zcl" + }, + "read": { + "at": "0x0024", + "cl": "0x0101", + "ep": 0, + "fn": "zcl" + } } diff --git a/devices/generic/items/config_windowcoveringtype_item.json b/devices/generic/items/config_windowcoveringtype_item.json index bf49f05..60ef4a0 100644 --- a/devices/generic/items/config_windowcoveringtype_item.json +++ b/devices/generic/items/config_windowcoveringtype_item.json @@ -1,21 +1,51 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/windowcoveringtype", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "The window cover type.", - "default" : 0, - "values": [ - [0, "Roller Shade"], - [1, "Roller Shade two motors"], - [2, "Roller Shade exterior"], - [3, "Roller Shade two motors ext"], - [4, "Drapery"], - [5, "Awning"], - [6, "Shutter"], - [7, "Tilt Blind Lift only"], - [8, "Tilt Blind lift & tilt"], - [9, "Projector Screen"] - ] -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/windowcoveringtype", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "The window cover type.", + "default": 0, + "values": [ + [ + 0, + "Roller Shade" + ], + [ + 1, + "Roller Shade two motors" + ], + [ + 2, + "Roller Shade exterior" + ], + [ + 3, + "Roller Shade two motors ext" + ], + [ + 4, + "Drapery" + ], + [ + 5, + "Awning" + ], + [ + 6, + "Shutter" + ], + [ + 7, + "Tilt Blind Lift only" + ], + [ + 8, + "Tilt Blind lift & tilt" + ], + [ + 9, + "Projector Screen" + ] + ] +} diff --git a/devices/generic/items/config_windowopen_set_item.json b/devices/generic/items/config_windowopen_set_item.json index a95ad5b..2dcbc21 100644 --- a/devices/generic/items/config_windowopen_set_item.json +++ b/devices/generic/items/config_windowopen_set_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "config/windowopen_set", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "Enable or disable the window open detection.", - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "config/windowopen_set", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Enable or disable the window open detection.", + "default": false +} diff --git a/devices/generic/items/state_action_item.json b/devices/generic/items/state_action_item.json index 3023a70..f857e4f 100644 --- a/devices/generic/items/state_action_item.json +++ b/devices/generic/items/state_action_item.json @@ -1,19 +1,40 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/action", - "datatype": "String", - "access": "RW", - "public": true, - "managed": true, - "description": "The IAS arm action.", - "default": "disarmed", - "values": [ - ["\"disarmed\"", "disarmed not triggering alarm"], - ["\"armed_stay\"", "trigger in stay mode"], - ["\"armed_night\"", "trigger in night mode"], - ["\"armed_away\"", "trigger in away mode"], - ["\"invalid_code\"", "invalid code was entered"], - ["\"not_ready\"", "alarm system not ready"], - ["\"already_disarmed\"", "attempt to disarm was ignored"] - ] -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/action", + "datatype": "String", + "access": "RW", + "public": true, + "managed": true, + "description": "The IAS arm action.", + "default": "disarmed", + "values": [ + [ + "\"disarmed\"", + "disarmed not triggering alarm" + ], + [ + "\"armed_stay\"", + "trigger in stay mode" + ], + [ + "\"armed_night\"", + "trigger in night mode" + ], + [ + "\"armed_away\"", + "trigger in away mode" + ], + [ + "\"invalid_code\"", + "invalid code was entered" + ], + [ + "\"not_ready\"", + "alarm system not ready" + ], + [ + "\"already_disarmed\"", + "attempt to disarm was ignored" + ] + ] +} diff --git a/devices/generic/items/state_airquality_item.json b/devices/generic/items/state_airquality_item.json index 5cce5ea..1d3897a 100644 --- a/devices/generic/items/state_airquality_item.json +++ b/devices/generic/items/state_airquality_item.json @@ -1,13 +1,25 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/airquality", - "datatype": "String", - "access": "R", - "public": true, - "description": "Text representation of the air quality based on tVOC level.", - "parse": { - "fn": "numtostr", - "srcitem": "state/airqualityppb", - "op": "le", "to": [65, "excellent", 220, "good", 660, "moderate", 5000, "unhealthy", 65535, "out of scale"] - } -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/airquality", + "datatype": "String", + "access": "R", + "public": true, + "description": "Text representation of the air quality based on tVOC level.", + "parse": { + "fn": "numtostr", + "srcitem": "state/airqualityppb", + "op": "le", + "to": [ + 65, + "excellent", + 220, + "good", + 660, + "moderate", + 5000, + "unhealthy", + 65535, + "out of scale" + ] + } +} diff --git a/devices/generic/items/state_airqualityppb_item.json b/devices/generic/items/state_airqualityppb_item.json index 5a0ef28..6cba441 100644 --- a/devices/generic/items/state_airqualityppb_item.json +++ b/devices/generic/items/state_airqualityppb_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/airqualityppb", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Measured tVOC level in ppb." + "schema": "resourceitem1.schema.json", + "id": "state/airqualityppb", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Measured tVOC level in ppb." } diff --git a/devices/generic/items/state_alarm_item.json b/devices/generic/items/state_alarm_item.json index e89a101..c8159e0 100644 --- a/devices/generic/items/state_alarm_item.json +++ b/devices/generic/items/state_alarm_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/alarm", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when an alarm is detected.", - "parse": {"fn": "ias:zonestatus", "mask": "alarm1,alarm2"} -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/alarm", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when an alarm is detected.", + "parse": { + "fn": "ias:zonestatus", + "mask": "alarm1,alarm2" + } +} diff --git a/devices/generic/items/state_alert_item.json b/devices/generic/items/state_alert_item.json index 8a617b3..badc007 100644 --- a/devices/generic/items/state_alert_item.json +++ b/devices/generic/items/state_alert_item.json @@ -1,15 +1,24 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/alert", - "datatype": "String", - "access": "RW", - "public": true, - "managed": true, - "description": "The currently active alert effect.", - "default": "none", - "values": [ - ["\"none\"", "light is not performing an alert"], - ["\"select\"", "light is blinking a short time"], - ["\"lselect\"", "light is blinking a longer time"] - ] -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/alert", + "datatype": "String", + "access": "RW", + "public": true, + "managed": true, + "description": "The currently active alert effect.", + "default": "none", + "values": [ + [ + "\"none\"", + "light is not performing an alert" + ], + [ + "\"select\"", + "light is blinking a short time" + ], + [ + "\"lselect\"", + "light is blinking a longer time" + ] + ] +} diff --git a/devices/generic/items/state_angle_item.json b/devices/generic/items/state_angle_item.json index 3a9d891..da5dec5 100644 --- a/devices/generic/items/state_angle_item.json +++ b/devices/generic/items/state_angle_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/angle", - "datatype": "Int16", - "access": "R", - "public": true, - "description": "The angle of an action in degrees." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/angle", + "datatype": "Int16", + "access": "R", + "public": true, + "description": "The angle of an action in degrees." +} diff --git a/devices/generic/items/state_battery_item.json b/devices/generic/items/state_battery_item.json index 1d7a035..7e20bdd 100644 --- a/devices/generic/items/state_battery_item.json +++ b/devices/generic/items/state_battery_item.json @@ -1,12 +1,26 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/battery", - "datatype": "UInt8", - "access": "R", - "public": true, - "range": [0, 100], - "description": "The current device battery level in range 0–100 %.", - "parse": {"fn": "zcl", "ep": 0, "cl": "0x0001", "at": "0x0021", "eval": "Item.val = Attr.val / 2"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0001", "at": "0x0021"}, - "refresh.interval": 3600 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/battery", + "datatype": "UInt8", + "access": "R", + "public": true, + "range": [ + 0, + 100 + ], + "description": "The current device battery level in range 0–100 %.", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0001", + "at": "0x0021", + "eval": "Item.val = Attr.val / 2" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0001", + "at": "0x0021" + }, + "refresh.interval": 3600 +} diff --git a/devices/generic/items/state_bri_item.json b/devices/generic/items/state_bri_item.json index cc5b645..049a243 100644 --- a/devices/generic/items/state_bri_item.json +++ b/devices/generic/items/state_bri_item.json @@ -1,12 +1,26 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/bri", - "datatype": "UInt8", - "access": "RW", - "public": true, - "range": [0, 254], - "description": "The current brightness.", - "parse": {"fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x0000", "eval": "Item.val = Attr.val"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0008", "at": "0x0000"}, - "refresh.interval": 5 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/bri", + "datatype": "UInt8", + "access": "RW", + "public": true, + "range": [ + 0, + 254 + ], + "description": "The current brightness.", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x0000", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0008", + "at": "0x0000" + }, + "refresh.interval": 5 +} diff --git a/devices/generic/items/state_buttonevent_item.json b/devices/generic/items/state_buttonevent_item.json index e7db1e7..f5b79ef 100644 --- a/devices/generic/items/state_buttonevent_item.json +++ b/devices/generic/items/state_buttonevent_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/buttonevent", - "datatype": "UInt32", - "access": "R", - "public": true, - "description": "The last received button event." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/buttonevent", + "datatype": "UInt32", + "access": "R", + "public": true, + "description": "The last received button event." +} diff --git a/devices/generic/items/state_carbonmonoxide_item.json b/devices/generic/items/state_carbonmonoxide_item.json index 11a3bb3..b65b500 100644 --- a/devices/generic/items/state_carbonmonoxide_item.json +++ b/devices/generic/items/state_carbonmonoxide_item.json @@ -1,10 +1,13 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/carbonmonoxide", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when carbonmonoxide is detected.", - "parse": {"fn": "ias:zonestatus", "mask": "alarm1,alarm2"}, - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/carbonmonoxide", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when carbonmonoxide is detected.", + "parse": { + "fn": "ias:zonestatus", + "mask": "alarm1,alarm2" + }, + "default": false +} diff --git a/devices/generic/items/state_charging_item.json b/devices/generic/items/state_charging_item.json index 0505a3e..c476e57 100644 --- a/devices/generic/items/state_charging_item.json +++ b/devices/generic/items/state_charging_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/charging", - "datatype": "Bool", - "access": "RW", - "public": true, - "default": false, - "description": "True when device is charging the battery." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/charging", + "datatype": "Bool", + "access": "RW", + "public": true, + "default": false, + "description": "True when device is charging the battery." +} diff --git a/devices/generic/items/state_colormode_item.json b/devices/generic/items/state_colormode_item.json index 2ab8320..d9e4ea2 100644 --- a/devices/generic/items/state_colormode_item.json +++ b/devices/generic/items/state_colormode_item.json @@ -1,21 +1,36 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/colormode", - "datatype": "String", - "access": "R", - "public": true, - "description": "The currently active color mode.", - "values": [ - ["\"hs\"", "hue and saturation"], - ["\"xy\"", "CIE xy color space coordinates"], - ["\"ct\"", "color temperature"] + "schema": "resourceitem1.schema.json", + "id": "state/colormode", + "datatype": "String", + "access": "R", + "public": true, + "description": "The currently active color mode.", + "values": [ + [ + "\"hs\"", + "hue and saturation" ], - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0008", - "eval": "if (Attr.val <= 2) Item.val = ['hs', 'xy', 'ct'][Attr.val]" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0008" - }, - "refresh.interval": 300 + [ + "\"xy\"", + "CIE xy color space coordinates" + ], + [ + "\"ct\"", + "color temperature" + ] + ], + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0008", + "eval": "if (Attr.val <= 2) Item.val = ['hs', 'xy', 'ct'][Attr.val]" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0008" + }, + "refresh.interval": 300 } diff --git a/devices/generic/items/state_colorx_item.json b/devices/generic/items/state_colorx_item.json deleted file mode 100644 index feb4f25..0000000 --- a/devices/generic/items/state_colorx_item.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "schema": "resourceitem1.schema.json", - "id": "state/x", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The current color x coordinate.", - "parse": {"fn": "zcl", "ep": 255, "cl": "0x0300", "at": "0x0003", "eval": "Item.val = Attr.val"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0300", "at": ["0x0003", "0x0004"]}, - "refresh.interval": 5 -} \ No newline at end of file diff --git a/devices/generic/items/state_colory_item.json b/devices/generic/items/state_colory_item.json deleted file mode 100644 index 53489b9..0000000 --- a/devices/generic/items/state_colory_item.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "schema": "resourceitem1.schema.json", - "id": "state/y", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The current color y coordinate.", - "parse": {"fn": "zcl", "ep": 255, "cl": "0x0300", "at": "0x0004", "eval": "Item.val = Attr.val"} -} \ No newline at end of file diff --git a/devices/generic/items/state_consumption_2_item.json b/devices/generic/items/state_consumption_2_item.json index 6692478..3aa0ecf 100644 --- a/devices/generic/items/state_consumption_2_item.json +++ b/devices/generic/items/state_consumption_2_item.json @@ -1,11 +1,21 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/consumption_2", - "datatype": "UInt64", - "access": "RW", - "public": true, - "description": "The measured consumption (in Wh).", - "read": {"at": "0x0000", "cl": "0x0702", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x0000", "cl": "0x0702", "ep": 0, "eval": "Item.val = Attr.val"}, - "refresh.interval": 300 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/consumption_2", + "datatype": "UInt64", + "access": "RW", + "public": true, + "description": "The measured consumption (in Wh).", + "read": { + "at": "0x0000", + "cl": "0x0702", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x0000", + "cl": "0x0702", + "ep": 0, + "eval": "Item.val = Attr.val" + }, + "refresh.interval": 300 +} diff --git a/devices/generic/items/state_consumption_item.json b/devices/generic/items/state_consumption_item.json index 32204ab..b256a7c 100644 --- a/devices/generic/items/state_consumption_item.json +++ b/devices/generic/items/state_consumption_item.json @@ -1,12 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/consumption", - "datatype": "UInt64", - "access": "RW", - "public": true, - "description": "The measured consumption (in Wh).", - "read": {"at": "0x0000", "cl": "0x0702", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x0000", "cl": "0x0702", "ep": 0, "eval": "Item.val = Attr.val"}, - "refresh.interval": 300, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/consumption", + "datatype": "UInt64", + "access": "RW", + "public": true, + "description": "The measured consumption (in Wh).", + "read": { + "at": "0x0000", + "cl": "0x0702", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x0000", + "cl": "0x0702", + "ep": 0, + "eval": "Item.val = Attr.val" + }, + "refresh.interval": 300, + "default": 0 +} diff --git a/devices/generic/items/state_ct_item.json b/devices/generic/items/state_ct_item.json index 2eadccb..8820ebd 100644 --- a/devices/generic/items/state_ct_item.json +++ b/devices/generic/items/state_ct_item.json @@ -1,11 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/ct", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The current Mired color temperature of the light. Where Mired is 1000000 / color temperature (in kelvins).", - "parse": {"fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0007", "eval": "Item.val = Attr.val"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0007"}, - "refresh.interval": 5 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/ct", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The current Mired color temperature of the light. Where Mired is 1000000 / color temperature (in kelvins).", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0007", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0007" + }, + "refresh.interval": 5 +} diff --git a/devices/generic/items/state_current_P1_item.json b/devices/generic/items/state_current_P1_item.json index f7ba9cd..17196d2 100644 --- a/devices/generic/items/state_current_P1_item.json +++ b/devices/generic/items/state_current_P1_item.json @@ -1,11 +1,21 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/current_P1", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The measured current on phase 1.", - "read": {"at": "0x0508", "cl": "0x0b04", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x0508", "cl": "0x0b04", "ep": 0, "eval": "Item.val = Attr.val;"}, - "refresh.interval": 300 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/current_P1", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The measured current on phase 1.", + "read": { + "at": "0x0508", + "cl": "0x0b04", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x0508", + "cl": "0x0b04", + "ep": 0, + "eval": "Item.val = Attr.val;" + }, + "refresh.interval": 300 +} diff --git a/devices/generic/items/state_current_P2_item.json b/devices/generic/items/state_current_P2_item.json index d75501d..ddb6892 100644 --- a/devices/generic/items/state_current_P2_item.json +++ b/devices/generic/items/state_current_P2_item.json @@ -1,11 +1,21 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/current_P2", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The measured current on phase 2.", - "read": {"at": "0x0908", "cl": "0x0b04", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x0908", "cl": "0x0b04", "ep": 0, "eval": "Item.val = Attr.val;"}, - "refresh.interval": 300 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/current_P2", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The measured current on phase 2.", + "read": { + "at": "0x0908", + "cl": "0x0b04", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x0908", + "cl": "0x0b04", + "ep": 0, + "eval": "Item.val = Attr.val;" + }, + "refresh.interval": 300 +} diff --git a/devices/generic/items/state_current_P3_item.json b/devices/generic/items/state_current_P3_item.json index f47176b..3436e46 100644 --- a/devices/generic/items/state_current_P3_item.json +++ b/devices/generic/items/state_current_P3_item.json @@ -1,11 +1,21 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/current_P3", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The measured current on phase 3.", - "read": {"at": "0x0a08", "cl": "0x0b04", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x0a08", "cl": "0x0b04", "ep": 0, "eval": "Item.val = Attr.val;"}, - "refresh.interval": 300 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/current_P3", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The measured current on phase 3.", + "read": { + "at": "0x0a08", + "cl": "0x0b04", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x0a08", + "cl": "0x0b04", + "ep": 0, + "eval": "Item.val = Attr.val;" + }, + "refresh.interval": 300 +} diff --git a/devices/generic/items/state_current_item.json b/devices/generic/items/state_current_item.json index 1ee5f2b..1dc0a7b 100644 --- a/devices/generic/items/state_current_item.json +++ b/devices/generic/items/state_current_item.json @@ -1,12 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/current", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The measured current (in mA).", - "read": {"at": "0x0508", "cl": "0x0b04", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x0508", "cl": "0x0b04", "ep": 0, "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"}, - "refresh.interval": 300, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/current", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The measured current (in mA).", + "read": { + "at": "0x0508", + "cl": "0x0b04", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x0508", + "cl": "0x0b04", + "ep": 0, + "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }" + }, + "refresh.interval": 300, + "default": 0 +} diff --git a/devices/generic/items/state_dark_item.json b/devices/generic/items/state_dark_item.json index fcc0472..5703921 100644 --- a/devices/generic/items/state_dark_item.json +++ b/devices/generic/items/state_dark_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/dark", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when lightlevel is lower than tholddark.", - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/dark", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when lightlevel is lower than tholddark.", + "default": false +} diff --git a/devices/generic/items/state_daylight_item.json b/devices/generic/items/state_daylight_item.json index 30ae3d6..d4590fa 100644 --- a/devices/generic/items/state_daylight_item.json +++ b/devices/generic/items/state_daylight_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/daylight", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when lightlevel suits daylight according tholddark and tholdoffset configuration.", - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/daylight", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when lightlevel suits daylight according tholddark and tholdoffset configuration.", + "default": false +} diff --git a/devices/generic/items/state_deviceruntime_item.json b/devices/generic/items/state_deviceruntime_item.json index bb4d3fc..ee7737d 100644 --- a/devices/generic/items/state_deviceruntime_item.json +++ b/devices/generic/items/state_deviceruntime_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/deviceruntime", - "datatype": "UInt32", - "access": "R", - "public": true, - "default": 0, - "description": "Device run time in minutes." + "schema": "resourceitem1.schema.json", + "id": "state/deviceruntime", + "datatype": "UInt32", + "access": "R", + "public": true, + "default": 0, + "description": "Device run time in minutes." } diff --git a/devices/generic/items/state_effect_item.json b/devices/generic/items/state_effect_item.json index 6578189..c459716 100644 --- a/devices/generic/items/state_effect_item.json +++ b/devices/generic/items/state_effect_item.json @@ -1,22 +1,34 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/effect", - "datatype": "String", - "access": "RW", - "public": true, - "managed": true, - "description": "The currently active effect.", - "default": "none", - "values": [ - ["\"none\"", "no effect is active"], - ["\"colorloop\"", "colorloop through hue values"] + "schema": "resourceitem1.schema.json", + "id": "state/effect", + "datatype": "String", + "access": "RW", + "public": true, + "managed": true, + "description": "The currently active effect.", + "default": "none", + "values": [ + [ + "\"none\"", + "no effect is active" ], - "parse": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x4002", - "eval": "Item.val = Attr.val ? 'colorloop' : 'none'" - }, - "read": { - "fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x4002" - }, - "refresh.interval": 300 + [ + "\"colorloop\"", + "colorloop through hue values" + ] + ], + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x4002", + "eval": "Item.val = Attr.val ? 'colorloop' : 'none'" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x4002" + }, + "refresh.interval": 300 } diff --git a/devices/generic/items/state_errorcode_item.json b/devices/generic/items/state_errorcode_item.json index 52f56ef..b9e1a52 100644 --- a/devices/generic/items/state_errorcode_item.json +++ b/devices/generic/items/state_errorcode_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/errorcode", - "datatype": "String", - "access": "R", - "public": true, - "description": "The error code given by the device." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/errorcode", + "datatype": "String", + "access": "R", + "public": true, + "description": "The error code given by the device." +} diff --git a/devices/generic/items/state_eventduration_item.json b/devices/generic/items/state_eventduration_item.json index 21c8da3..19687fc 100644 --- a/devices/generic/items/state_eventduration_item.json +++ b/devices/generic/items/state_eventduration_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/eventduration", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Determines how long an event lasted (not implemented yet)." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/eventduration", + "datatype": "UInt32", + "access": "R", + "public": true, + "description": "Determines how long an event lasted." +} diff --git a/devices/generic/items/state_expectedeventduration_item.json b/devices/generic/items/state_expectedeventduration_item.json index a228d86..664840f 100644 --- a/devices/generic/items/state_expectedeventduration_item.json +++ b/devices/generic/items/state_expectedeventduration_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/expectedeventduration", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "The expected duration of the last received rotary event." + "schema": "resourceitem1.schema.json", + "id": "state/expectedeventduration", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "The expected duration of the last received rotary event." } diff --git a/devices/generic/items/state_expectedrotation_item.json b/devices/generic/items/state_expectedrotation_item.json index ec18589..0558a78 100644 --- a/devices/generic/items/state_expectedrotation_item.json +++ b/devices/generic/items/state_expectedrotation_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/expectedrotation", - "datatype": "Int16", - "access": "R", - "public": true, - "description": "The expected rotation of the last received rotary event." + "schema": "resourceitem1.schema.json", + "id": "state/expectedrotation", + "datatype": "Int16", + "access": "R", + "public": true, + "description": "The expected rotation of the last received rotary event." } diff --git a/devices/generic/items/state_filterruntime_item.json b/devices/generic/items/state_filterruntime_item.json index 5edf341..83f4c79 100644 --- a/devices/generic/items/state_filterruntime_item.json +++ b/devices/generic/items/state_filterruntime_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/filterruntime", - "datatype": "UInt32", - "access": "R", - "public": true, - "default": 0, - "description": "Filter run time in minutes." + "schema": "resourceitem1.schema.json", + "id": "state/filterruntime", + "datatype": "UInt32", + "access": "R", + "public": true, + "default": 0, + "description": "Filter run time in minutes." } diff --git a/devices/generic/items/state_fire_item.json b/devices/generic/items/state_fire_item.json index 011478e..fe5ed17 100644 --- a/devices/generic/items/state_fire_item.json +++ b/devices/generic/items/state_fire_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/fire", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when fire is detected.", - "parse": {"fn": "ias:zonestatus", "mask": "alarm1,alarm2"} -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/fire", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when fire is detected.", + "parse": { + "fn": "ias:zonestatus", + "mask": "alarm1,alarm2" + } +} diff --git a/devices/generic/items/state_gesture_item.json b/devices/generic/items/state_gesture_item.json index a9823de..8f3e614 100644 --- a/devices/generic/items/state_gesture_item.json +++ b/devices/generic/items/state_gesture_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/gesture", - "datatype": "UInt32", - "access": "R", - "public": true, - "description": "The last received gesture." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/gesture", + "datatype": "UInt32", + "access": "R", + "public": true, + "description": "The last received gesture." +} diff --git a/devices/generic/items/state_gradient_item.json b/devices/generic/items/state_gradient_item.json index 9e78a1b..33b85d8 100644 --- a/devices/generic/items/state_gradient_item.json +++ b/devices/generic/items/state_gradient_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/gradient", - "datatype": "String", - "access": "RW", - "public": true, - "managed": true, - "description": "The currently active gradient (for Hue Gradient lights).", - "default": "{}" + "schema": "resourceitem1.schema.json", + "id": "state/gradient", + "datatype": "String", + "access": "RW", + "public": true, + "managed": true, + "description": "The currently active gradient (for Hue Gradient lights).", + "default": "{}" } diff --git a/devices/generic/items/state_heating_item.json b/devices/generic/items/state_heating_item.json index bdfe2db..e0f840d 100644 --- a/devices/generic/items/state_heating_item.json +++ b/devices/generic/items/state_heating_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/heating", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "Determines heating state for ELKO Super TR thermostat." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/heating", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "Determines heating state for ELKO Super TR thermostat." +} diff --git a/devices/generic/items/state_hue_item.json b/devices/generic/items/state_hue_item.json index 49371cb..c145eba 100644 --- a/devices/generic/items/state_hue_item.json +++ b/devices/generic/items/state_hue_item.json @@ -1,10 +1,21 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/hue", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The current color hue.", - "parse": {"fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x4000", "eval": "Item.val = Attr.val"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x4000"} -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/hue", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The current color hue.", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x4000", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x4000" + } +} diff --git a/devices/generic/items/state_humidity_item.json b/devices/generic/items/state_humidity_item.json index c2452c5..f21760e 100644 --- a/devices/generic/items/state_humidity_item.json +++ b/devices/generic/items/state_humidity_item.json @@ -1,16 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/humidity", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "The current relative humidity in percent.", - "parse": { - "at": "0x0000", - "cl": "0x0405", - "ep": 0, - "eval": "Item.val = Attr.val + R.item('config/offset').val", - "fn": "zcl" - }, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/humidity", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "The current relative humidity in percent.", + "parse": { + "at": "0x0000", + "cl": "0x0405", + "ep": 0, + "eval": "Item.val = Attr.val + R.item('config/offset').val", + "fn": "zcl" + }, + "default": 0 +} diff --git a/devices/generic/items/state_lastcheckin_item.json b/devices/generic/items/state_lastcheckin_item.json index 2069a67..dd0d18e 100644 --- a/devices/generic/items/state_lastcheckin_item.json +++ b/devices/generic/items/state_lastcheckin_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/lastcheckin", - "datatype": "ISO 8601 timestamp", - "access": "R", - "public": false, - "managed": true, - "description": "Timestamp of last Poll Control cluster checkin." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/lastcheckin", + "datatype": "ISO 8601 timestamp", + "access": "R", + "public": false, + "managed": true, + "description": "Timestamp of last Poll Control cluster checkin." +} diff --git a/devices/generic/items/state_lastset_item.json b/devices/generic/items/state_lastset_item.json index 2bbca9b..70c2084 100644 --- a/devices/generic/items/state_lastset_item.json +++ b/devices/generic/items/state_lastset_item.json @@ -1,11 +1,18 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/lastset", - "datatype": "ISO 8601 timestamp", - "access": "R", - "public": true, - "description": "Timestamp when the time attribute was last set on the device.", - "parse": {"fn": "time"}, - "read": {"at": "0x0008", "cl": "0x000A", "ep": 0, "fn": "zcl"}, - "refresh.interval": 3600 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/lastset", + "datatype": "ISO 8601 timestamp", + "access": "R", + "public": true, + "description": "Timestamp when the time attribute was last set on the device.", + "parse": { + "fn": "time" + }, + "read": { + "at": "0x0008", + "cl": "0x000A", + "ep": 0, + "fn": "zcl" + }, + "refresh.interval": 3600 +} diff --git a/devices/generic/items/state_lastupdated_item.json b/devices/generic/items/state_lastupdated_item.json index 6adce25..b2f7314 100644 --- a/devices/generic/items/state_lastupdated_item.json +++ b/devices/generic/items/state_lastupdated_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/lastupdated", - "datatype": "ISO 8601 timestamp", - "access": "R", - "public": true, - "implicit": true, - "managed": true, - "description": "Timestamp when state was last updated." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/lastupdated", + "datatype": "ISO 8601 timestamp", + "access": "R", + "public": true, + "implicit": true, + "managed": true, + "description": "Timestamp when state was last updated." +} diff --git a/devices/generic/items/state_lift_item.json b/devices/generic/items/state_lift_item.json index a193560..2f86226 100644 --- a/devices/generic/items/state_lift_item.json +++ b/devices/generic/items/state_lift_item.json @@ -1,13 +1,27 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/lift", - "datatype": "UInt8", - "access": "RW", - "public": true, - "range": [0, 254], - "description": "The lift state of a roller blind.", - "parse": {"at": "0x0008", "cl": "0x0102", "ep": 0, "eval": "Item.val = Attr.val;", "fn": "zcl"}, - "read": {"at": "0x0008", "cl": "0x0102", "ep": 0, "fn": "zcl"}, - "refresh.interval": 300, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/lift", + "datatype": "UInt8", + "access": "RW", + "public": true, + "range": [ + 0, + 254 + ], + "description": "The lift state of a roller blind.", + "parse": { + "at": "0x0008", + "cl": "0x0102", + "ep": 0, + "eval": "Item.val = Attr.val;", + "fn": "zcl" + }, + "read": { + "at": "0x0008", + "cl": "0x0102", + "ep": 0, + "fn": "zcl" + }, + "refresh.interval": 300, + "default": 0 +} diff --git a/devices/generic/items/state_lightlevel_item.json b/devices/generic/items/state_lightlevel_item.json index cc0adbe..ac0e0bd 100644 --- a/devices/generic/items/state_lightlevel_item.json +++ b/devices/generic/items/state_lightlevel_item.json @@ -1,10 +1,13 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/lightlevel", - "datatype": "UInt16", - "access": "R", - "public": true, - "range": [0, 65534], - "description": "The current Light level in 10000 log10 (lux) + 1.", - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/lightlevel", + "datatype": "UInt16", + "access": "R", + "public": true, + "range": [ + 0, + 65534 + ], + "description": "The current Light level in 10000 log10 (lux) + 1.", + "default": 0 +} diff --git a/devices/generic/items/state_localtime_item.json b/devices/generic/items/state_localtime_item.json index 79df7a0..ba4f2cf 100644 --- a/devices/generic/items/state_localtime_item.json +++ b/devices/generic/items/state_localtime_item.json @@ -1,11 +1,18 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/localtime", - "datatype": "ISO 8601 timestamp", - "access": "R", - "public": true, - "description": "The current local time set on the device.", - "parse": {"fn": "time"}, - "read": {"at": "0x0007", "cl": "0x000A", "ep": 0, "fn": "zcl"}, - "refresh.interval": 3600 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/localtime", + "datatype": "ISO 8601 timestamp", + "access": "R", + "public": true, + "description": "The current local time set on the device.", + "parse": { + "fn": "time" + }, + "read": { + "at": "0x0007", + "cl": "0x000A", + "ep": 0, + "fn": "zcl" + }, + "refresh.interval": 3600 +} diff --git a/devices/generic/items/state_lockstate_item.json b/devices/generic/items/state_lockstate_item.json index d8e7942..9fbd863 100644 --- a/devices/generic/items/state_lockstate_item.json +++ b/devices/generic/items/state_lockstate_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/lockstate", - "datatype": "String", - "access": "R", - "public": true, - "description": "Door lock state." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/lockstate", + "datatype": "String", + "access": "R", + "public": true, + "description": "Door lock state." +} diff --git a/devices/generic/items/state_lowbattery_item.json b/devices/generic/items/state_lowbattery_item.json index 9fcbbfc..6558763 100644 --- a/devices/generic/items/state_lowbattery_item.json +++ b/devices/generic/items/state_lowbattery_item.json @@ -1,10 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/lowbattery", - "datatype": "Bool", - "access": "R", - "public": true, - "managed": true, - "description": "True when the device battery runs low.", - "parse": {"fn": "ias:zonestatus"} -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/lowbattery", + "datatype": "Bool", + "access": "R", + "public": true, + "managed": true, + "description": "True when the device battery runs low.", + "parse": { + "fn": "ias:zonestatus" + } +} diff --git a/devices/generic/items/state_lux_item.json b/devices/generic/items/state_lux_item.json index 4961257..66cd220 100644 --- a/devices/generic/items/state_lux_item.json +++ b/devices/generic/items/state_lux_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/lux", - "datatype": "UInt32", - "access": "R", - "public": true, - "description": "The current Light level in lux.", - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/lux", + "datatype": "UInt32", + "access": "R", + "public": true, + "description": "The current Light level in lux.", + "default": 0 +} diff --git a/devices/generic/items/state_measured_value_item.json b/devices/generic/items/state_measured_value_item.json new file mode 100644 index 0000000..ed98fb7 --- /dev/null +++ b/devices/generic/items/state_measured_value_item.json @@ -0,0 +1,9 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "state/measured_value", + "datatype": "Double", + "access": "R", + "public": true, + "default": 0, + "description": "Represents the concentration as a fraction of 1." +} diff --git a/devices/generic/items/state_moisture_item.json b/devices/generic/items/state_moisture_item.json index 484fd05..faa6ccc 100644 --- a/devices/generic/items/state_moisture_item.json +++ b/devices/generic/items/state_moisture_item.json @@ -1,16 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/moisture", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "The current relative moisture in percent × 100.", - "parse": { - "at": "0x0000", - "cl": "0x0408", - "ep": 0, - "eval": "Item.val = Attr.val + R.item('config/offset').val", - "fn": "zcl" - }, - "default": 0 + "schema": "resourceitem1.schema.json", + "id": "state/moisture", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "The current relative moisture in percent × 100.", + "parse": { + "at": "0x0000", + "cl": "0x0408", + "ep": 0, + "eval": "Item.val = Attr.val + R.item('config/offset').val", + "fn": "zcl" + }, + "default": 0 } diff --git a/devices/generic/items/state_mountingmodeactive_item.json b/devices/generic/items/state_mountingmodeactive_item.json index ba11ef1..115a811 100644 --- a/devices/generic/items/state_mountingmodeactive_item.json +++ b/devices/generic/items/state_mountingmodeactive_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/mountingmodeactive", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "The current mounting mode state." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/mountingmodeactive", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "The current mounting mode state." +} diff --git a/devices/generic/items/state_music_sync_item.json b/devices/generic/items/state_music_sync_item.json new file mode 100644 index 0000000..fa32b93 --- /dev/null +++ b/devices/generic/items/state_music_sync_item.json @@ -0,0 +1,8 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "state/music_sync", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "Music sync on or off." +} diff --git a/devices/generic/items/state_on_item.json b/devices/generic/items/state_on_item.json index b1c3f4d..2762887 100644 --- a/devices/generic/items/state_on_item.json +++ b/devices/generic/items/state_on_item.json @@ -1,11 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/on", - "datatype": "Bool", - "access": "RW", - "public": true, - "description": "True when device is on; false when off.", - "parse": {"fn": "zcl", "ep": 0, "cl": "0x0006", "at": "0x0000", "eval": "Item.val = Attr.val"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0006", "at": "0x0000"}, - "refresh.interval": 5 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/on", + "datatype": "Bool", + "access": "RW", + "public": true, + "description": "True when device is on; false when off.", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0006", + "at": "0x0000", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0006", + "at": "0x0000" + }, + "refresh.interval": 5 +} diff --git a/devices/generic/items/state_open_item.json b/devices/generic/items/state_open_item.json index 8586abe..6d1986d 100644 --- a/devices/generic/items/state_open_item.json +++ b/devices/generic/items/state_open_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/open", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when open is detected.", - "parse": {"fn": "ias:zonestatus", "mask": "alarm1,alarm2"} -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/open", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when open is detected.", + "parse": { + "fn": "ias:zonestatus", + "mask": "alarm1,alarm2" + } +} diff --git a/devices/generic/items/state_orientation_x_item.json b/devices/generic/items/state_orientation_x_item.json index ec74667..3d3b237 100644 --- a/devices/generic/items/state_orientation_x_item.json +++ b/devices/generic/items/state_orientation_x_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/orientation_x", - "datatype": "Int16", - "access": "R", - "public": true, - "description": "The X orientation of a gyro." + "schema": "resourceitem1.schema.json", + "id": "state/orientation_x", + "datatype": "Int16", + "access": "R", + "public": true, + "description": "The X orientation of a gyro." } diff --git a/devices/generic/items/state_orientation_y_item.json b/devices/generic/items/state_orientation_y_item.json index 0e2fbaa..14beb7f 100644 --- a/devices/generic/items/state_orientation_y_item.json +++ b/devices/generic/items/state_orientation_y_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/orientation_y", - "datatype": "Int16", - "access": "R", - "public": true, - "description": "The Y orientation of a gyro." + "schema": "resourceitem1.schema.json", + "id": "state/orientation_y", + "datatype": "Int16", + "access": "R", + "public": true, + "description": "The Y orientation of a gyro." } diff --git a/devices/generic/items/state_orientation_z_item.json b/devices/generic/items/state_orientation_z_item.json index 1079b04..1f5869f 100644 --- a/devices/generic/items/state_orientation_z_item.json +++ b/devices/generic/items/state_orientation_z_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/orientation_z", - "datatype": "Int16", - "access": "R", - "public": true, - "description": "The Z orientation of a gyro." + "schema": "resourceitem1.schema.json", + "id": "state/orientation_z", + "datatype": "Int16", + "access": "R", + "public": true, + "description": "The Z orientation of a gyro." } diff --git a/devices/generic/items/state_panel_item.json b/devices/generic/items/state_panel_item.json index 8fd6814..b3e40f5 100644 --- a/devices/generic/items/state_panel_item.json +++ b/devices/generic/items/state_panel_item.json @@ -1,22 +1,52 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/panel", - "datatype": "String", - "access": "RW", - "public": true, - "managed": true, - "description": "The IAS panel.", - "default": "disarmed", - "values": [ - ["\"disarmed\"", "disarmed not triggering alarm"], - ["\"armed_stay\"", "trigger in stay mode"], - ["\"armed_night\"", "trigger in night mode"], - ["\"armed_away\"", "trigger in away mode"], - ["\"exit_delay\"", "exit delay active"], - ["\"entry_delay\"", "entry delay active"], - ["\"not_ready\"", "alarm system not ready"], - ["\"arming_stay\"", "arming stay mode"], - ["\"arming_night\"", "arming night mode"], - ["\"arming_away\"", "arming away mode"] - ] -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/panel", + "datatype": "String", + "access": "RW", + "public": true, + "managed": true, + "description": "The IAS panel.", + "default": "disarmed", + "values": [ + [ + "\"disarmed\"", + "disarmed not triggering alarm" + ], + [ + "\"armed_stay\"", + "trigger in stay mode" + ], + [ + "\"armed_night\"", + "trigger in night mode" + ], + [ + "\"armed_away\"", + "trigger in away mode" + ], + [ + "\"exit_delay\"", + "exit delay active" + ], + [ + "\"entry_delay\"", + "entry delay active" + ], + [ + "\"not_ready\"", + "alarm system not ready" + ], + [ + "\"arming_stay\"", + "arming stay mode" + ], + [ + "\"arming_night\"", + "arming night mode" + ], + [ + "\"arming_away\"", + "arming away mode" + ] + ] +} diff --git a/devices/generic/items/state_pm2_5_item.json b/devices/generic/items/state_pm2_5_item.json index bf1f12a..381681d 100644 --- a/devices/generic/items/state_pm2_5_item.json +++ b/devices/generic/items/state_pm2_5_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/pm2_5", - "datatype": "UInt16", - "access": "R", - "public": true, - "description": "Measured PM2.5 density in µg/m³.", - "default": 0 + "schema": "resourceitem1.schema.json", + "id": "state/pm2_5", + "datatype": "UInt16", + "access": "R", + "public": true, + "description": "Measured PM2.5 density in µg/m³.", + "default": 0 } diff --git a/devices/generic/items/state_power_item.json b/devices/generic/items/state_power_item.json index b1d213e..c2106e9 100644 --- a/devices/generic/items/state_power_item.json +++ b/devices/generic/items/state_power_item.json @@ -1,12 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/power", - "datatype": "Int16", - "access": "RW", - "public": true, - "description": "The measured power (in W).", - "read": {"at": "0x050b", "cl": "0x0b04", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x050b", "cl": "0x0b04", "ep": 0, "eval": "if (Attr.val != -32768 && Attr.val != 32768) { Item.val = Attr.val; }"}, - "refresh.interval": 300, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/power", + "datatype": "Int16", + "access": "RW", + "public": true, + "description": "The measured power (in W).", + "read": { + "at": "0x050b", + "cl": "0x0b04", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x050b", + "cl": "0x0b04", + "ep": 0, + "eval": "if (Attr.val != -32768 && Attr.val != 32768) { Item.val = Attr.val; }" + }, + "refresh.interval": 300, + "default": 0 +} diff --git a/devices/generic/items/state_presence_item.json b/devices/generic/items/state_presence_item.json index 346ee76..2ffabde 100644 --- a/devices/generic/items/state_presence_item.json +++ b/devices/generic/items/state_presence_item.json @@ -1,10 +1,13 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/presence", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when presence is detected.", - "parse": {"fn": "ias:zonestatus", "mask": "alarm1,alarm2"}, - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/presence", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when presence is detected.", + "parse": { + "fn": "ias:zonestatus", + "mask": "alarm1,alarm2" + }, + "default": false +} diff --git a/devices/generic/items/state_presenceevent_item.json b/devices/generic/items/state_presenceevent_item.json index 12257a3..57c07a7 100644 --- a/devices/generic/items/state_presenceevent_item.json +++ b/devices/generic/items/state_presenceevent_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/presenceevent", - "datatype": "String", - "access": "R", - "public": true, - "description": "Describes what current activity is associated with the current presence state" -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/presenceevent", + "datatype": "String", + "access": "R", + "public": true, + "description": "Describes what current activity is associated with the current presence state" +} diff --git a/devices/generic/items/state_pressure_item.json b/devices/generic/items/state_pressure_item.json index 485b2d3..e8f0242 100644 --- a/devices/generic/items/state_pressure_item.json +++ b/devices/generic/items/state_pressure_item.json @@ -1,16 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/pressure", - "datatype": "Int16", - "access": "R", - "public": true, - "description": "The current air pressure (mBar).", - "parse": { - "at": "0x0000", - "cl": "0x0403", - "ep": 0, - "eval": "Item.val = Attr.val + R.item('config/offset').val", - "fn": "zcl" - }, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/pressure", + "datatype": "Int16", + "access": "R", + "public": true, + "description": "The current air pressure (mBar).", + "parse": { + "at": "0x0000", + "cl": "0x0403", + "ep": 0, + "eval": "Item.val = Attr.val + R.item('config/offset').val", + "fn": "zcl" + }, + "default": 0 +} diff --git a/devices/generic/items/state_production_item.json b/devices/generic/items/state_production_item.json index 3d7cbb3..e7648cc 100644 --- a/devices/generic/items/state_production_item.json +++ b/devices/generic/items/state_production_item.json @@ -1,11 +1,21 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/production", - "datatype": "UInt64", - "access": "RW", - "public": true, - "description": "The measured production (in Wh).", - "read": {"at": "0x0001", "cl": "0x0702", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x0001", "cl": "0x0702", "ep": 0, "eval": "Item.val = Attr.val"}, - "refresh.interval": 300 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/production", + "datatype": "UInt64", + "access": "RW", + "public": true, + "description": "The measured production (in Wh).", + "read": { + "at": "0x0001", + "cl": "0x0702", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x0001", + "cl": "0x0702", + "ep": 0, + "eval": "Item.val = Attr.val" + }, + "refresh.interval": 300 +} diff --git a/devices/generic/items/state_reachable_item.json b/devices/generic/items/state_reachable_item.json index 5a09b25..0c581c4 100644 --- a/devices/generic/items/state_reachable_item.json +++ b/devices/generic/items/state_reachable_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/reachable", - "datatype": "Bool", - "access": "R", - "public": true, - "implicit": true, - "managed": true, - "description": "When true the device is assumed to be operational." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/reachable", + "datatype": "Bool", + "access": "R", + "public": true, + "implicit": true, + "managed": true, + "description": "When true the device is assumed to be operational." +} diff --git a/devices/generic/items/state_replacefilter_item.json b/devices/generic/items/state_replacefilter_item.json index 8313e70..71c2f60 100644 --- a/devices/generic/items/state_replacefilter_item.json +++ b/devices/generic/items/state_replacefilter_item.json @@ -1,9 +1,9 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/replacefilter", - "datatype": "Bool", - "access": "R", - "public": true, - "default": false, - "description": "True when device filter needs to be replaced." + "schema": "resourceitem1.schema.json", + "id": "state/replacefilter", + "datatype": "Bool", + "access": "R", + "public": true, + "default": false, + "description": "True when device filter needs to be replaced." } diff --git a/devices/generic/items/state_rotaryevent_item.json b/devices/generic/items/state_rotaryevent_item.json index 7ad56c9..d59f726 100644 --- a/devices/generic/items/state_rotaryevent_item.json +++ b/devices/generic/items/state_rotaryevent_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/rotaryevent", - "datatype": "UInt8", - "access": "R", - "public": true, - "description": "The last received rotary event." + "schema": "resourceitem1.schema.json", + "id": "state/rotaryevent", + "datatype": "UInt8", + "access": "R", + "public": true, + "description": "The last received rotary event." } diff --git a/devices/generic/items/state_sat_item.json b/devices/generic/items/state_sat_item.json index f354e95..ba58f08 100644 --- a/devices/generic/items/state_sat_item.json +++ b/devices/generic/items/state_sat_item.json @@ -1,11 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/sat", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "The current color saturation.", - "parse": {"fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0001", "eval": "Item.val = Attr.val"}, - "read": {"fn": "zcl", "ep": 0, "cl": "0x0300", "at": "0x0001"}, - "refresh.interval": 5 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/sat", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "The current color saturation.", + "parse": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0001", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": "0x0001" + }, + "refresh.interval": 5 +} diff --git a/devices/generic/items/state_seconds_remaining_item.json b/devices/generic/items/state_seconds_remaining_item.json index 63fd581..a1ac4ef 100644 --- a/devices/generic/items/state_seconds_remaining_item.json +++ b/devices/generic/items/state_seconds_remaining_item.json @@ -1,10 +1,10 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/seconds_remaining", - "datatype": "UInt32", - "access": "RW", - "public": true, - "managed": true, - "description": "The IAS panel seconds remaining.", - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/seconds_remaining", + "datatype": "UInt32", + "access": "RW", + "public": true, + "managed": true, + "description": "The IAS panel seconds remaining.", + "default": 0 +} diff --git a/devices/generic/items/state_speed_item.json b/devices/generic/items/state_speed_item.json index 9b570a5..691c9ef 100644 --- a/devices/generic/items/state_speed_item.json +++ b/devices/generic/items/state_speed_item.json @@ -1,8 +1,8 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/speed", - "datatype": "UInt8", - "access": "RW", - "public": true, - "description": "The fan speed for mains powered devices." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/speed", + "datatype": "UInt8", + "access": "RW", + "public": true, + "description": "The fan speed for mains powered devices." +} diff --git a/devices/generic/items/state_tampered_item.json b/devices/generic/items/state_tampered_item.json index 39d0ee0..afd6351 100644 --- a/devices/generic/items/state_tampered_item.json +++ b/devices/generic/items/state_tampered_item.json @@ -1,9 +1,11 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/tampered", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when the device tampered alarm was triggered.", - "parse": {"fn": "ias:zonestatus"} -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/tampered", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when the device tampered alarm was triggered.", + "parse": { + "fn": "ias:zonestatus" + } +} diff --git a/devices/generic/items/state_targetdistance_item.json b/devices/generic/items/state_targetdistance_item.json new file mode 100644 index 0000000..24f7336 --- /dev/null +++ b/devices/generic/items/state_targetdistance_item.json @@ -0,0 +1,9 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "state/targetdistance", + "description": "Distance from detected target", + "datatype": "Int16", + "access": "R", + "public": true, + "default": 0 +} diff --git a/devices/generic/items/state_temperature_item.json b/devices/generic/items/state_temperature_item.json index 994aa92..1ec17b3 100644 --- a/devices/generic/items/state_temperature_item.json +++ b/devices/generic/items/state_temperature_item.json @@ -1,16 +1,16 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/temperature", - "datatype": "Int16", - "access": "R", - "public": true, - "description": "The current temperature in °C × 100.", - "parse": { - "at": "0x0000", - "cl": "0x0402", - "ep": 0, - "eval": "Item.val = Attr.val + R.item('config/offset').val", - "fn": "zcl" - }, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/temperature", + "datatype": "Int16", + "access": "R", + "public": true, + "description": "The current temperature in °C × 100.", + "parse": { + "at": "0x0000", + "cl": "0x0402", + "ep": 0, + "eval": "Item.val = Attr.val + R.item('config/offset').val", + "fn": "zcl" + }, + "default": 0 +} diff --git a/devices/generic/items/state_test_item.json b/devices/generic/items/state_test_item.json index c223a92..c325912 100644 --- a/devices/generic/items/state_test_item.json +++ b/devices/generic/items/state_test_item.json @@ -1,10 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/test", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when a test is detected.", - "parse": {"fn": "ias:zonestatus"}, - "default": false -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/test", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when a test is detected.", + "parse": { + "fn": "ias:zonestatus" + }, + "default": false +} diff --git a/devices/generic/items/state_tilt_item.json b/devices/generic/items/state_tilt_item.json index 540f437..b9eb2ed 100644 --- a/devices/generic/items/state_tilt_item.json +++ b/devices/generic/items/state_tilt_item.json @@ -1,13 +1,27 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/tilt", - "datatype": "UInt8", - "access": "RW", - "public": true, - "range": [0, 254], - "description": "The tilt state of a shutter or blind.", - "parse": {"at": "0x0009", "cl": "0x0102", "ep": 0, "eval": "Item.val = Attr.val;", "fn": "zcl"}, - "read": {"at": "0x0009", "cl": "0x0102", "ep": 0, "fn": "zcl"}, - "refresh.interval": 300, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/tilt", + "datatype": "UInt8", + "access": "RW", + "public": true, + "range": [ + 0, + 254 + ], + "description": "The tilt state of a shutter or blind.", + "parse": { + "at": "0x0009", + "cl": "0x0102", + "ep": 0, + "eval": "Item.val = Attr.val;", + "fn": "zcl" + }, + "read": { + "at": "0x0009", + "cl": "0x0102", + "ep": 0, + "fn": "zcl" + }, + "refresh.interval": 300, + "default": 0 +} diff --git a/devices/generic/items/state_tiltangle_item.json b/devices/generic/items/state_tiltangle_item.json index 5d08e02..82bb7ce 100644 --- a/devices/generic/items/state_tiltangle_item.json +++ b/devices/generic/items/state_tiltangle_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/tiltangle", - "datatype": "UInt16", - "access": "R", - "public": true, - "range": [0, 360], - "description": "The current tilt angle." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/tiltangle", + "datatype": "UInt16", + "access": "R", + "public": true, + "range": [ + 0, + 360 + ], + "description": "The current tilt angle." +} diff --git a/devices/generic/items/state_utc_item.json b/devices/generic/items/state_utc_item.json index ee5fe11..668b428 100644 --- a/devices/generic/items/state_utc_item.json +++ b/devices/generic/items/state_utc_item.json @@ -1,11 +1,18 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/utc", - "datatype": "ISO 8601 timestamp", - "access": "RW", - "public": true, - "description": "Current timestamp in UTC set on the device.", - "parse": {"fn": "time"}, - "read": {"at": "0x0000", "cl": "0x000A", "ep": 0, "fn": "zcl"}, - "refresh.interval": 3600 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/utc", + "datatype": "ISO 8601 timestamp", + "access": "RW", + "public": true, + "description": "Current timestamp in UTC set on the device.", + "parse": { + "fn": "time" + }, + "read": { + "at": "0x0000", + "cl": "0x000A", + "ep": 0, + "fn": "zcl" + }, + "refresh.interval": 3600 +} diff --git a/devices/generic/items/state_valve_item.json b/devices/generic/items/state_valve_item.json index 2c6c7e1..cd312ab 100644 --- a/devices/generic/items/state_valve_item.json +++ b/devices/generic/items/state_valve_item.json @@ -1,11 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/valve", - "datatype": "UInt8", - "access": "R", - "public": true, - "description": "The open percentage of the thermostat valve.", - "parse": {"at": "0x0008", "cl": "0x0201", "ep": 0, "eval": "Item.val = Attr.val;", "fn": "zcl"}, - "read": {"at": "0x0008", "cl": "0x0201", "ep": 0, "fn": "zcl"}, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/valve", + "datatype": "UInt8", + "access": "R", + "public": true, + "description": "The open percentage of the thermostat valve.", + "parse": { + "at": "0x0008", + "cl": "0x0201", + "ep": 0, + "eval": "Item.val = Attr.val;", + "fn": "zcl" + }, + "read": { + "at": "0x0008", + "cl": "0x0201", + "ep": 0, + "fn": "zcl" + }, + "default": 0 +} diff --git a/devices/generic/items/state_vibration_item.json b/devices/generic/items/state_vibration_item.json index cee48fa..34433c8 100644 --- a/devices/generic/items/state_vibration_item.json +++ b/devices/generic/items/state_vibration_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/vibration", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when vibration is detected.", - "parse": {"fn": "ias:zonestatus", "mask": "alarm1,alarm2"} -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/vibration", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when vibration is detected.", + "parse": { + "fn": "ias:zonestatus", + "mask": "alarm1,alarm2" + } +} diff --git a/devices/generic/items/state_vibrationstrength_item.json b/devices/generic/items/state_vibrationstrength_item.json index f582cbf..73aa716 100644 --- a/devices/generic/items/state_vibrationstrength_item.json +++ b/devices/generic/items/state_vibrationstrength_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/vibrationstrength", - "datatype": "UInt16", - "access": "R", - "public": true, - "range": [0, 65535], - "description": "The strength of the detected vibration." -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/vibrationstrength", + "datatype": "UInt16", + "access": "R", + "public": true, + "range": [ + 0, + 65535 + ], + "description": "The strength of the detected vibration." +} diff --git a/devices/generic/items/state_voltage_item.json b/devices/generic/items/state_voltage_item.json index 37e4d95..88025e7 100644 --- a/devices/generic/items/state_voltage_item.json +++ b/devices/generic/items/state_voltage_item.json @@ -1,12 +1,22 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/voltage", - "datatype": "UInt16", - "access": "RW", - "public": true, - "description": "The measured voltage (in V).", - "read": {"at": "0x0505", "cl": "0x0b04", "ep": 0, "fn": "zcl" }, - "parse": {"at": "0x0505", "cl": "0x0b04", "ep": 0, "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }"}, - "refresh.interval": 300, - "default": 0 -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/voltage", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The measured voltage (in V).", + "read": { + "at": "0x0505", + "cl": "0x0b04", + "ep": 0, + "fn": "zcl" + }, + "parse": { + "at": "0x0505", + "cl": "0x0b04", + "ep": 0, + "eval": "if (Attr.val != 65535) { Item.val = Attr.val; }" + }, + "refresh.interval": 300, + "default": 0 +} diff --git a/devices/generic/items/state_water_item.json b/devices/generic/items/state_water_item.json index 657c658..04aa27c 100644 --- a/devices/generic/items/state_water_item.json +++ b/devices/generic/items/state_water_item.json @@ -1,9 +1,12 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/water", - "datatype": "Bool", - "access": "R", - "public": true, - "description": "True when water is detected.", - "parse": {"fn": "ias:zonestatus", "mask": "alarm1,alarm2"} -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/water", + "datatype": "Bool", + "access": "R", + "public": true, + "description": "True when water is detected.", + "parse": { + "fn": "ias:zonestatus", + "mask": "alarm1,alarm2" + } +} diff --git a/devices/generic/items/state_windowopen_item.json b/devices/generic/items/state_windowopen_item.json index e643616..3c079e3 100644 --- a/devices/generic/items/state_windowopen_item.json +++ b/devices/generic/items/state_windowopen_item.json @@ -1,16 +1,31 @@ { - "schema": "resourceitem1.schema.json", - "id": "state/windowopen", - "datatype": "String", - "access": "R", - "public": true, - "description": "The current window state detected by the thermostat.", - "default": "Quarantine", - "values": [ - ["\"Quarantine\"", "Default"], - ["\"Closed\"", "Window is closed"], - ["\"Hold\"", "Window is maybe about to open"], - ["\"Open\"", "Window is open"], - ["\"Open (external), closed (internal)\"", "In window open state from external, but detected closed locally"] - ] -} \ No newline at end of file + "schema": "resourceitem1.schema.json", + "id": "state/windowopen", + "datatype": "String", + "access": "R", + "public": true, + "description": "The current window state detected by the thermostat.", + "default": "Quarantine", + "values": [ + [ + "\"Quarantine\"", + "Default" + ], + [ + "\"Closed\"", + "Window is closed" + ], + [ + "\"Hold\"", + "Window is maybe about to open" + ], + [ + "\"Open\"", + "Window is open" + ], + [ + "\"Open (external), closed (internal)\"", + "In window open state from external, but detected closed locally" + ] + ] +} diff --git a/devices/generic/items/state_x_item.json b/devices/generic/items/state_x_item.json new file mode 100644 index 0000000..ac5d7e9 --- /dev/null +++ b/devices/generic/items/state_x_item.json @@ -0,0 +1,25 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "state/x", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The current color x coordinate.", + "parse": { + "fn": "zcl", + "ep": 255, + "cl": "0x0300", + "at": "0x0003", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl", + "ep": 0, + "cl": "0x0300", + "at": [ + "0x0003", + "0x0004" + ] + }, + "refresh.interval": 5 +} diff --git a/devices/generic/items/state_y_item.json b/devices/generic/items/state_y_item.json new file mode 100644 index 0000000..3b10d18 --- /dev/null +++ b/devices/generic/items/state_y_item.json @@ -0,0 +1,15 @@ +{ + "schema": "resourceitem1.schema.json", + "id": "state/y", + "datatype": "UInt16", + "access": "RW", + "public": true, + "description": "The current color y coordinate.", + "parse": { + "fn": "zcl", + "ep": 255, + "cl": "0x0300", + "at": "0x0004", + "eval": "Item.val = Attr.val" + } +} diff --git a/devices/generic/subdevices/Range_extender.json b/devices/generic/subdevices/Range_extender.json deleted file mode 100644 index b6e6abe..0000000 --- a/devices/generic/subdevices/Range_extender.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "schema": "subdevice1.schema.json", - "type": "$TYPE_RANGE_EXTENDER", - "name": "Range extender", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "state/reachable" - ] -} diff --git a/devices/generic/subdevices/Window_covering_device.json b/devices/generic/subdevices/Window_covering_device.json deleted file mode 100644 index 9d7cfd5..0000000 --- a/devices/generic/subdevices/Window_covering_device.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "schema": "subdevice1.schema.json", - "type": "$TYPE_WINDOW_COVERING_DEVICE", - "name": "Window covering device", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "state/lift", - "state/open", - "state/reachable" - ] -} diff --git a/devices/generic/subdevices/airpurifier.json b/devices/generic/subdevices/airpurifier.json index c1f1429..b73394b 100644 --- a/devices/generic/subdevices/airpurifier.json +++ b/devices/generic/subdevices/airpurifier.json @@ -1,16 +1,22 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_AIR_PURIFIER", - "name": "ZHAAirPurifier", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0000"], - "items": [ - "config/mode", - "config/on", - "config/reachable", - "state/airquality", - "state/lastupdated", - "state/speed" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_AIR_PURIFIER", + "name": "ZHAAirPurifier", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0000" + ], + "items": [ + "config/mode", + "config/on", + "config/reachable", + "state/lastupdated", + "state/speed" + ], + "items_optional": [ + "state/airquality" + ] } diff --git a/devices/generic/subdevices/airquality_sensor.json b/devices/generic/subdevices/airquality_sensor.json index be0a3e7..d3233a9 100644 --- a/devices/generic/subdevices/airquality_sensor.json +++ b/devices/generic/subdevices/airquality_sensor.json @@ -1,15 +1,21 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_AIR_QUALITY_SENSOR", - "name": "ZHAAirQuality", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0000"], - "items": [ - "config/on", - "config/reachable", - "state/airquality", - "state/airqualityppb", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_AIR_QUALITY_SENSOR", + "name": "ZHAAirQuality", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0000" + ], + "items": [ + "config/on", + "config/reachable", + "state/lastupdated" + ], + "items_optional": [ + "state/airquality", + "state/airqualityppb" + ] } diff --git a/devices/generic/subdevices/alarm_sensor.json b/devices/generic/subdevices/alarm_sensor.json index fb816b7..a5e4814 100644 --- a/devices/generic/subdevices/alarm_sensor.json +++ b/devices/generic/subdevices/alarm_sensor.json @@ -1,18 +1,24 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_ALARM_SENSOR", - "name": "ZHAAlarm", - "restapi": "/sensors", - "order": 30, - "uuid": ["$address.ext", "0x01", "0x0500"], - "items": [ - "config/on", - "config/enrolled", - "config/pending", - "config/reachable", - "config/battery", - "state/alarm", - "state/lowbattery", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_ALARM_SENSOR", + "name": "ZHAAlarm", + "restapi": "/sensors", + "order": 30, + "uuid": [ + "$address.ext", + "0x01", + "0x0500" + ], + "items": [ + "config/on", + "config/reachable", + "state/alarm", + "state/lastupdated" + ], + "items_optional": [ + "config/enrolled", + "config/pending", + "config/battery", + "state/lowbattery" + ] } diff --git a/devices/generic/subdevices/ancillary_control.json b/devices/generic/subdevices/ancillary_control.json new file mode 100644 index 0000000..223f5b0 --- /dev/null +++ b/devices/generic/subdevices/ancillary_control.json @@ -0,0 +1,25 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_ANCILLARY_CONTROL", + "name": "ZHAAncillaryControl", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0501" + ], + "items": [ + "config/battery", + "config/enrolled", + "config/on", + "config/pending", + "config/reachable", + "state/action", + "state/lastupdated", + "state/lowbattery", + "state/seconds_remaining", + "state/panel", + "state/tampered" + ] +} diff --git a/devices/generic/subdevices/battery_sensor.json b/devices/generic/subdevices/battery_sensor.json index 535c7c4..0d70f96 100644 --- a/devices/generic/subdevices/battery_sensor.json +++ b/devices/generic/subdevices/battery_sensor.json @@ -1,14 +1,18 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_BATTERY_SENSOR", - "name": "ZHABattery", - "restapi": "/sensors", - "order": 30, - "uuid": ["$address.ext", "0x01", "0x0001"], - "items": [ - "config/on", - "config/reachable", - "state/battery", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_BATTERY_SENSOR", + "name": "ZHABattery", + "restapi": "/sensors", + "order": 30, + "uuid": [ + "$address.ext", + "0x01", + "0x0001" + ], + "items": [ + "config/on", + "config/reachable", + "state/battery", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/carbondioxide_sensor.json b/devices/generic/subdevices/carbondioxide_sensor.json new file mode 100644 index 0000000..73887c8 --- /dev/null +++ b/devices/generic/subdevices/carbondioxide_sensor.json @@ -0,0 +1,22 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_CARBONDIOXIDE_SENSOR", + "name": "ZHACarbonDioxide", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x040D" + ], + "items": [ + "config/on", + "config/reachable", + "state/measured_value", + "cap/measured_value/min", + "cap/measured_value/max", + "cap/measured_value/unit", + "cap/measured_value/substance", + "state/lastupdated" + ] +} diff --git a/devices/generic/subdevices/carbonmonoxide_sensor.json b/devices/generic/subdevices/carbonmonoxide_sensor.json new file mode 100644 index 0000000..e3bc793 --- /dev/null +++ b/devices/generic/subdevices/carbonmonoxide_sensor.json @@ -0,0 +1,18 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_CARBONMONOXIDE_SENSOR", + "name": "ZHACarbonMonoxide", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0500" + ], + "items": [ + "config/on", + "config/reachable", + "state/carbonmonoxide", + "state/lastupdated" + ] +} diff --git a/devices/generic/subdevices/color_dimmable_light.json b/devices/generic/subdevices/color_dimmable_light.json deleted file mode 100644 index 167f0dd..0000000 --- a/devices/generic/subdevices/color_dimmable_light.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "schema": "subdevice1.schema.json", - "type": "$TYPE_COLOR_DIMMABLE_LIGHT", - "name": "Color dimmable light", - "restapi": "/lights", - "order": 10, - "uuid": ["$address.ext", "0x01"], - "items": [ - "cap/alert/trigger_effect", - "cap/bri/move_with_onoff", - "cap/color/capabilities", - "cap/color/xy/blue_x", - "cap/color/xy/blue_y", - "cap/color/xy/green_x", - "cap/color/xy/green_y", - "cap/color/xy/red_x", - "cap/color/xy/red_y", - "cap/on/off_with_effect", - "state/alert", - "state/bri", - "state/colormode", - "state/effect", - "state/hue", - "state/on", - "state/reachable", - "state/sat", - "state/x", - "state/y" - ] -} diff --git a/devices/generic/subdevices/color_light.json b/devices/generic/subdevices/color_light.json new file mode 100644 index 0000000..b9f3e61 --- /dev/null +++ b/devices/generic/subdevices/color_light.json @@ -0,0 +1,39 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_COLOR_LIGHT", + "name": "Color light", + "restapi": "/lights", + "order": 10, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "cap/color/capabilities", + "state/alert", + "state/bri", + "state/colormode", + "state/on", + "state/reachable" + ], + "items_optional": [ + "cap/alert/trigger_effect", + "cap/bri/move_with_onoff", + "cap/color/xy/blue_x", + "cap/color/xy/blue_y", + "cap/color/xy/green_x", + "cap/color/xy/green_y", + "cap/color/xy/red_x", + "cap/color/xy/red_y", + "cap/groups/not_supported", + "cap/on/off_with_effect", + "cap/transition_block", + "config/bri/execute_if_off", + "config/bri/startup", + "config/color/ct/startup", + "config/color/execute_if_off", + "config/on/startup", + "state/x", + "state/y" + ] +} diff --git a/devices/generic/subdevices/color_temperature_light.json b/devices/generic/subdevices/color_temperature_light.json index a6bde76..504ce37 100644 --- a/devices/generic/subdevices/color_temperature_light.json +++ b/devices/generic/subdevices/color_temperature_light.json @@ -1,27 +1,34 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_COLOR_TEMPERATURE_LIGHT", - "name": "Color temperature light", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "cap/alert/trigger_effect", - "cap/bri/move_with_onoff", - "cap/color/capabilities", - "cap/color/ct/max", - "cap/color/ct/min", - "cap/on/off_with_effect", - "config/bri/execute_if_off", - "config/bri/startup", - "config/color/ct/startup", - "config/color/execute_if_off", - "config/on/startup", - "state/alert", - "state/reachable", - "state/bri", - "state/colormode", - "state/ct", - "state/on" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_COLOR_TEMPERATURE_LIGHT", + "name": "Color temperature light", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "cap/color/capabilities", + "cap/color/ct/max", + "cap/color/ct/min", + "state/alert", + "state/bri", + "state/colormode", + "state/ct", + "state/on", + "state/reachable" + ], + "items_optional": [ + "cap/alert/trigger_effect", + "cap/bri/move_with_onoff", + "cap/groups/not_supported", + "cap/on/off_with_effect", + "cap/transition_block", + "config/bri/execute_if_off", + "config/bri/startup", + "config/color/ct/startup", + "config/color/execute_if_off", + "config/on/startup" + ] } diff --git a/devices/generic/subdevices/consumption_sensor.json b/devices/generic/subdevices/consumption_sensor.json index 3d1a415..b05568c 100644 --- a/devices/generic/subdevices/consumption_sensor.json +++ b/devices/generic/subdevices/consumption_sensor.json @@ -1,14 +1,18 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_CONSUMPTION_SENSOR", - "name": "ZHAConsumption", - "restapi": "/sensors", - "order": 22, - "uuid": ["$address.ext", "0x01", "0x0702"], - "items": [ - "config/on", - "config/reachable", - "state/consumption", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_CONSUMPTION_SENSOR", + "name": "ZHAConsumption", + "restapi": "/sensors", + "order": 22, + "uuid": [ + "$address.ext", + "0x01", + "0x0702" + ], + "items": [ + "config/on", + "config/reachable", + "state/consumption", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/dimmable_light.json b/devices/generic/subdevices/dimmable_light.json index bd13d99..4567f6a 100644 --- a/devices/generic/subdevices/dimmable_light.json +++ b/devices/generic/subdevices/dimmable_light.json @@ -1,19 +1,26 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_DIMMABLE_LIGHT", - "name": "Dimmable light", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "cap/alert/trigger_effect", - "cap/bri/move_with_onoff", - "cap/on/off_with_effect", - "config/bri/execute_if_off", - "config/bri/startup", - "config/on/startup", - "state/alert", - "state/bri", - "state/on" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_DIMMABLE_LIGHT", + "name": "Dimmable light", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/alert", + "state/bri", + "state/on", + "state/reachable" + ], + "items_optional": [ + "cap/alert/trigger_effect", + "cap/bri/move_with_onoff", + "cap/groups/not_supported", + "cap/on/off_with_effect", + "config/bri/execute_if_off", + "config/bri/startup", + "config/on/startup" + ] } diff --git a/devices/generic/subdevices/dimmable_plugin_unit.json b/devices/generic/subdevices/dimmable_plugin_unit.json index f31ced5..23a4ad2 100644 --- a/devices/generic/subdevices/dimmable_plugin_unit.json +++ b/devices/generic/subdevices/dimmable_plugin_unit.json @@ -1,13 +1,16 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_DIMMABLE_PLUGIN_UNIT", - "name": "Dimmable plug-in unit", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "state/bri", - "state/reachable", - "state/on" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_DIMMABLE_PLUGIN_UNIT", + "name": "Dimmable plug-in unit", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/bri", + "state/reachable", + "state/on" + ] } diff --git a/devices/generic/subdevices/door_lock.json b/devices/generic/subdevices/door_lock.json index 56be229..20fc56a 100644 --- a/devices/generic/subdevices/door_lock.json +++ b/devices/generic/subdevices/door_lock.json @@ -1,14 +1,20 @@ { - "schema": "subdevice1.schema.json", - "type": "ZHADoorLock", - "name": "Door Lock", - "restapi": "/sensors", - "order": 11, - "uuid": ["$address.ext", "0x01", "0x0101"], - "items": [ - "config/lock", - "state/reachable", - "state/open", - "state/lockstate" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_DOOR_LOCK", + "name": "Door Lock", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01", + "0x0101" + ], + "items": [ + "config/lock", + "state/open", + "state/lockstate" + ], + "items_optional": [ + "state/reachable" + ] } diff --git a/devices/generic/subdevices/door_lock_controller.json b/devices/generic/subdevices/door_lock_controller.json index d036df7..9cd68df 100644 --- a/devices/generic/subdevices/door_lock_controller.json +++ b/devices/generic/subdevices/door_lock_controller.json @@ -1,12 +1,15 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_DOOR_LOCK_CONTROLLER", - "name": "Door Lock Controller", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "state/reachable", - "state/on" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_DOOR_LOCK_CONTROLLER", + "name": "Door Lock Controller", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/reachable", + "state/on" + ] } diff --git a/devices/generic/subdevices/door_lock_sensor.json b/devices/generic/subdevices/door_lock_sensor.json new file mode 100644 index 0000000..21f5b5d --- /dev/null +++ b/devices/generic/subdevices/door_lock_sensor.json @@ -0,0 +1,21 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_DOOR_LOCK_SENSOR", + "name": "ZHADoorLock", + "restapi": "/sensors", + "order": 11, + "uuid": [ + "$address.ext", + "0x01", + "0x0101" + ], + "items": [ + "config/lock", + "state/open", + "state/lockstate" + ], + "items_optional": [ + "config/battery", + "state/reachable" + ] +} diff --git a/devices/generic/subdevices/extended_color_light.json b/devices/generic/subdevices/extended_color_light.json index 73c6544..f64c3fb 100644 --- a/devices/generic/subdevices/extended_color_light.json +++ b/devices/generic/subdevices/extended_color_light.json @@ -1,38 +1,45 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_EXTENDED_COLOR_LIGHT", - "name": "Extended color light", - "restapi": "/lights", - "order": 10, - "uuid": ["$address.ext", "0x01"], - "items": [ - "cap/alert/trigger_effect", - "cap/bri/move_with_onoff", - "cap/color/capabilities", - "cap/color/ct/max", - "cap/color/ct/min", - "cap/color/xy/blue_x", - "cap/color/xy/blue_y", - "cap/color/xy/green_x", - "cap/color/xy/green_y", - "cap/color/xy/red_x", - "cap/color/xy/red_y", - "cap/on/off_with_effect", - "config/bri/execute_if_off", - "config/bri/startup", - "config/color/ct/startup", - "config/color/execute_if_off", - "config/on/startup", - "state/alert", - "state/bri", - "state/colormode", - "state/ct", - "state/effect", - "state/hue", - "state/on", - "state/reachable", - "state/sat", - "state/x", - "state/y" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_EXTENDED_COLOR_LIGHT", + "name": "Extended color light", + "restapi": "/lights", + "order": 10, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "cap/color/capabilities", + "cap/color/ct/max", + "cap/color/ct/min", + "state/alert", + "state/colormode", + "state/ct", + "state/on", + "state/reachable" + ], + "items_optional": [ + "cap/alert/trigger_effect", + "cap/bri/move_with_onoff", + "cap/color/xy/blue_x", + "cap/color/xy/blue_y", + "cap/color/xy/green_x", + "cap/color/xy/green_y", + "cap/color/xy/red_x", + "cap/color/xy/red_y", + "cap/groups/not_supported", + "cap/on/off_with_effect", + "cap/transition_block", + "config/bri/execute_if_off", + "config/bri/startup", + "config/color/ct/startup", + "config/color/execute_if_off", + "config/on/startup", + "state/bri", + "state/effect", + "state/hue", + "state/sat", + "state/x", + "state/y" + ] } diff --git a/devices/generic/subdevices/fire_sensor.json b/devices/generic/subdevices/fire_sensor.json index 27462e3..126ed03 100644 --- a/devices/generic/subdevices/fire_sensor.json +++ b/devices/generic/subdevices/fire_sensor.json @@ -1,14 +1,18 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_FIRE_SENSOR", - "name": "ZHAFire", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0500"], - "items": [ - "config/on", - "config/reachable", - "state/fire", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_FIRE_SENSOR", + "name": "ZHAFire", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0500" + ], + "items": [ + "config/on", + "config/reachable", + "state/fire", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/formaldehyde_sensor.json b/devices/generic/subdevices/formaldehyde_sensor.json new file mode 100644 index 0000000..247896c --- /dev/null +++ b/devices/generic/subdevices/formaldehyde_sensor.json @@ -0,0 +1,22 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_FORMALDEHYDE_SENSOR", + "name": "ZHAFormaldehyde", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x042B" + ], + "items": [ + "config/on", + "config/reachable", + "state/measured_value", + "cap/measured_value/min", + "cap/measured_value/max", + "cap/measured_value/unit", + "cap/measured_value/substance", + "state/lastupdated" + ] +} diff --git a/devices/generic/subdevices/humidity_sensor.json b/devices/generic/subdevices/humidity_sensor.json index 14ae6c7..5bdbb40 100644 --- a/devices/generic/subdevices/humidity_sensor.json +++ b/devices/generic/subdevices/humidity_sensor.json @@ -1,15 +1,19 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_HUMIDITY_SENSOR", - "name": "ZHAHumidity", - "restapi": "/sensors", - "order": 23, - "uuid": ["$address.ext", "0x01", "0x0405"], - "items": [ - "config/on", - "config/offset", - "config/reachable", - "state/humidity", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_HUMIDITY_SENSOR", + "name": "ZHAHumidity", + "restapi": "/sensors", + "order": 23, + "uuid": [ + "$address.ext", + "0x01", + "0x0405" + ], + "items": [ + "config/on", + "config/offset", + "config/reachable", + "state/humidity", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/level_control_switch.json b/devices/generic/subdevices/level_control_switch.json new file mode 100644 index 0000000..abde2fe --- /dev/null +++ b/devices/generic/subdevices/level_control_switch.json @@ -0,0 +1,16 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_LEVEL_CONTROL_SWITCH", + "name": "Level control switch", + "restapi": "/sensors", + "order": 11, + "uuid": [ + "$address.ext", + "0x01", + "0x0101" + ], + "items": [ + "state/reachable", + "state/on" + ] +} diff --git a/devices/generic/subdevices/lightlevel_sensor.json b/devices/generic/subdevices/lightlevel_sensor.json index e4fada3..7b5c9c9 100644 --- a/devices/generic/subdevices/lightlevel_sensor.json +++ b/devices/generic/subdevices/lightlevel_sensor.json @@ -1,19 +1,23 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_LIGHT_LEVEL_SENSOR", - "name": "ZHALightLevel", - "restapi": "/sensors", - "order": 22, - "uuid": ["$address.ext", "0x01", "0x0400"], - "items": [ - "config/on", - "config/reachable", - "config/tholddark", - "config/tholdoffset", - "state/dark", - "state/daylight", - "state/lightlevel", - "state/lux", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_LIGHT_LEVEL_SENSOR", + "name": "ZHALightLevel", + "restapi": "/sensors", + "order": 22, + "uuid": [ + "$address.ext", + "0x01", + "0x0400" + ], + "items": [ + "config/on", + "config/reachable", + "config/tholddark", + "config/tholdoffset", + "state/dark", + "state/daylight", + "state/lightlevel", + "state/lux", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/moisture_sensor.json b/devices/generic/subdevices/moisture_sensor.json index 972be95..c98b9b6 100644 --- a/devices/generic/subdevices/moisture_sensor.json +++ b/devices/generic/subdevices/moisture_sensor.json @@ -1,15 +1,19 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_MOISTURE_SENSOR", - "name": "ZHAMoisture", - "restapi": "/sensors", - "order": 23, - "uuid": ["$address.ext", "0x01", "0x0408"], - "items": [ - "config/on", - "config/offset", - "config/reachable", - "state/moisture", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_MOISTURE_SENSOR", + "name": "ZHAMoisture", + "restapi": "/sensors", + "order": 23, + "uuid": [ + "$address.ext", + "0x01", + "0x0408" + ], + "items": [ + "config/on", + "config/offset", + "config/reachable", + "state/moisture", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/onoff_light.json b/devices/generic/subdevices/onoff_light.json index bb1f81b..64ec5ed 100644 --- a/devices/generic/subdevices/onoff_light.json +++ b/devices/generic/subdevices/onoff_light.json @@ -1,14 +1,19 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_ON_OFF_LIGHT", - "name": "On/Off light", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "config/on/startup", - "state/alert", - "state/on", - "state/reachable" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_ON_OFF_LIGHT", + "name": "On/Off light", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/on", + "state/reachable" + ], + "items_optional": [ + "config/on/startup", + "state/alert" + ] } diff --git a/devices/generic/subdevices/onoff_output.json b/devices/generic/subdevices/onoff_output.json index e676913..71c11b2 100644 --- a/devices/generic/subdevices/onoff_output.json +++ b/devices/generic/subdevices/onoff_output.json @@ -1,12 +1,15 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_ON_OFF_OUTPUT", - "name": "On/Off output", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "state/on", - "state/reachable" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_ON_OFF_OUTPUT", + "name": "On/Off output", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/on", + "state/reachable" + ] } diff --git a/devices/generic/subdevices/onoff_plugin_unit.json b/devices/generic/subdevices/onoff_plugin_unit.json index 7b81194..8ef71f8 100644 --- a/devices/generic/subdevices/onoff_plugin_unit.json +++ b/devices/generic/subdevices/onoff_plugin_unit.json @@ -1,12 +1,15 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_ON_OFF_PLUGIN_UNIT", - "name": "On/Off plug-in unit", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "state/on", - "state/reachable" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_ON_OFF_PLUGIN_UNIT", + "name": "On/Off plug-in unit", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/on", + "state/reachable" + ] } diff --git a/devices/generic/subdevices/openclose_sensor.json b/devices/generic/subdevices/openclose_sensor.json index 201fce3..e5cb76f 100644 --- a/devices/generic/subdevices/openclose_sensor.json +++ b/devices/generic/subdevices/openclose_sensor.json @@ -1,14 +1,18 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_OPEN_CLOSE_SENSOR", - "name": "ZHAOpenClose", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0500"], - "items": [ - "config/on", - "config/reachable", - "state/open", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_OPEN_CLOSE_SENSOR", + "name": "ZHAOpenClose", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0500" + ], + "items": [ + "config/on", + "config/reachable", + "state/open", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/particulatematter_sensor.json b/devices/generic/subdevices/particulatematter_sensor.json new file mode 100644 index 0000000..c0ee000 --- /dev/null +++ b/devices/generic/subdevices/particulatematter_sensor.json @@ -0,0 +1,22 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_PARTICULATEMATTER_SENSOR", + "name": "ZHAParticulateMatter", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x042A" + ], + "items": [ + "config/on", + "config/reachable", + "state/measured_value", + "cap/measured_value/min", + "cap/measured_value/max", + "cap/measured_value/unit", + "cap/measured_value/substance", + "state/lastupdated" + ] +} diff --git a/devices/generic/subdevices/power_sensor.json b/devices/generic/subdevices/power_sensor.json index dda2878..32efa7c 100644 --- a/devices/generic/subdevices/power_sensor.json +++ b/devices/generic/subdevices/power_sensor.json @@ -1,16 +1,22 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_POWER_SENSOR", - "name": "ZHAPower", - "restapi": "/sensors", - "order": 21, - "uuid": ["$address.ext", "0x01", "0x0b04"], - "items": [ - "config/on", - "config/reachable", - "state/current", - "state/lastupdated", - "state/power", - "state/voltage" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_POWER_SENSOR", + "name": "ZHAPower", + "restapi": "/sensors", + "order": 21, + "uuid": [ + "$address.ext", + "0x01", + "0x0b04" + ], + "items": [ + "config/on", + "config/reachable", + "state/lastupdated", + "state/power" + ], + "items_optional": [ + "state/current", + "state/voltage" + ] } diff --git a/devices/generic/subdevices/presence_sensor.json b/devices/generic/subdevices/presence_sensor.json index 10aa0b2..dc053f6 100644 --- a/devices/generic/subdevices/presence_sensor.json +++ b/devices/generic/subdevices/presence_sensor.json @@ -1,15 +1,21 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_PRESENCE_SENSOR", - "name": "ZHAPresence", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0406"], - "items": [ - "config/on", - "config/duration", - "config/reachable", - "state/presence", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_PRESENCE_SENSOR", + "name": "ZHAPresence", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0406" + ], + "items": [ + "config/on", + "config/reachable", + "state/presence", + "state/lastupdated" + ], + "items_optional": [ + "config/duration" + ] } diff --git a/devices/generic/subdevices/pressure_sensor.json b/devices/generic/subdevices/pressure_sensor.json index 4a344b2..d3ab699 100644 --- a/devices/generic/subdevices/pressure_sensor.json +++ b/devices/generic/subdevices/pressure_sensor.json @@ -1,15 +1,19 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_PRESSURE_SENSOR", - "name": "ZHAPressure", - "restapi": "/sensors", - "order": 24, - "uuid": ["$address.ext", "0x01", "0x0403"], - "items": [ - "config/on", - "config/offset", - "config/reachable", - "state/pressure", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_PRESSURE_SENSOR", + "name": "ZHAPressure", + "restapi": "/sensors", + "order": 24, + "uuid": [ + "$address.ext", + "0x01", + "0x0403" + ], + "items": [ + "config/on", + "config/offset", + "config/reachable", + "state/pressure", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/range_extender.json b/devices/generic/subdevices/range_extender.json new file mode 100644 index 0000000..55876b7 --- /dev/null +++ b/devices/generic/subdevices/range_extender.json @@ -0,0 +1,14 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_RANGE_EXTENDER", + "name": "Range extender", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/reachable" + ] +} diff --git a/devices/generic/subdevices/relative_rotary.json b/devices/generic/subdevices/relative_rotary.json index a87d7de..fb6c07b 100644 --- a/devices/generic/subdevices/relative_rotary.json +++ b/devices/generic/subdevices/relative_rotary.json @@ -1,16 +1,20 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_RELATIVE_ROTARY", - "name": "ZHARelativeRotary", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0000"], - "items": [ - "config/on", - "config/reachable", - "state/expectedeventduration", - "state/expectedrotation", - "state/lastupdated", - "state/rotaryevent" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_RELATIVE_ROTARY", + "name": "ZHARelativeRotary", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0000" + ], + "items": [ + "config/on", + "config/reachable", + "state/expectedeventduration", + "state/expectedrotation", + "state/lastupdated", + "state/rotaryevent" + ] } diff --git a/devices/generic/subdevices/smart_plug.json b/devices/generic/subdevices/smart_plug.json index b7095d2..2d8fceb 100644 --- a/devices/generic/subdevices/smart_plug.json +++ b/devices/generic/subdevices/smart_plug.json @@ -1,12 +1,15 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_SMART_PLUG", - "name": "Smart plug", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "state/on", - "state/reachable" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_SMART_PLUG", + "name": "Smart plug", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/on", + "state/reachable" + ] } diff --git a/devices/generic/subdevices/switch.json b/devices/generic/subdevices/switch.json index 87fd5da..193f03a 100644 --- a/devices/generic/subdevices/switch.json +++ b/devices/generic/subdevices/switch.json @@ -1,14 +1,18 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_SWITCH", - "name": "ZHASwitch", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0000"], - "items": [ - "config/on", - "config/reachable", - "state/lastupdated", - "state/buttonevent" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_SWITCH", + "name": "ZHASwitch", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0000" + ], + "items": [ + "config/on", + "config/reachable", + "state/lastupdated", + "state/buttonevent" + ] } diff --git a/devices/generic/subdevices/temperature_sensor.json b/devices/generic/subdevices/temperature_sensor.json index c5d6b7a..52a77af 100644 --- a/devices/generic/subdevices/temperature_sensor.json +++ b/devices/generic/subdevices/temperature_sensor.json @@ -1,15 +1,19 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_TEMPERATURE_SENSOR", - "name": "ZHATemperature", - "restapi": "/sensors", - "order": 23, - "uuid": ["$address.ext", "0x01", "0x0402"], - "items": [ - "config/on", - "config/offset", - "config/reachable", - "state/temperature", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_TEMPERATURE_SENSOR", + "name": "ZHATemperature", + "restapi": "/sensors", + "order": 23, + "uuid": [ + "$address.ext", + "0x01", + "0x0402" + ], + "items": [ + "config/on", + "config/offset", + "config/reachable", + "state/temperature", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/thermostat.json b/devices/generic/subdevices/thermostat.json index 7728867..7c196d3 100644 --- a/devices/generic/subdevices/thermostat.json +++ b/devices/generic/subdevices/thermostat.json @@ -1,19 +1,25 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_THERMOSTAT", - "name": "ZHAThermostat", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0201"], - "items": [ - "config/heatsetpoint", - "config/mode", - "config/offset", - "config/on", - "config/reachable", - "state/on", - "state/temperature", - "state/valve", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_THERMOSTAT", + "name": "ZHAThermostat", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0201" + ], + "items": [ + "config/on", + "config/reachable", + "config/heatsetpoint", + "state/lastupdated", + "state/temperature" + ], + "items_optional": [ + "config/mode", + "config/offset", + "state/on", + "state/valve" + ] } diff --git a/devices/generic/subdevices/time.json b/devices/generic/subdevices/time.json new file mode 100644 index 0000000..d223d9e --- /dev/null +++ b/devices/generic/subdevices/time.json @@ -0,0 +1,19 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_TIME", + "name": "ZHATime", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x000a" + ], + "items": [ + "config/on", + "config/reachable", + "state/lastupdated", + "state/localtime", + "state/utc" + ] +} diff --git a/devices/generic/subdevices/vibration_sensor.json b/devices/generic/subdevices/vibration_sensor.json index 2d7b958..6cc98c6 100644 --- a/devices/generic/subdevices/vibration_sensor.json +++ b/devices/generic/subdevices/vibration_sensor.json @@ -1,14 +1,18 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_VIBRATION_SENSOR", - "name": "ZHAVibration", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0000"], - "items": [ - "config/on", - "config/reachable", - "state/vibration", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_VIBRATION_SENSOR", + "name": "ZHAVibration", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0000" + ], + "items": [ + "config/on", + "config/reachable", + "state/vibration", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/warning_device.json b/devices/generic/subdevices/warning_device.json index e023983..4e09abf 100644 --- a/devices/generic/subdevices/warning_device.json +++ b/devices/generic/subdevices/warning_device.json @@ -1,12 +1,15 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_WARNING_DEVICE", - "name": "Warning device", - "restapi": "/lights", - "order": 11, - "uuid": ["$address.ext", "0x01"], - "items": [ - "state/alert", - "state/reachable" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_WARNING_DEVICE", + "name": "Warning device", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/alert", + "state/reachable" + ] } diff --git a/devices/generic/subdevices/waterleak_sensor.json b/devices/generic/subdevices/waterleak_sensor.json index 8313dd1..1c946c5 100644 --- a/devices/generic/subdevices/waterleak_sensor.json +++ b/devices/generic/subdevices/waterleak_sensor.json @@ -1,14 +1,18 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_WATER_LEAK_SENSOR", - "name": "ZHAWater", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0500"], - "items": [ - "config/on", - "config/reachable", - "state/water", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_WATER_LEAK_SENSOR", + "name": "ZHAWater", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0500" + ], + "items": [ + "config/on", + "config/reachable", + "state/water", + "state/lastupdated" + ] } diff --git a/devices/generic/subdevices/window_covering_device.json b/devices/generic/subdevices/window_covering_device.json new file mode 100644 index 0000000..b128d75 --- /dev/null +++ b/devices/generic/subdevices/window_covering_device.json @@ -0,0 +1,16 @@ +{ + "schema": "subdevice1.schema.json", + "type": "$TYPE_WINDOW_COVERING_DEVICE", + "name": "Window covering device", + "restapi": "/lights", + "order": 11, + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + "state/lift", + "state/open", + "state/reachable" + ] +} diff --git a/devices/generic/subdevices/zgp_switch.json b/devices/generic/subdevices/zgp_switch.json index 55bc80e..66be3c5 100644 --- a/devices/generic/subdevices/zgp_switch.json +++ b/devices/generic/subdevices/zgp_switch.json @@ -1,14 +1,18 @@ { - "schema": "subdevice1.schema.json", - "type": "$TYPE_ZGP_SWITCH", - "name": "ZGPSwitch", - "restapi": "/sensors", - "order": 20, - "uuid": ["$address.ext", "0x01", "0x0000"], - "items": [ - "config/on", - "config/reachable", - "state/buttonevent", - "state/lastupdated" - ] + "schema": "subdevice1.schema.json", + "type": "$TYPE_ZGP_SWITCH", + "name": "ZGPSwitch", + "restapi": "/sensors", + "order": 20, + "uuid": [ + "$address.ext", + "0x01", + "0x0000" + ], + "items": [ + "config/on", + "config/reachable", + "state/buttonevent", + "state/lastupdated" + ] } diff --git a/devices/generic/touchlink_commissioning_cluster/1000_get_group_identifiers.js b/devices/generic/touchlink_commissioning_cluster/1000_get_group_identifiers.js new file mode 100644 index 0000000..f850bf1 --- /dev/null +++ b/devices/generic/touchlink_commissioning_cluster/1000_get_group_identifiers.js @@ -0,0 +1,15 @@ +/* global Item, ZclFrame */ +/* eslint-disable no-var */ + +// const total = ZclFrame.at(0) +const startIndex = ZclFrame.at(1) +if (startIndex === 0) { + const count = ZclFrame.at(2) + + var list = (startIndex === 0) ? '' : Item.val + for (var i = 1; i <= count; i++) { + const groupId = ZclFrame.at(3 * i) | ZclFrame.at(3 * i + 1) << 8 + list += (i > 1 ? ',' : '') + groupId.toString() + } + Item.val = list +} diff --git a/devices/ikea/fyrtur_block-out_roller_blind.json b/devices/ikea/fyrtur_block-out_roller_blind.json new file mode 100644 index 0000000..715a923 --- /dev/null +++ b/devices/ikea/fyrtur_block-out_roller_blind.json @@ -0,0 +1,174 @@ +{ + "schema": "devcap1.schema.json", + "uuid": "b1a51fb1-5147-42e5-a811-c0eda479a07d", + "version": "1.0.0", + "version_deconz": ">2.22.0", + "manufacturername": "$MF_IKEA", + "modelid": "FYRTUR block-out roller blind", + "vendor": "IKEA of Sweden", + "product": "FYRTUR block-out roller blind", + "sleeper": false, + "status": "Draft", + "subdevices": [ + { + "type": "$TYPE_WINDOW_COVERING_DEVICE", + "restapi": "/lights", + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + { + "name": "attr/id" + }, + { + "name": "attr/lastannounced" + }, + { + "name": "attr/lastseen" + }, + { + "name": "attr/manufacturername" + }, + { + "name": "attr/modelid" + }, + { + "name": "attr/name" + }, + { + "name": "attr/swversion" + }, + { + "name": "attr/type" + }, + { + "name": "attr/uniqueid" + }, + { + "name": "state/lift" + }, + { + "name": "state/open", + "parse": { + "fn": "zcl", + "ep": 1, + "cl": "0x0102", + "at": "0x0008", + "eval": "Item.val = Attr.val === 0" + }, + "read": { + "fn": "none" + } + }, + { + "name": "state/reachable" + } + ] + }, + { + "type": "$TYPE_BATTERY_SENSOR", + "restapi": "/sensors", + "uuid": [ + "$address.ext", + "0x01", + "0x0001" + ], + "fingerprint": { + "profile": "0x0104", + "device": "0x0202", + "endpoint": "0x01", + "in": [ + "0x0000", + "0x0001", + "0x0102" + ], + "out": [ + "0x0019" + ] + }, + "items": [ + { + "name": "attr/id" + }, + { + "name": "attr/lastannounced" + }, + { + "name": "attr/lastseen" + }, + { + "name": "attr/manufacturername" + }, + { + "name": "attr/modelid" + }, + { + "name": "attr/name" + }, + { + "name": "attr/swversion", + "read": { + "fn": "none" + } + }, + { + "name": "attr/type" + }, + { + "name": "attr/uniqueid" + }, + { + "name": "config/on" + }, + { + "name": "config/reachable" + }, + { + "name": "state/battery", + "refresh.interval": 3700, + "parse": { + "fn": "zcl", + "ep": 1, + "cl": "0x0001", + "at": "0x0021", + "eval": "Item.val = Attr.val" + } + }, + { + "name": "state/lastupdated" + } + ] + } + ], + "bindings": [ + { + "bind": "unicast", + "src.ep": 1, + "cl": "0x0001", + "report": [ + { + "at": "0x0021", + "dt": "0x20", + "min": 1, + "max": 3600, + "change": "0x00000001" + } + ] + }, + { + "bind": "unicast", + "src.ep": 1, + "cl": "0x0102", + "report": [ + { + "at": "0x0008", + "dt": "0x20", + "min": 1, + "max": 300, + "change": "0x00000001" + } + ] + } + ] +} diff --git a/devices/ikea/symfonisk_sound_remote_gen2.json b/devices/ikea/symfonisk_sound_remote_gen2.json new file mode 100644 index 0000000..d65b01d --- /dev/null +++ b/devices/ikea/symfonisk_sound_remote_gen2.json @@ -0,0 +1,158 @@ +{ + "schema": "devcap1.schema.json", + "uuid": "c0169537-7566-4716-9d9a-9b7c9f3fc1a4", + "version": "2.1.0", + "version_deconz": ">2.22.0", + "manufacturername": "$MF_IKEA", + "modelid": "SYMFONISK sound remote gen2", + "product": "SYMFONISK sound remote gen2 - E2123", + "sleeper": true, + "status": "Gold", + "subdevices": [ + { + "type": "$TYPE_SWITCH", + "restapi": "/sensors", + "uuid": [ + "$address.ext", + "0x01", + "0x1000" + ], + "fingerprint": { + "profile": "0x0104", + "device": "0x0006", + "endpoint": "0x01", + "in": [ + "0x0000", + "0x0001", + "0x1000" + ], + "out": [ + "0x0006", + "0x0008" + ] + }, + "items": [ + { + "name": "attr/id" + }, + { + "name": "attr/lastannounced" + }, + { + "name": "attr/lastseen" + }, + { + "name": "attr/manufacturername" + }, + { + "name": "attr/modelid" + }, + { + "name": "attr/name" + }, + { + "name": "attr/productid", + "parse": { + "fn": "zcl:attr", + "ep": 1, + "cl": "0x0000", + "at": "0x000A", + "eval": "Item.val = Attr.val" + }, + "read": { + "fn": "zcl:attr", + "ep": 1, + "cl": "0x0000", + "at": "0x000A" + }, + "refresh.interval": 86400 + }, + { + "name": "attr/swversion" + }, + { + "name": "attr/type" + }, + { + "name": "attr/uniqueid" + }, + { + "name": "config/alert" + }, + { + "name": "config/battery", + "awake": true, + "parse": { + "fn": "zcl:attr", + "ep": 1, + "cl": "0x0001", + "at": "0x0021", + "eval": "Item.val = Math.round(Attr.val / 2)" + }, + "default": 0, + "read": { + "fn": "zcl:attr", + "ep": 1, + "cl": "0x0001", + "at": "0x0021" + }, + "refresh.interval": 86400 + }, + { + "name": "config/on" + }, + { + "name": "config/reachable" + }, + { + "name": "state/buttonevent", + "awake": true + }, + { + "name": "state/lastupdated" + } + ] + } + ], + "bindings": [ + { + "bind": "unicast", + "src.ep": 1, + "cl": "0x0006" + }, + { + "bind": "unicast", + "src.ep": 1, + "cl": "0x0008" + }, + { + "bind": "unicast", + "src.ep": 1, + "cl": "0xFC7C" + }, + { + "bind": "unicast", + "src.ep": 2, + "cl": "0xFC80" + }, + { + "bind": "unicast", + "src.ep": 3, + "cl": "0xFC80" + }, + { + "bind": "unicast", + "src.ep": 1, + "cl": "0x0001", + "report": [ + { + "at": "0x0021", + "dt": "0x20", + "min": 300, + "max": 2700, + "change": "0x01" + } + ] + } + ] +} diff --git a/devices/lutron/lutron_aurora_foh.json b/devices/lutron/lutron_aurora_foh.json new file mode 100644 index 0000000..f4974bd --- /dev/null +++ b/devices/lutron/lutron_aurora_foh.json @@ -0,0 +1,105 @@ +{ + "schema": "devcap1.schema.json", + "uuid": "10df3cf4-991b-41e1-8fa7-206e288c18a2", + "version": "2.1.0", + "version_deconz": ">2.22.0", + "manufacturername": "$MF_LUTRON", + "modelid": "Z3-1BRL", + "product": "Aurora", + "status": "Gold", + "md:known_issues": [ "lutron_known_issues.md" ], + "subdevices": [ + { + "type": "$TYPE_SWITCH", + "restapi": "/sensors", + "uuid": [ "$address.ext", "0x01", "0x1000"], + "buttons": { + "1": {"name": "Button"}, + "2": {"name": "Rotate Clockwise"}, + "3": {"name": "Rotate Counter Clockwise"} + }, + "buttonevents": { + "1002": {"action": "SHORT_RELEASE", "button": 1}, + "2002": {"action": "SHORT_RELEASE", "button": 2}, + "3002": {"action": "SHORT_RELEASE", "button": 3} + }, + "items": [ + { + "name": "attr/lastseen" + }, + { + "name": "attr/manufacturername" + }, + { + "name": "attr/modelid" + }, + { + "name": "attr/name" + }, + { + "name": "attr/swversion" + }, + { + "name": "attr/type" + }, + { + "name": "attr/uniqueid" + }, + { + "name": "config/allowtouchlink", + "read": { + "ep": 2, "cl": "0x0000", "mf": "0x100b", "at": "0x0031" + }, + "parse": { + "ep": 2, "cl": "0x0000", "mf": "0x100b", "at": "0x0031", + "eval": "Item.val = Attr.val != 0x000b" + }, + "write": { + "ep": 2, "cl": "0x0000", "mf": "0x100b", "at": "0x0031", "dt": "0x19", + "eval": "Item.val ? 0x0000 : 0x000b" + }, + "default": false, + "refresh.interval": 84000 + }, + { + "name": "config/battery", + "parse": { + "ep": 1, "cl": "0x0001", "at": "0x0021", + "eval": "Item.val = Attr.val / 2" + }, + "awake": true + }, + { + "name": "config/group", + "default": "auto" + }, + { + "name": "config/on" + }, + { + "name": "config/reachable" + }, + { + "name": "state/buttonevent" + }, + { + "name": "state/lastupdated" + } + ] + } + ], + "bindings": [ + { + "bind": "unicast", + "src.ep": 1, + "cl": "0x0001", + "report": [ {"at": "0x0021", "dt": "0x20", "min": 300, "max": 300, "change": "0x01" } ] + }, + { + "bind": "groupcast", + "src.ep": 1, + "cl": "0x0008", + "config.group": 0 + } + ] +} diff --git a/devices/lutron/lutron_known_issues.md b/devices/lutron/lutron_known_issues.md new file mode 100644 index 0000000..b4c710a --- /dev/null +++ b/devices/lutron/lutron_known_issues.md @@ -0,0 +1,8 @@ +### Compatibility + +The Lutron Aurora only works well with the Hue bridge. +Its latest firmware, v3.8, won't work al all with the deCONZ REST API. +You need to downgrade the firmware to +[v3.4](http://fds.dc1.philips.com/firmware/ZGB_1144_0000/3040/Superman_v3_04_Release_3040.ota). +Even then, the Aurora won't issue reports from the Hue-specific cluster FC00. +Consequently, the REST API cannot generate advanced button and rotary events. diff --git a/devices/xiaomi/xiaomi_battery.js b/devices/xiaomi/xiaomi_battery.js new file mode 100644 index 0000000..1009ad4 --- /dev/null +++ b/devices/xiaomi/xiaomi_battery.js @@ -0,0 +1,7 @@ +/* global Attr, Item */ + +const vmin = 2700 +const vmax = 3000 +const v = Math.max(vmin, Math.min(Attr.val, vmax)) +const bat = Math.round(((v - vmin) / (vmax - vmin)) * 100) +Item.val = Math.max(0, Math.min(bat, 100)) diff --git a/devices/xiaomi/xiaomi_known_issues1.md b/devices/xiaomi/xiaomi_known_issues1.md new file mode 100644 index 0000000..6fd7b2e --- /dev/null +++ b/devices/xiaomi/xiaomi_known_issues1.md @@ -0,0 +1,9 @@ + +### Sticky Parents + +Almost all Xiaomi end-devices stick to their parent after pairing. +The parent is the device which repeats the signal, it can be a router or the coordinator. + +Once a parent is cut from power or otherwise lost, the end-device won't automatically search for a new parent and appears to be offline. + +→ Best practice for pairing is therefore to pair the device at the place where it's gonna be installed to force it to select a *good* parent. It's also advisable to power off all routers which aren't powered all the time, so that they aren't considered as parent when pairing. diff --git a/devices/xiaomi/xiaomi_known_issues_mccqg01lm.md b/devices/xiaomi/xiaomi_known_issues_mccqg01lm.md new file mode 100644 index 0000000..dc1cbdb --- /dev/null +++ b/devices/xiaomi/xiaomi_known_issues_mccqg01lm.md @@ -0,0 +1,7 @@ + +### Difficult pairing + +To pair the sensor it needs to be reset first, by pressing the pin-hole button for 10 seconds. + +Then after starting sensor search, press the button again until the LED blinks. +Finally continuously press the button every 2 seconds until joining is confirmed. diff --git a/devices/xiaomi/xiaomi_known_issues_plugfw.md b/devices/xiaomi/xiaomi_known_issues_plugfw.md new file mode 100644 index 0000000..da11486 --- /dev/null +++ b/devices/xiaomi/xiaomi_known_issues_plugfw.md @@ -0,0 +1,7 @@ + +### Firmware update required + +This applies for Xiaomi smart plugs ZNCZ04LM (lumi.plug.mmeu01) and SP-EUC01 (lumi.plug.maeu01). It is mandatory that RaspBee/ConBee I firmware version 0x26400500 (or higher) or RaspBee/ConBeeII firmware version 0x266f0700 (or higher) is installed. + +Further the plugs firmware need to be updated via OTA to work well with this DDF. +A more detailed description can be found at: [wiki/Xiaomi-smart-plugs-not-working-correctly](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Xiaomi-smart-plugs-not-working-correctly) diff --git a/devices/xiaomi/xiaomi_mccgq01lm_openclose_sensor.json b/devices/xiaomi/xiaomi_mccgq01lm_openclose_sensor.json new file mode 100644 index 0000000..04d3e16 --- /dev/null +++ b/devices/xiaomi/xiaomi_mccgq01lm_openclose_sensor.json @@ -0,0 +1,80 @@ +{ + "schema": "devcap1.schema.json", + "uuid": "138723d7-69b7-4358-a24f-2dcd89770ff1", + "version": "2.1.0", + "version_deconz": ">2.22.0", + "manufacturername": "$MF_LUMI", + "modelid": "lumi.sensor_magnet", + "vendor": "Xiaomi", + "product": "Mijia open/close sensor MCCGQ01LM", + "sleeper": true, + "status": "Gold", + "md:known_issues": [ "xiaomi_known_issues1.md", "xiaomi_known_issues_mccqg01lm.md" ], + "subdevices": [ + { + "type": "$TYPE_OPEN_CLOSE_SENSOR", + "restapi": "/sensors", + "uuid": [ + "$address.ext", + "0x01", + "0x0006" + ], + "fingerprint": { + "profile": "0x0104", + "device": "0xFFFF", + "endpoint": "0x01", + "in": [ + "0x0006" + ] + }, + "items": [ + { + "name": "attr/id" + }, + { + "name": "attr/lastannounced" + }, + { + "name": "attr/lastseen" + }, + { + "name": "attr/manufacturername" + }, + { + "name": "attr/modelid" + }, + { + "name": "attr/name" + }, + { + "name": "attr/swversion", + "read": {"cl": "0x0000", "at": "0x0006"}, + "parse": {"cl": "0x0000", "at": "0x0006", "eval": "Item.val = Attr.val"} + }, + { + "name": "attr/type" + }, + { + "name": "attr/uniqueid" + }, + { + "name": "config/battery", + "parse": {"fn": "xiaomi:special", "ep": 1, "at": "0xff02", "idx": "0x01", "script": "xiaomi_battery.js"} + }, + { + "name": "config/on" + }, + { + "name": "config/reachable" + }, + { + "name": "state/lastupdated" + }, + { + "name": "state/open", + "parse": {"fn": "zcl", "ep": 1, "cl": "0x0006", "at": "0x0000", "eval": "Item.val = Attr.val != 0"} + } + ] + } + ] +} \ No newline at end of file diff --git a/devices/xiaomi/xiaomi_swversion.js b/devices/xiaomi/xiaomi_swversion.js new file mode 100644 index 0000000..3bf8815 --- /dev/null +++ b/devices/xiaomi/xiaomi_swversion.js @@ -0,0 +1,4 @@ +var s = "0.0.0_"; +var v = (Attr.val & 0xFF).toString(); +v = v.padStart(4, "0"); +Item.val = s + v; diff --git a/devices/xiaomi/xiaomi_zncz04lm_smart_plug_v24.json b/devices/xiaomi/xiaomi_zncz04lm_smart_plug_v24.json new file mode 100644 index 0000000..87b4932 --- /dev/null +++ b/devices/xiaomi/xiaomi_zncz04lm_smart_plug_v24.json @@ -0,0 +1,268 @@ +{ + "schema": "devcap1.schema.json", + "uuid": "deab7d64-dc58-462d-a8af-ff477d9b4aa3", + "version": "2.1.0", + "version_deconz": ">2.22.0", + "manufacturername": "$MF_LUMI", + "modelid": "lumi.plug.mmeu01", + "vendor": "Xiaomi", + "product": "Mijia smart plug ZNCZ04LM", + "sleeper": false, + "status": "Gold", + "comment": "DDF for device firmwares equal or above 0.0.0_0024", + "matchexpr": "(R.endpoints.indexOf(0x15) !== -1) && (R.endpoints.indexOf(0x1F) !== -1);", + "md:known_issues": [ "xiaomi_known_issues_plugfw.md" ], + "subdevices": [ + { + "type": "$TYPE_SMART_PLUG", + "restapi": "/lights", + "uuid": [ + "$address.ext", + "0x01" + ], + "items": [ + { + "name": "attr/id" + }, + { + "name": "attr/lastannounced" + }, + { + "name": "attr/lastseen" + }, + { + "name": "attr/manufacturername" + }, + { + "name": "attr/modelid" + }, + { + "name": "attr/name" + }, + { + "name": "attr/swversion", + "parse": { + "at": "0x00f7", + "ep": 1, + "fn": "xiaomi:special", + "idx": "0x08", + "script": "xiaomi_swversion.js" + }, + "read": { + "fn": "none" + } + }, + { + "name": "attr/type" + }, + { + "name": "attr/uniqueid" + }, + { + "name": "state/alert", + "description": "The currently active alert effect.", + "default": "none" + }, + { + "name": "state/on", + "refresh.interval": 300 + }, + { + "name": "state/reachable" + } + ] + }, + { + "type": "$TYPE_POWER_SENSOR", + "restapi": "/sensors", + "uuid": [ + "$address.ext", + "0x15", + "0x000C" + ], + "fingerprint": { + "profile": "0x0104", + "device": "0x0051", + "endpoint": "0x15", + "in": [ + "0x000C" + ] + }, + "items": [ + { + "name": "attr/id" + }, + { + "name": "attr/lastannounced" + }, + { + "name": "attr/lastseen" + }, + { + "name": "attr/manufacturername" + }, + { + "name": "attr/modelid" + }, + { + "name": "attr/name" + }, + { + "name": "attr/swversion", + "parse": { + "at": "0x00f7", + "ep": 1, + "fn": "xiaomi:special", + "idx": "0x08", + "script": "xiaomi_swversion.js" + }, + "read": { + "fn": "none" + } + }, + { + "name": "attr/type" + }, + { + "name": "attr/uniqueid" + }, + { + "name": "config/on" + }, + { + "name": "config/reachable" + }, + { + "name": "config/temperature" + }, + { + "name": "state/current", + "parse": { + "at": "0x00F7", + "eval": "Item.val = Math.round(Attr.val);", + "fn": "xiaomi:special", + "idx": "0x97" + }, + "read": { + "fn": "none" + } + }, + { + "name": "state/lastupdated" + }, + { + "name": "state/power", + "refresh.interval": 10, + "read": { + "at": "0x0055", + "cl": "0x000C", + "ep": 21, + "fn": "zcl" + }, + "parse": { + "at": "0x0055", + "cl": "0x000C", + "ep": 21, + "eval": "Item.val = Math.round(Attr.val);" + } + }, + { + "name": "state/voltage", + "parse": { + "at": "0x00F7", + "eval": "Item.val = Math.round(Attr.val / 10);", + "fn": "xiaomi:special", + "idx": "0x96" + }, + "read": { + "fn": "none" + } + } + ] + }, + { + "type": "$TYPE_CONSUMPTION_SENSOR", + "restapi": "/sensors", + "uuid": [ + "$address.ext", + "0x1F", + "0x000C" + ], + "fingerprint": { + "profile": "0x0104", + "device": "0x0051", + "endpoint": "0x1F", + "in": [ + "0x000C" + ] + }, + "items": [ + { + "name": "attr/id" + }, + { + "name": "attr/lastannounced" + }, + { + "name": "attr/lastseen" + }, + { + "name": "attr/manufacturername" + }, + { + "name": "attr/modelid" + }, + { + "name": "attr/name" + }, + { + "name": "attr/swversion", + "parse": { + "at": "0x00f7", + "ep": 1, + "fn": "xiaomi:special", + "idx": "0x08", + "script": "xiaomi_swversion.js" + }, + "read": { + "fn": "none" + } + }, + { + "name": "attr/type" + }, + { + "name": "attr/uniqueid" + }, + { + "name": "config/on" + }, + { + "name": "config/reachable" + }, + { + "name": "config/temperature" + }, + { + "name": "state/consumption", + "refresh.interval": 300, + "read": { + "at": "0x0055", + "cl": "0x000C", + "ep": 31, + "fn": "zcl" + }, + "parse": { + "at": "0x0055", + "cl": "0x000C", + "ep": 31, + "eval": "Item.val = Math.round(Attr.val * 1000);" + } + }, + { + "name": "state/lastupdated" + } + ] + } + ] +} \ No newline at end of file