1 #pragma once 2 3 // Unitcode ('Unit' in 'Devices' overview) 4 typedef enum { 5 ACT_ONOFF_PLUG = 1, // 1, TODO: also used for channel 0? 6 ACT_ONOFF_WIRED_WALL, // 2, TODO: what is this? single or dual channel wired wall switch? 7 GATEWAY_SOUND_ALARM_RINGTONE, // 3, Xiaomi Gateway Alarm Ringtone 8 GATEWAY_SOUND_ALARM_CLOCK, // 4, Xiaomi Gateway Alarm Clock 9 GATEWAY_SOUND_DOORBELL, // 5, Xiaomi Gateway Doorbell 10 GATEWAY_SOUND_MP3, // 6, Xiaomi Gateway MP3 11 GATEWAY_SOUND_VOLUME_CONTROL, // 7, Xiaomi Gateway Volume 12 SELECTOR_WIRED_WALL_SINGLE, // 8, Xiaomi Wired Single Wall Switch 13 SELECTOR_WIRED_WALL_DUAL_CHANNEL_0, // 9, Xiaomi Wired Dual Wall Switch Channel 0 14 SELECTOR_WIRED_WALL_DUAL_CHANNEL_1 // 10, Xiaomi Wired Dual Wall Switch Channel 1 15 } XiaomiUnitCode; 16 17 /**************************************************************************** 18 ********************************* SWITCHES ********************************* 19 ****************************************************************************/ 20 21 // Unknown Xiaomi device 22 #define NAME_UNKNOWN_XIAOMI "Unknown Xiaomi device" 23 24 // Xiaomi Wireless Switch 25 #define MODEL_SELECTOR_WIRELESS_SINGLE_1 "switch" 26 #define MODEL_SELECTOR_WIRELESS_SINGLE_2 "remote.b1acn01" 27 #define NAME_SELECTOR_WIRELESS_SINGLE "Xiaomi Wireless Switch" 28 29 // Xiaomi Square Wireless Switch 30 #define MODEL_SELECTOR_WIRELESS_SINGLE_SQUARE "sensor_switch.aq2" 31 #define NAME_SELECTOR_WIRELESS_SINGLE_SQUARE "Xiaomi Square Wireless Switch" 32 33 // Xiaomi Wireless Single Wall Switch | WXKG03LM 34 #define MODEL_SELECTOR_WIRELESS_WALL_SINGLE_1 "86sw1" 35 #define MODEL_SELECTOR_WIRELESS_WALL_SINGLE_2 "remote.b186acn01" 36 #define NAME_SELECTOR_WIRELESS_WALL_SINGLE "Xiaomi Wireless Single Wall Switch" 37 38 // Xiaomi Wireless Dual Wall Switch | WXKG02LM 39 #define MODEL_SELECTOR_WIRELESS_WALL_DUAL_1 "86sw2" 40 #define MODEL_SELECTOR_WIRELESS_WALL_DUAL_2 "remote.b286acn01" 41 #define NAME_SELECTOR_WIRELESS_WALL_DUAL "Xiaomi Wireless Dual Wall Switch" 42 43 // Xiaomi Wired Single Wall Switch 44 #define MODEL_SELECTOR_WIRED_WALL_SINGLE_1 "ctrl_neutral1" 45 #define MODEL_SELECTOR_WIRED_WALL_SINGLE_2 "ctrl_ln1" 46 #define MODEL_SELECTOR_WIRED_WALL_SINGLE_3 "ctrl_ln1.aq1" 47 #define NAME_SELECTOR_WIRED_WALL_SINGLE "Xiaomi Wired Single Wall Switch" 48 49 // Xiaomi Wired Dual Wall Switch | QBKG12LM 50 #define MODEL_SELECTOR_WIRED_WALL_DUAL_1 "ctrl_neutral2" 51 #define MODEL_SELECTOR_WIRED_WALL_DUAL_2 "ctrl_ln2" 52 #define MODEL_SELECTOR_WIRED_WALL_DUAL_3 "ctrl_ln2.aq1" 53 #define NAME_SELECTOR_WIRED_WALL_DUAL "Xiaomi Wired Dual Wall Switch" 54 #define NAME_SELECTOR_WIRED_WALL_DUAL_CHANNEL_0 "Xiaomi Wired Dual Wall Switch Channel 0" 55 #define NAME_SELECTOR_WIRED_WALL_DUAL_CHANNEL_1 "Xiaomi Wired Dual Wall Switch Channel 1" 56 57 // Xiaomi Smart Push Button 58 #define MODEL_SELECTOR_WIRELESS_SINGLE_SMART_PUSH "sensor_switch.aq3" 59 #define NAME_SELECTOR_WIRELESS_SINGLE_SMART_PUSH "Xiaomi Smart Push Button" 60 61 // Xiaomi Cube 62 #define MODEL_SELECTOR_CUBE_V1 "cube" 63 #define NAME_SELECTOR_CUBE_V1 "Xiaomi Cube" 64 #define MODEL_SELECTOR_CUBE_AQARA "sensor_cube.aqgl01" 65 #define NAME_SELECTOR_CUBE_AQARA "Aqara Cube" 66 67 /**************************************************************************** 68 ********************************* SENSORS ********************************** 69 ****************************************************************************/ 70 71 // Motion Sensor Xiaomi 72 #define MODEL_SENSOR_MOTION_XIAOMI "motion" 73 #define NAME_SENSOR_MOTION_XIAOMI "Xiaomi Motion Sensor" 74 75 // Motion Sensor Aqara | RTCGQ11LM 76 #define MODEL_SENSOR_MOTION_AQARA "sensor_motion.aq2" 77 #define NAME_SENSOR_MOTION_AQARA "Aqara Motion Sensor" 78 79 // Xiaomi Door and Window Sensor | MCCGQ11LM 80 #define MODEL_SENSOR_DOOR "magnet" 81 #define MODEL_SENSOR_DOOR_AQARA "sensor_magnet.aq2" 82 #define NAME_SENSOR_DOOR "Xiaomi Door Sensor" 83 84 // Xiaomi Temperature/Humidity | WSDCGQ01LM 85 #define MODEL_SENSOR_TEMP_HUM_V1 "sensor_ht" 86 #define NAME_SENSOR_TEMP_HUM_V1 "Xiaomi Temperature/Humidity" 87 88 // Xiaomi Aqara Weather | WSDCGQ11LM 89 #define MODEL_SENSOR_TEMP_HUM_AQARA "weather.v1" 90 #define NAME_SENSOR_TEMP_HUM_AQARA "Xiaomi Aqara Weather" 91 92 // Aqara Vibration Sensor | DJT11LM 93 #define MODEL_SENSOR_VIBRATION "vibration" 94 #define NAME_SENSOR_VIBRATION "Aqara Vibration Sensor" 95 96 // Smoke Detector (sensor_smoke.v1) 97 #define MODEL_SENSOR_SMOKE "smoke" 98 #define NAME_SENSOR_SMOKE "Xiaomi Smoke Detector" 99 100 // Xiaomi Gas Detector 101 #define MODEL_SENSOR_GAS "natgas" 102 #define NAME_SENSOR_GAS "Xiaomi Gas Detector" 103 104 // Xiaomi Water Leak Detector | SJCGQ11LM 105 #define MODEL_SENSOR_WATER "sensor_wleak.aq1" 106 #define NAME_SENSOR_WATER "Xiaomi Water Leak Detector" 107 108 /**************************************************************************** 109 ********************************* ACTUATORS ******************************** 110 ****************************************************************************/ 111 112 // Xiaomi Smart Plug (plug.v1) | ZNCZ02LM 113 #define MODEL_ACT_ONOFF_PLUG "plug" 114 #define NAME_ACT_ONOFF_PLUG "Xiaomi Smart Plug" 115 116 // Xiaomi Smart Wall Plug 117 #define MODEL_ACT_ONOFF_PLUG_WALL_1 "86plug" 118 #define MODEL_ACT_ONOFF_PLUG_WALL_2 "ctrl_86plug.aq1" 119 #define NAME_ACT_ONOFF_PLUG_WALL "Xiaomi Smart Wall Plug" 120 121 // Xiaomi Curtain 122 #define MODEL_ACT_BLINDS_CURTAIN "curtain" 123 #define NAME_ACT_BLINDS_CURTAIN "Xiaomi Curtain" 124 125 // [NEW] Aqara LED Light Bulb (Tunable White) // TODO: not implemented yet 126 #define MODEL_ACT_LIGHT "light.aqcb02" 127 #define NAME_ACT_LIGHT "Light bulb" 128 129 // [NEW] Aqara Aqara Wireless Relay Controller (2 Channels) | LLKZMK11LM // TODO: not implemented yet 130 #define MODEL_ACT_RELAIS "relay.c2acn01" 131 #define NAME_ACT_RELAIS "Aqara Wireless Relay Controller" 132 133 134 /**************************************************************************** 135 ********************************* GATEWAY ********************************** 136 ****************************************************************************/ 137 138 // Xiaomi Gateway 139 #define MODEL_GATEWAY_1 "gateway" 140 #define MODEL_GATEWAY_2 "gateway.v3" // Mi Control Hub Gateway 141 #define MODEL_GATEWAY_3 "acpartner.v3" 142 #define NAME_GATEWAY "Xiaomi RGB Gateway" 143 #define NAME_GATEWAY_LUX "Xiaomi Gateway Lux" 144 #define NAME_GATEWAY_SOUND_MP3 "Xiaomi Gateway MP3" 145 #define NAME_GATEWAY_SOUND_DOORBELL "Xiaomi Gateway Doorbell" 146 #define NAME_GATEWAY_SOUND_ALARM_CLOCK "Xiaomi Gateway Alarm Clock" 147 #define NAME_GATEWAY_SOUND_ALARM_RINGTONE "Xiaomi Gateway Alarm Ringtone" 148 #define NAME_GATEWAY_SOUND_VOLUME_CONTROL "Xiaomi Gateway Volume" 149 150 151 /**************************************************************************** 152 ********************************* STATES *********************************** 153 ****************************************************************************/ 154 155 #define NAME_CHANNEL_0 "channel_0" 156 #define NAME_CHANNEL_1 "channel_1" 157 158 #define STATE_ON "on" 159 #define STATE_OFF "off" 160 161 #define STATE_OPEN "open" 162 #define STATE_CLOSE "close" 163 164 #define STATE_WATER_LEAK_YES "leak" 165 #define STATE_WATER_LEAK_NO "no_leak" 166 167 #define STATE_MOTION_YES "motion" 168 #define STATE_MOTION_NO "no_motion" 169 170 #define COMMAND_REPORT "report" 171 #define COMMAND_READ_ACK "read_ack" 172 #define COMMAND_HEARTBEAT "heartbeat" 173