Open GabyPCgeeK opened 1 year ago
It is a Daikin branded "Gree" AC. Example Received packet. 7E 7E 30 31 00 00 40 00 93 C0 02 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 00 00 00 3B
7E 7E 30 31 00 00 40 00 93 C0 02 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 00 00 00 3B
Struct with some of the protocol figured out.
struct { uint16_t header ; //7E 7E #header bytes uint8_t data_length ; //30 #packet length uint8_t packet_type ; //31 #packet type? uint8_t unk1[2] ; //00 00 uint8_t const1 ; //40 #always constant? uint8_t unk2 ; //00 uint8_t fan_speed :2; //93 #fan speed 0-3 uint8_t :1; uint8_t sleep :1; // #is sleep set uint8_t mode :3; // #ac mode 0,1,2,3,4 uint8_t power_state :1; // #ac on/off uint8_t timer_has_half_hour :1; //C0 #if timer shows .5 hour uint8_t timer_tens_hours :2; // #the tens part of the timer time ex. 21 hours then value is 2 uint8_t timer_enabled :1; // #if timer is enabled uint8_t set_temp :4; // #the temperature the ac is set to (add 16 for degrees C) uint8_t turbo :1; //02 #is turbo set uint8_t display_light :1; // #is the ac lights (temperature, mode, etc) on/off uint8_t :1; uint8_t xfan :1; // #is xfan set uint8_t :4; uint8_t const2 :7; //02 uint8_t using_farenheit :1; // #is the ac using farenheit temperature uint8_t swing ; //00 #swing mode uint8_t :5; //00 uint8_t display_internal_temp :1; // #show room temp for a few seconds when turning on ac uint8_t :2; uint8_t unk3 ; //00 uint8_t :2; //00 uint8_t save_energy :1; // #is energy saving set uint8_t :5; uint8_t timer_on_time_l :8; //00 #low byte of the timer on time. 0XX uint8_t timer_off_time_l :4; //0 #low nibble of the timer off time. 00X uint8_t timer_on_time_h :4; //0 #high nibble of timer on time. X00 uint8_t timer_off_time_h :8; //00 #high nibbles of timer off time. XX0 uint8_t :4; //00 uint8_t timer_off :1; // #is timer a off timer uint8_t timer_on :1; // #is timer a on timer uint8_t :2; uint8_t unk4[21] ; //00 x21 uint8_t :7; //00 uint8_t ir_cmd :1; // #did the ac receive a command from ir remote uint8_t unk5[4] ; uint8_t internal_temp ; //46 #the room temprature (substract 40 for degrees C) uint8_t unk6[3] ; uint8_t checksum ; //D6 #the packet checksum };
It is a Daikin branded "Gree" AC. Example Received packet.
7E 7E 30 31 00 00 40 00 93 C0 02 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 00 00 00 3B
Struct with some of the protocol figured out.