@@ -76,6 +76,8 @@ class BTHome:
7676    PRESENCE_BINARY  =  const (0x25 )  # 0 (False = Away) 1 (True = Home) 
7777    PROBLEM_BINARY  =  const (0x26 )  # 0 (False = OK) 1 (True = Problem) 
7878    RUNNING_BINARY  =  const (0x27 )  # 0 (False = Not Running) 1 (True = Running) 
79+     SAFETY_BINARY  =  const (0x28 )  # 0 (False = Unsafe) 1 (True = Safe) 
80+     SMOKE_BINARY  =  const (0x29 )  # 0 (False = Clear) 1 (True = Detected) 
7981    HUMIDITY_UINT8_X1  =  const (0x2E )  # % 
8082    MOISTURE_UINT8_X1  =  const (0x2F )  # % 
8183    COUNT_UINT16_X1  =  const (0x3D )
@@ -158,6 +160,8 @@ class BTHome:
158160        PRESENCE_BINARY : "presence" ,  # 0x25 
159161        PROBLEM_BINARY : "problem" ,  # 0x26 
160162        RUNNING_BINARY : "running" ,  # 0x27 
163+         SAFETY_BINARY : "safety" ,  # 0x28 
164+         SMOKE_BINARY : "smoke" ,  # 0x29 
161165        HUMIDITY_UINT8_X1 : "humidity" ,  # 0x2E 
162166        MOISTURE_UINT8_X1 : "moisture" ,  # 0x2F 
163167        COUNT_UINT16_X1 : "count" ,  # 0x3D 
@@ -252,7 +256,9 @@ class BTHome:
252256    raw  =  bytes ()
253257    rotation  =  0 
254258    running  =  False 
259+     safety  =  False 
255260    speed  =  0 
261+     smoke  =  False 
256262    temperature  =  0 
257263    text  =  "" 
258264    timestamp  =  0 
@@ -378,6 +384,8 @@ def _pack_raw_text(self, object_id, value):
378384        PRESENCE_BINARY : _pack_binary ,
379385        PROBLEM_BINARY : _pack_binary ,
380386        RUNNING_BINARY : _pack_binary ,
387+         SAFETY_BINARY : _pack_binary ,
388+         SMOKE_BINARY : _pack_binary ,
381389        HUMIDITY_UINT8_X1 : _pack_int8_x1 ,
382390        MOISTURE_UINT8_X1 : _pack_int8_x1 ,
383391        COUNT_UINT16_X1 : _pack_int16_x1 ,
0 commit comments