@@ -296,6 +296,114 @@ class NoManufTimeTuyaMCUCluster(TuyaMCUCluster):
296
296
)
297
297
298
298
299
+ (
300
+ TuyaQuirkBuilder ("HOBEIAN" , "ZG-303Z" )
301
+ .applies_to ("_TZE200_npj9bug3" , "TS0601" ) # COOLO CS-201Z
302
+ .tuya_soil_moisture (dp_id = 3 )
303
+ .tuya_temperature (dp_id = 5 , scale = 10 )
304
+ .tuya_enum (
305
+ dp_id = 9 ,
306
+ attribute_name = "display_unit" ,
307
+ enum_class = TuyaTempUnitConvert ,
308
+ entity_type = EntityType .CONFIG ,
309
+ translation_key = "display_unit" ,
310
+ fallback_name = "Display unit" ,
311
+ )
312
+ .tuya_battery (dp_id = 15 , battery_type = BatterySize .AAA )
313
+ .tuya_number (
314
+ dp_id = 102 ,
315
+ attribute_name = "soil_moisture_calibration" ,
316
+ type = t .uint16_t ,
317
+ unit = PERCENTAGE ,
318
+ min_value = - 30 ,
319
+ max_value = 30 ,
320
+ step = 1 ,
321
+ entity_type = EntityType .CONFIG ,
322
+ device_class = NumberDeviceClass .HUMIDITY ,
323
+ translation_key = "soil_moisture_calibration" ,
324
+ fallback_name = "Soil moisture Calibration" ,
325
+ )
326
+ .tuya_number (
327
+ dp_id = 104 ,
328
+ attribute_name = "temperature_calibration" ,
329
+ type = t .uint16_t ,
330
+ unit = UnitOfTemperature .KELVIN ,
331
+ min_value = - 2 ,
332
+ max_value = 2 ,
333
+ step = 0.1 ,
334
+ multiplier = 10 ,
335
+ entity_type = EntityType .CONFIG ,
336
+ device_class = NumberDeviceClass .TEMPERATURE ,
337
+ translation_key = "temperature_calibration" ,
338
+ fallback_name = "Temperature Calibration" ,
339
+ )
340
+ .tuya_number (
341
+ dp_id = 105 ,
342
+ attribute_name = "humidity_calibration" ,
343
+ type = t .uint16_t ,
344
+ unit = PERCENTAGE ,
345
+ min_value = - 30 ,
346
+ max_value = 30 ,
347
+ step = 1 ,
348
+ entity_type = EntityType .CONFIG ,
349
+ device_class = NumberDeviceClass .HUMIDITY ,
350
+ translation_key = "humidity_calibration" ,
351
+ fallback_name = "Humidity Calibration" ,
352
+ )
353
+ .tuya_binary_sensor (
354
+ dp_id = 106 ,
355
+ attribute_name = "dry" ,
356
+ entity_type = EntityType .STANDARD ,
357
+ device_class = BinarySensorDeviceClass .MOISTURE ,
358
+ translation_key = "dry" ,
359
+ fallback_name = "Dry" ,
360
+ )
361
+ .tuya_humidity (dp_id = 109 )
362
+ .tuya_number (
363
+ dp_id = 110 ,
364
+ attribute_name = "alarm_soil_moisture_min" ,
365
+ type = t .uint16_t ,
366
+ unit = PERCENTAGE ,
367
+ min_value = 0 ,
368
+ max_value = 100 ,
369
+ step = 1 ,
370
+ entity_type = EntityType .CONFIG ,
371
+ device_class = NumberDeviceClass .MOISTURE ,
372
+ translation_key = "alarm_soil_moisture_min" ,
373
+ fallback_name = "Alarm soil moisture min" ,
374
+ )
375
+ .tuya_number (
376
+ dp_id = 111 ,
377
+ attribute_name = "temperature_sampling" ,
378
+ type = t .uint16_t ,
379
+ unit = UnitOfTime .SECONDS ,
380
+ min_value = 5 ,
381
+ max_value = 3600 ,
382
+ step = 1 ,
383
+ entity_type = EntityType .CONFIG ,
384
+ device_class = NumberDeviceClass .DURATION ,
385
+ translation_key = "temperature_sampling" ,
386
+ fallback_name = "Temperature Sampling" ,
387
+ )
388
+ .tuya_number (
389
+ dp_id = 112 ,
390
+ attribute_name = "soil_moisture_sampling" ,
391
+ type = t .uint16_t ,
392
+ unit = UnitOfTime .SECONDS ,
393
+ min_value = 5 ,
394
+ max_value = 3600 ,
395
+ step = 1 ,
396
+ entity_type = EntityType .CONFIG ,
397
+ device_class = NumberDeviceClass .DURATION ,
398
+ translation_key = "soil_moisture_sampling" ,
399
+ fallback_name = "Soil Moisture Sampling" ,
400
+ )
401
+ .tuya_enchantment (data_query_spell = True )
402
+ .skip_configuration ()
403
+ .add_to_registry ()
404
+ )
405
+
406
+
299
407
(
300
408
TuyaQuirkBuilder ("_TZE200_upagmta9" , "TS0601" )
301
409
.applies_to ("_TZE204_upagmta9" , "TS0601" )
0 commit comments