Делаем умный кондиционер еще умнее

da50a5827a5e8cf7f2f8c15c744abf9e.jpg
На столе около кондиционера
20:08:14.829 -> Protocol  : TCL112AC
20:08:14.829 -> Code      : 0x23CB260100048305000000148035 (112 Bits)
20:08:14.829 -> Mesg Desc.: Model: 1 (TAC09CHSD), Type: 1, Power: On, Mode: 3 (Cool), Temp: 26C, Fan: 0 (Auto), Swing(V): 0 (Auto), Swing(H): Off, Econo: Off, Health: Off, Turbo: Off, Light: On, On Timer: Off, Off Timer: Off
20:08:14.861 -> uint16_t rawData[227] = {3056, 1620,  468, 1118,  466, 1120,  466, 352,  466, 352,  466, 352,  466, 1120,  464, 352,  466, 352,  466, 1120,  464, 1142,  442, 352,  466, 1118,  466, 350,  466, 352,  466, 1120,  466, 1120,  466, 352,  466, 1118,  466, 1144,  442, 352,  466, 352,  466, 1120,  466, 352,  466, 352,  466, 1142,  442, 352,  466, 352,  466, 350,  466, 352,  466, 350,  468, 352,  466, 352,  466, 352,  466, 350,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 350,  466, 352,  466, 350,  466, 1118,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 1118,  466, 1120,  464, 352,  466, 352,  466, 352,  466, 352,  466, 352,  468, 1142,  442, 1120,  466, 352,  466, 1118,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 1142,  444, 352,  466, 1142,  442, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 1142,  442, 1142,  442, 350,  466, 1118,  466, 352,  466, 1144,  442, 1118,  466, 352,  466, 352,  466};  // TCL112AC
20:08:14.961 -> uint8_t state[14] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x04, 0x83, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x35};

Холодильник
20:18:15.241 -> Protocol  : TCL112AC
20:18:15.241 -> Code      : 0x23CB2601000483050000000C802D (112 Bits)
20:18:15.241 -> Mesg Desc.: Model: 1 (TAC09CHSD), Type: 1, Power: On, Mode: 3 (Cool), Temp: 26C, Fan: 0 (Auto), Swing(V): 0 (Auto), Swing(H): Off, Econo: Off, Health: Off, Turbo: Off, Light: On, On Timer: Off, Off Timer: Off
20:18:15.275 -> uint16_t rawData[227] = {3054, 1622,  464, 1142,  442, 1118,  466, 352,  466, 352,  466, 352,  464, 1120,  464, 352,  466, 352,  466, 1118,  466, 1142,  442, 352,  466, 1120,  464, 352,  466, 352,  466, 1116,  468, 1140,  442, 352,  464, 1116,  468, 1142,  442, 350,  468, 350,  466, 1140,  442, 352,  466, 350,  466, 1118,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 350,  466, 352,  466, 352,  464, 352,  466, 352,  466, 352,  466, 1118,  466, 350,  466, 352,  466, 352,  466, 352,  466, 350,  466, 1118,  466, 1142,  442, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 1118,  466, 1140,  444, 352,  466, 1118,  464, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 350,  466, 352,  466, 350,  466, 352,  466, 352,  466, 352,  466, 352,  464, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 350,  466, 352,  466, 352,  466, 350,  466, 352,  466, 1142,  442, 1118,  464, 352,  464, 352,  466, 352,  466, 350,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  464, 1118,  466, 1142,  442, 352,  466, 1116,  468, 1118,  464, 352,  466, 1116,  466, 352,  464, 352,  466};  // TCL112AC
20:18:15.410 -> uint8_t state[14] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x04, 0x83, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x2D};


Держал в руках 2 минуты
20:38:16.040 -> Protocol  : TCL112AC
20:38:16.040 -> Code      : 0x23CB2601000483050000001D803E (112 Bits)
20:38:16.040 -> Mesg Desc.: Model: 1 (TAC09CHSD), Type: 1, Power: On, Mode: 3 (Cool), Temp: 26C, Fan: 0 (Auto), Swing(V): 0 (Auto), Swing(H): Off, Econo: Off, Health: Off, Turbo: Off, Light: On, On Timer: Off, Off Timer: Off
20:38:16.072 -> uint16_t rawData[227] = {3060, 1622,  466, 1142,  444, 1144,  442, 352,  468, 352,  466, 354,  466, 1144,  444, 352,  466, 352,  468, 1120,  468, 1116,  468, 352,  468, 1120,  466, 352,  466, 352,  468, 1120,  466, 1120,  466, 352,  466, 1122,  464, 1120,  466, 352,  468, 352,  466, 1120,  466, 352,  466, 352,  468, 1120,  466, 352,  468, 352,  466, 352,  466, 354,  466, 352,  468, 352,  466, 352,  466, 352,  466, 354,  466, 352,  466, 352,  466, 352,  466, 352,  468, 352,  466, 354,  466, 352,  466, 352,  466, 1144,  444, 352,  466, 354,  466, 352,  468, 352,  468, 352,  466, 1120,  466, 1144,  442, 352,  468, 352,  468, 352,  468, 352,  466, 352,  466, 1142,  444, 1142,  444, 352,  466, 1122,  466, 352,  466, 352,  468, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  468, 352,  468, 352,  466, 352,  466, 354,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  468, 352,  466, 352,  466, 354,  466, 352,  466, 1144,  444, 352,  468, 1144,  442, 1122,  466, 1120,  466, 352,  468, 352,  468, 352,  466, 352,  466, 352,  466, 354,  466, 352,  468, 352,  466, 352,  466, 352,  466, 1142,  444, 352,  466, 1144,  444, 1120,  466, 1144,  444, 1120,  464, 1120,  466, 352,  468, 352,  466};  // TCL112AC
20:38:16.208 -> uint8_t state[14] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x04, 0x83, 0x05, 0x00, 0x00, 0x00, 0x1D, 0x80, 0x3E};

Лежит на столе после рук
20:48:16.327 -> Protocol  : TCL112AC
20:48:16.327 -> Code      : 0x23CB2601000483050000001A803B (112 Bits)
20:48:16.327 -> Mesg Desc.: Model: 1 (TAC09CHSD), Type: 1, Power: On, Mode: 3 (Cool), Temp: 26C, Fan: 0 (Auto), Swing(V): 0 (Auto), Swing(H): Off, Econo: Off, Health: Off, Turbo: Off, Light: On, On Timer: Off, Off Timer: Off
20:48:16.358 -> uint16_t rawData[227] = {3058, 1622,  466, 1142,  444, 1120,  466, 356,  464, 352,  466, 356,  462, 1144,  442, 352,  466, 352,  466, 1120,  466, 1144,  442, 352,  466, 1122,  466, 352,  466, 352,  468, 1118,  468, 1120,  464, 352,  468, 1120,  468, 1118,  466, 352,  466, 352,  466, 1122,  464, 352,  466, 352,  466, 1120,  466, 352,  468, 352,  468, 352,  466, 352,  466, 352,  466, 352,  468, 352,  468, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 354,  466, 352,  466, 352,  466, 1144,  442, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 1120,  466, 1120,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  468, 1142,  444, 1118,  468, 352,  466, 1120,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  468, 352,  468, 352,  468, 350,  468, 352,  466, 352,  466, 352,  468, 352,  466, 352,  466, 352,  466, 352,  468, 352,  466, 352,  466, 352,  468, 352,  466, 352,  466, 352,  466, 352,  466, 352,  468, 352,  466, 352,  466, 352,  466, 352,  468, 352,  466, 352,  466, 1144,  442, 354,  466, 1120,  468, 1120,  466, 352,  466, 352,  466, 352,  466, 352,  468, 352,  466, 352,  466, 352,  468, 352,  466, 352,  466, 352,  466, 1142,  444, 1142,  444, 1144,  444, 352,  466, 1120,  466, 1120,  466, 1120,  466, 352,  466, 352,  468};  // TCL112AC
20:48:16.466 -> uint8_t state[14] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x04, 0x83, 0x05, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x3B};

Вынес на улицу
21:08:16.888 -> Protocol  : TCL112AC
21:08:16.888 -> Code      : 0x23CB260100048305000000178038 (112 Bits)
21:08:16.921 -> Mesg Desc.: Model: 1 (TAC09CHSD), Type: 1, Power: On, Mode: 3 (Cool), Temp: 26C, Fan: 0 (Auto), Swing(V): 0 (Auto), Swing(H): Off, Econo: Off, Health: Off, Turbo: Off, Light: On, On Timer: Off, Off Timer: Off
21:08:16.921 -> uint16_t rawData[227] = {3058, 1620,  468, 1120,  466, 1120,  466, 352,  468, 352,  466, 352,  466, 1120,  466, 352,  466, 352,  468, 1120,  466, 1118,  468, 352,  466, 1118,  466, 352,  466, 352,  466, 1120,  466, 1118,  468, 352,  466, 1144,  442, 1120,  466, 352,  468, 352,  466, 1120,  466, 354,  466, 352,  466, 1142,  444, 352,  466, 352,  468, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 354,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 356,  464, 1120,  466, 352,  466, 352,  466, 352,  466, 352,  466, 354,  466, 1142,  444, 1142,  442, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 1120,  466, 1120,  466, 352,  466, 1142,  442, 352,  466, 354,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 352,  466, 1142,  442, 1144,  442, 1142,  444, 352,  468, 1142,  444, 352,  466, 352,  466, 352,  466, 352,  468, 350,  468, 352,  466, 352,  466, 352,  466, 352,  466, 352,  468, 1118,  466, 352,  466, 352,  466, 352,  466, 1142,  444, 1120,  466, 1118,  466, 352,  466, 352,  466};  // TCL112AC
21:08:17.052 -> uint8_t state[14] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x04, 0x83, 0x05, 0x00, 0x00, 0x00, 0x17, 0x80, 0x38};

© Habrahabr.ru