94static const float S_PRESENCE_OF_DETECTION_RANGE_STR[7] = {0.0f, 0.5f, 1.0f, 1.5f, 2.0f, 2.5f, 3.0f};
99 SUB_TEXT_SENSOR(heartbeat_state)
100 SUB_TEXT_SENSOR(product_model)
101 SUB_TEXT_SENSOR(product_id)
102 SUB_TEXT_SENSOR(hardware_model)
103 SUB_TEXT_SENSOR(firware_version)
104 SUB_TEXT_SENSOR(keep_away)
105 SUB_TEXT_SENSOR(motion_status)
106 SUB_TEXT_SENSOR(custom_mode_end)
108#ifdef USE_BINARY_SENSOR
109 SUB_BINARY_SENSOR(has_target)
112 SUB_SENSOR(custom_presence_of_detection)
113 SUB_SENSOR(movement_signs)
114 SUB_SENSOR(custom_motion_distance)
115 SUB_SENSOR(custom_spatial_static_value)
116 SUB_SENSOR(custom_spatial_motion_value)
117 SUB_SENSOR(custom_motion_speed)
118 SUB_SENSOR(custom_mode_num)
121 SUB_SWITCH(underlying_open_function)
125 SUB_BUTTON(custom_set_end)
128 SUB_SELECT(scene_mode)
129 SUB_SELECT(unman_time)
130 SUB_SELECT(existence_boundary)
131 SUB_SELECT(motion_boundary)
134 SUB_NUMBER(sensitivity)
135 SUB_NUMBER(custom_mode)
136 SUB_NUMBER(existence_threshold)
137 SUB_NUMBER(motion_threshold)
138 SUB_NUMBER(motion_trigger)
139 SUB_NUMBER(motion_to_rest)
140 SUB_NUMBER(custom_unman_time)
144 char c_product_mode_[PRODUCT_BUF_MAX_SIZE + 1];
145 char c_product_id_[PRODUCT_BUF_MAX_SIZE + 1];
146 char c_hardware_model_[PRODUCT_BUF_MAX_SIZE + 1];
147 char c_firmware_version_[PRODUCT_BUF_MAX_SIZE + 1];
148 uint8_t s_output_info_switch_flag_;
149 uint8_t sg_recv_data_state_;
150 uint8_t sg_frame_len_;
151 uint8_t sg_data_len_;
152 uint8_t sg_frame_buf_[FRAME_BUF_MAX_SIZE];
153 uint8_t sg_frame_prase_buf_[FRAME_BUF_MAX_SIZE];
154 int sg_start_query_data_;
155 bool check_dev_inf_sign_;
156 bool poll_time_base_func_check_;
159 void r24_split_data_frame_(uint8_t value);
160 void r24_parse_data_frame_(uint8_t *data, uint8_t
len);
161 void r24_frame_parse_open_underlying_information_(uint8_t *data);
162 void r24_frame_parse_work_status_(uint8_t *data);
163 void r24_frame_parse_product_information_(uint8_t *data);
164 void r24_frame_parse_human_information_(uint8_t *data);
165 void send_query_(
const uint8_t *query,
size_t string_length);
169 void setup()
override;
171 void loop()
override;