mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	Add CSE776 for Sonoff Pow R2 (#190)
This commit is contained in:
		
							
								
								
									
										42
									
								
								esphomeyaml/components/sensor/cse7766.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								esphomeyaml/components/sensor/cse7766.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | |||||||
|  | import voluptuous as vol | ||||||
|  |  | ||||||
|  | from esphomeyaml.components import sensor | ||||||
|  | from esphomeyaml.components.uart import UARTComponent | ||||||
|  | import esphomeyaml.config_validation as cv | ||||||
|  | from esphomeyaml.const import CONF_CURRENT, CONF_ID, CONF_NAME, CONF_POWER, CONF_UART_ID, \ | ||||||
|  |     CONF_VOLTAGE | ||||||
|  | from esphomeyaml.helpers import App, Pvariable, get_variable | ||||||
|  |  | ||||||
|  | DEPENDENCIES = ['uart'] | ||||||
|  |  | ||||||
|  | CSE7766Component = sensor.sensor_ns.CSE7766Component | ||||||
|  |  | ||||||
|  | PLATFORM_SCHEMA = vol.All(sensor.PLATFORM_SCHEMA.extend({ | ||||||
|  |     cv.GenerateID(): cv.declare_variable_id(CSE7766Component), | ||||||
|  |     cv.GenerateID(CONF_UART_ID): cv.use_variable_id(UARTComponent), | ||||||
|  |  | ||||||
|  |     vol.Optional(CONF_VOLTAGE): cv.nameable(sensor.SENSOR_SCHEMA), | ||||||
|  |     vol.Optional(CONF_CURRENT): cv.nameable(sensor.SENSOR_SCHEMA), | ||||||
|  |     vol.Optional(CONF_POWER): cv.nameable(sensor.SENSOR_SCHEMA), | ||||||
|  | }), cv.has_at_least_one_key(CONF_VOLTAGE, CONF_CURRENT, CONF_POWER)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def to_code(config): | ||||||
|  |     for uart in get_variable(config[CONF_UART_ID]): | ||||||
|  |         yield | ||||||
|  |  | ||||||
|  |     rhs = App.make_cse7766(uart) | ||||||
|  |     cse = Pvariable(config[CONF_ID], rhs) | ||||||
|  |  | ||||||
|  |     if CONF_VOLTAGE in config: | ||||||
|  |         conf = config[CONF_VOLTAGE] | ||||||
|  |         sensor.register_sensor(cse.make_voltage_sensor(conf[CONF_NAME]), conf) | ||||||
|  |     if CONF_CURRENT in config: | ||||||
|  |         conf = config[CONF_CURRENT] | ||||||
|  |         sensor.register_sensor(cse.make_current_sensor(conf[CONF_NAME]), conf) | ||||||
|  |     if CONF_POWER in config: | ||||||
|  |         conf = config[CONF_POWER] | ||||||
|  |         sensor.register_sensor(cse.make_power_sensor(conf[CONF_NAME]), conf) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | BUILD_FLAGS = '-DUSE_CSE7766' | ||||||
| @@ -77,6 +77,13 @@ sensor: | |||||||
|     name: "MQTT Subscribe Sensor 1" |     name: "MQTT Subscribe Sensor 1" | ||||||
|     topic: "mqtt/topic" |     topic: "mqtt/topic" | ||||||
|     qos: 2 |     qos: 2 | ||||||
|  |   - platform: cse7766 | ||||||
|  |     voltage: | ||||||
|  |       name: "CSE7766 Voltage" | ||||||
|  |     current: | ||||||
|  |       name: "CSE7766 Current" | ||||||
|  |     power: | ||||||
|  |       name: "CSE776 Power" | ||||||
|  |  | ||||||
| esp32_touch: | esp32_touch: | ||||||
|   setup_mode: True |   setup_mode: True | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user