@@ -40,9 +40,21 @@ interface ThirdMotionSensor {
4040 commandResponses : never ;
4141}
4242
43- interface ThirdRadarSpecialCluster {
43+ interface Third60gRadarSensor {
4444 attributes : {
45- volatileCrganiccCompounds : number ;
45+ totalVolatileOrganicCompounds : number ;
46+ presenceSensorSensitivity : number ;
47+ airThreshold : number ;
48+ tvocSensorCalibration : number ;
49+ } ;
50+ commands : never ;
51+ commandResponses : never ;
52+ }
53+
54+ interface ThirdWateringKit {
55+ attributes : {
56+ wateringTimes : number ;
57+ intervalDay : number ;
4658 } ;
4759 commands : never ;
4860 commandResponses : never ;
@@ -312,25 +324,55 @@ export const definitions: DefinitionWithExtend[] = [
312324 ID : 0x042e ,
313325 manufacturerCode : 0x1407 ,
314326 attributes : {
315- volatileCrganiccCompounds : {
327+ totalVolatileOrganicCompounds : {
316328 name : "volatileCrganiccCompounds" ,
317329 ID : 0x0000 ,
318330 type : Zcl . DataType . UINT32 ,
319331 write : true ,
320332 max : 0xffffffff ,
321333 } ,
334+ presenceSensorSensitivity : { name : "presenceSensorSensitivity" , ID : 0xf002 , type : Zcl . DataType . UINT8 , write : true , min : 1 , max : 6 } ,
335+ tvocSensorCalibration : { name : "tvocSensorCalibration" , ID : 0xf001 , type : Zcl . DataType . UINT8 , write : true , min : 1 , max : 1 } ,
336+ airThreshold : { name : "airThreshold" , ID : 0xf003 , type : Zcl . DataType . UINT16 , write : true , min : 3000 , max : 15000 } ,
322337 } ,
323338 commands : { } ,
324339 commandsResponse : { } ,
325340 } ) ,
326- m . numeric < "3r60gRadarSpecialCluster" , ThirdRadarSpecialCluster > ( {
327- name : "volatile_organic_compounds " ,
341+ m . numeric < "3r60gRadarSpecialCluster" , Third60gRadarSensor > ( {
342+ name : "total_volatile_organic_compounds " ,
328343 cluster : "3r60gRadarSpecialCluster" ,
329- attribute : "volatileCrganiccCompounds " ,
344+ attribute : "totalVolatileOrganicCompounds " ,
330345 unit : "ppb" ,
331- description : "Measured VOC value" ,
346+ description : "Measured TVOC value" ,
332347 access : "STATE_GET" ,
333348 } ) ,
349+ m . enumLookup < "3r60gRadarSpecialCluster" , Third60gRadarSensor > ( {
350+ name : "tvoc_sensor_calibration" ,
351+ lookup : { Reset : 1 } ,
352+ cluster : "3r60gRadarSpecialCluster" ,
353+ attribute : "tvocSensorCalibration" ,
354+ description : "TVOC sensor calibration" ,
355+ access : "ALL" ,
356+ } ) ,
357+ m . numeric < "3r60gRadarSpecialCluster" , Third60gRadarSensor > ( {
358+ name : "presence_sensor_sensitivity" ,
359+ valueMin : 1 ,
360+ valueMax : 6 ,
361+ cluster : "3r60gRadarSpecialCluster" ,
362+ attribute : "presenceSensorSensitivity" ,
363+ description : "Presence sensor sensitivity" ,
364+ access : "ALL" ,
365+ } ) ,
366+ m . numeric < "3r60gRadarSpecialCluster" , Third60gRadarSensor > ( {
367+ name : "air_threshold" ,
368+ valueMin : 3000 ,
369+ valueMax : 15000 ,
370+ cluster : "3r60gRadarSpecialCluster" ,
371+ attribute : "airThreshold" ,
372+ unit : "ppb" ,
373+ description : "Air threshold" ,
374+ access : "ALL" ,
375+ } ) ,
334376 m . light ( {
335377 color : { modes : [ "xy" ] , enhancedHue : true } ,
336378 } ) ,
@@ -741,17 +783,42 @@ export const definitions: DefinitionWithExtend[] = [
741783 extend : [
742784 m . battery ( { percentage : true , voltage : true , lowStatus : true , percentageReporting : true } ) ,
743785 m . onOff ( { powerOnBehavior : false } ) ,
786+ m . iasZoneAlarm ( {
787+ zoneType : "generic" ,
788+ zoneAttributes : [ "alarm_1" ] ,
789+ description : "Water shortage warning" ,
790+ } ) ,
744791 m . deviceAddCustomCluster ( "3rWateringSpecialCluster" , {
745792 name : "3rWateringSpecialCluster" ,
746793 ID : 0xfff2 ,
747794 manufacturerCode : 0x1407 ,
748795 attributes : {
749- wateringTimes : { name : "wateringTimes" , ID : 0x0000 , type : Zcl . DataType . UINT16 , write : true , max : 0xffff } ,
750- intervalDay : { name : "intervalDay" , ID : 0x0001 , type : Zcl . DataType . UINT8 , write : true , max : 0xff } ,
796+ wateringTimes : { name : "wateringTimes" , ID : 0x0000 , type : Zcl . DataType . UINT16 , write : true , min : 1 , max : 1800 } ,
797+ intervalDay : { name : "intervalDay" , ID : 0x0001 , type : Zcl . DataType . UINT8 , write : true , min : 0 , max : 30 } ,
751798 } ,
752799 commands : { } ,
753800 commandsResponse : { } ,
754801 } ) ,
802+ m . numeric < "3rWateringSpecialCluster" , ThirdWateringKit > ( {
803+ name : "watering_times" ,
804+ cluster : "3rWateringSpecialCluster" ,
805+ attribute : "wateringTimes" ,
806+ valueMin : 1 ,
807+ valueMax : 1800 ,
808+ unit : "s" ,
809+ description : "watering times" ,
810+ access : "ALL" ,
811+ } ) ,
812+ m . numeric < "3rWateringSpecialCluster" , ThirdWateringKit > ( {
813+ name : "interval_day" ,
814+ cluster : "3rWateringSpecialCluster" ,
815+ attribute : "intervalDay" ,
816+ valueMin : 0 ,
817+ valueMax : 30 ,
818+ unit : "Day" ,
819+ description : "interval day" ,
820+ access : "ALL" ,
821+ } ) ,
755822 ] ,
756823 ota : true ,
757824 } ,
0 commit comments