mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	Readds the battery level for xiaomi_hhccjcy01 (#1288)
This commit is contained in:
		
				
					committed by
					
						 Guillermo Ruffino
						Guillermo Ruffino
					
				
			
			
				
	
			
			
			
						parent
						
							a0bb7c3ed0
						
					
				
				
					commit
					f7e6195466
				
			| @@ -1,8 +1,8 @@ | |||||||
| import esphome.codegen as cg | import esphome.codegen as cg | ||||||
| import esphome.config_validation as cv | import esphome.config_validation as cv | ||||||
| from esphome.components import sensor, esp32_ble_tracker | from esphome.components import sensor, esp32_ble_tracker | ||||||
| from esphome.const import CONF_MAC_ADDRESS, CONF_TEMPERATURE, \ | from esphome.const import CONF_BATTERY_LEVEL, CONF_MAC_ADDRESS, CONF_TEMPERATURE, \ | ||||||
|     UNIT_CELSIUS, ICON_THERMOMETER, UNIT_PERCENT, ICON_WATER_PERCENT, CONF_ID, \ |     UNIT_CELSIUS, ICON_THERMOMETER, UNIT_PERCENT, ICON_WATER_PERCENT, ICON_BATTERY, CONF_ID, \ | ||||||
|     CONF_MOISTURE, CONF_ILLUMINANCE, ICON_BRIGHTNESS_5, UNIT_LUX, CONF_CONDUCTIVITY, \ |     CONF_MOISTURE, CONF_ILLUMINANCE, ICON_BRIGHTNESS_5, UNIT_LUX, CONF_CONDUCTIVITY, \ | ||||||
|     UNIT_MICROSIEMENS_PER_CENTIMETER, ICON_FLOWER |     UNIT_MICROSIEMENS_PER_CENTIMETER, ICON_FLOWER | ||||||
|  |  | ||||||
| @@ -19,6 +19,7 @@ CONFIG_SCHEMA = cv.Schema({ | |||||||
|     cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(UNIT_CELSIUS, ICON_THERMOMETER, 1), |     cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(UNIT_CELSIUS, ICON_THERMOMETER, 1), | ||||||
|     cv.Optional(CONF_MOISTURE): sensor.sensor_schema(UNIT_PERCENT, ICON_WATER_PERCENT, 0), |     cv.Optional(CONF_MOISTURE): sensor.sensor_schema(UNIT_PERCENT, ICON_WATER_PERCENT, 0), | ||||||
|     cv.Optional(CONF_ILLUMINANCE): sensor.sensor_schema(UNIT_LUX, ICON_BRIGHTNESS_5, 0), |     cv.Optional(CONF_ILLUMINANCE): sensor.sensor_schema(UNIT_LUX, ICON_BRIGHTNESS_5, 0), | ||||||
|  |     cv.Optional(CONF_BATTERY_LEVEL): sensor.sensor_schema(UNIT_PERCENT, ICON_BATTERY, 0), | ||||||
|     cv.Optional(CONF_CONDUCTIVITY): |     cv.Optional(CONF_CONDUCTIVITY): | ||||||
|         sensor.sensor_schema(UNIT_MICROSIEMENS_PER_CENTIMETER, ICON_FLOWER, 0), |         sensor.sensor_schema(UNIT_MICROSIEMENS_PER_CENTIMETER, ICON_FLOWER, 0), | ||||||
| }).extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA).extend(cv.COMPONENT_SCHEMA) | }).extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA).extend(cv.COMPONENT_SCHEMA) | ||||||
| @@ -43,3 +44,6 @@ def to_code(config): | |||||||
|     if CONF_CONDUCTIVITY in config: |     if CONF_CONDUCTIVITY in config: | ||||||
|         sens = yield sensor.new_sensor(config[CONF_CONDUCTIVITY]) |         sens = yield sensor.new_sensor(config[CONF_CONDUCTIVITY]) | ||||||
|         cg.add(var.set_conductivity(sens)) |         cg.add(var.set_conductivity(sens)) | ||||||
|  |     if CONF_BATTERY_LEVEL in config: | ||||||
|  |         sens = yield sensor.new_sensor(config[CONF_BATTERY_LEVEL]) | ||||||
|  |         cg.add(var.set_battery_level(sens)) | ||||||
|   | |||||||
| @@ -14,6 +14,7 @@ void XiaomiHHCCJCY01::dump_config() { | |||||||
|   LOG_SENSOR("  ", "Moisture", this->moisture_); |   LOG_SENSOR("  ", "Moisture", this->moisture_); | ||||||
|   LOG_SENSOR("  ", "Conductivity", this->conductivity_); |   LOG_SENSOR("  ", "Conductivity", this->conductivity_); | ||||||
|   LOG_SENSOR("  ", "Illuminance", this->illuminance_); |   LOG_SENSOR("  ", "Illuminance", this->illuminance_); | ||||||
|  |   LOG_SENSOR("  ", "Battery Level", this->battery_level_); | ||||||
| } | } | ||||||
|  |  | ||||||
| bool XiaomiHHCCJCY01::parse_device(const esp32_ble_tracker::ESPBTDevice &device) { | bool XiaomiHHCCJCY01::parse_device(const esp32_ble_tracker::ESPBTDevice &device) { | ||||||
| @@ -50,6 +51,8 @@ bool XiaomiHHCCJCY01::parse_device(const esp32_ble_tracker::ESPBTDevice &device) | |||||||
|       this->conductivity_->publish_state(*res->conductivity); |       this->conductivity_->publish_state(*res->conductivity); | ||||||
|     if (res->illuminance.has_value() && this->illuminance_ != nullptr) |     if (res->illuminance.has_value() && this->illuminance_ != nullptr) | ||||||
|       this->illuminance_->publish_state(*res->illuminance); |       this->illuminance_->publish_state(*res->illuminance); | ||||||
|  |     if (res->battery_level.has_value() && this->battery_level_ != nullptr) | ||||||
|  |       this->battery_level_->publish_state(*res->battery_level); | ||||||
|     success = true; |     success = true; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -22,6 +22,7 @@ class XiaomiHHCCJCY01 : public Component, public esp32_ble_tracker::ESPBTDeviceL | |||||||
|   void set_moisture(sensor::Sensor *moisture) { moisture_ = moisture; } |   void set_moisture(sensor::Sensor *moisture) { moisture_ = moisture; } | ||||||
|   void set_conductivity(sensor::Sensor *conductivity) { conductivity_ = conductivity; } |   void set_conductivity(sensor::Sensor *conductivity) { conductivity_ = conductivity; } | ||||||
|   void set_illuminance(sensor::Sensor *illuminance) { illuminance_ = illuminance; } |   void set_illuminance(sensor::Sensor *illuminance) { illuminance_ = illuminance; } | ||||||
|  |   void set_battery_level(sensor::Sensor *battery_level) { battery_level_ = battery_level; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   uint64_t address_; |   uint64_t address_; | ||||||
| @@ -29,6 +30,7 @@ class XiaomiHHCCJCY01 : public Component, public esp32_ble_tracker::ESPBTDeviceL | |||||||
|   sensor::Sensor *moisture_{nullptr}; |   sensor::Sensor *moisture_{nullptr}; | ||||||
|   sensor::Sensor *conductivity_{nullptr}; |   sensor::Sensor *conductivity_{nullptr}; | ||||||
|   sensor::Sensor *illuminance_{nullptr}; |   sensor::Sensor *illuminance_{nullptr}; | ||||||
|  |   sensor::Sensor *battery_level_{nullptr}; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| }  // namespace xiaomi_hhccjcy01 | }  // namespace xiaomi_hhccjcy01 | ||||||
|   | |||||||
| @@ -101,6 +101,8 @@ sensor: | |||||||
|       name: "Xiaomi HHCCJCY01 Illuminance" |       name: "Xiaomi HHCCJCY01 Illuminance" | ||||||
|     conductivity: |     conductivity: | ||||||
|       name: "Xiaomi HHCCJCY01 Soil Conductivity" |       name: "Xiaomi HHCCJCY01 Soil Conductivity" | ||||||
|  |     battery_level: | ||||||
|  |       name: "Xiaomi HHCCJCY01 Battery Level" | ||||||
|   - platform: xiaomi_lywsdcgq |   - platform: xiaomi_lywsdcgq | ||||||
|     mac_address: 7A:80:8E:19:36:BA |     mac_address: 7A:80:8E:19:36:BA | ||||||
|     temperature: |     temperature: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user