mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Add resistance_sampler interface for config validation (#5718)
This commit is contained in:
		| @@ -246,6 +246,7 @@ esphome/components/radon_eye_rd200/* @jeffeb3 | |||||||
| esphome/components/rc522/* @glmnet | esphome/components/rc522/* @glmnet | ||||||
| esphome/components/rc522_i2c/* @glmnet | esphome/components/rc522_i2c/* @glmnet | ||||||
| esphome/components/rc522_spi/* @glmnet | esphome/components/rc522_spi/* @glmnet | ||||||
|  | esphome/components/resistance_sampler/* @jesserockz | ||||||
| esphome/components/restart/* @esphome/core | esphome/components/restart/* @esphome/core | ||||||
| esphome/components/rf_bridge/* @jesserockz | esphome/components/rf_bridge/* @jesserockz | ||||||
| esphome/components/rgbct/* @jesserockz | esphome/components/rgbct/* @jesserockz | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ from math import log | |||||||
|  |  | ||||||
| import esphome.config_validation as cv | import esphome.config_validation as cv | ||||||
| import esphome.codegen as cg | import esphome.codegen as cg | ||||||
| from esphome.components import sensor | from esphome.components import sensor, resistance_sampler | ||||||
| from esphome.const import ( | from esphome.const import ( | ||||||
|     CONF_CALIBRATION, |     CONF_CALIBRATION, | ||||||
|     CONF_REFERENCE_RESISTANCE, |     CONF_REFERENCE_RESISTANCE, | ||||||
| @@ -15,6 +15,8 @@ from esphome.const import ( | |||||||
|     UNIT_CELSIUS, |     UNIT_CELSIUS, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | AUTO_LOAD = ["resistance_sampler"] | ||||||
|  |  | ||||||
| ntc_ns = cg.esphome_ns.namespace("ntc") | ntc_ns = cg.esphome_ns.namespace("ntc") | ||||||
| NTC = ntc_ns.class_("NTC", cg.Component, sensor.Sensor) | NTC = ntc_ns.class_("NTC", cg.Component, sensor.Sensor) | ||||||
|  |  | ||||||
| @@ -124,7 +126,7 @@ CONFIG_SCHEMA = ( | |||||||
|     ) |     ) | ||||||
|     .extend( |     .extend( | ||||||
|         { |         { | ||||||
|             cv.Required(CONF_SENSOR): cv.use_id(sensor.Sensor), |             cv.Required(CONF_SENSOR): cv.use_id(resistance_sampler.ResistanceSampler), | ||||||
|             cv.Required(CONF_CALIBRATION): process_calibration, |             cv.Required(CONF_CALIBRATION): process_calibration, | ||||||
|         } |         } | ||||||
|     ) |     ) | ||||||
|   | |||||||
| @@ -1,7 +1,8 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include "esphome/core/component.h" | #include "esphome/components/resistance_sampler/resistance_sampler.h" | ||||||
| #include "esphome/components/sensor/sensor.h" | #include "esphome/components/sensor/sensor.h" | ||||||
|  | #include "esphome/core/component.h" | ||||||
|  |  | ||||||
| namespace esphome { | namespace esphome { | ||||||
| namespace resistance { | namespace resistance { | ||||||
| @@ -11,7 +12,7 @@ enum ResistanceConfiguration { | |||||||
|   DOWNSTREAM, |   DOWNSTREAM, | ||||||
| }; | }; | ||||||
|  |  | ||||||
| class ResistanceSensor : public Component, public sensor::Sensor { | class ResistanceSensor : public Component, public sensor::Sensor, resistance_sampler::ResistanceSampler { | ||||||
|  public: |  public: | ||||||
|   void set_sensor(Sensor *sensor) { sensor_ = sensor; } |   void set_sensor(Sensor *sensor) { sensor_ = sensor; } | ||||||
|   void set_configuration(ResistanceConfiguration configuration) { configuration_ = configuration; } |   void set_configuration(ResistanceConfiguration configuration) { configuration_ = configuration; } | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| 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 | from esphome.components import sensor, resistance_sampler | ||||||
| from esphome.const import ( | from esphome.const import ( | ||||||
|     CONF_SENSOR, |     CONF_SENSOR, | ||||||
|     STATE_CLASS_MEASUREMENT, |     STATE_CLASS_MEASUREMENT, | ||||||
| @@ -8,8 +8,15 @@ from esphome.const import ( | |||||||
|     ICON_FLASH, |     ICON_FLASH, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | AUTO_LOAD = ["resistance_sampler"] | ||||||
|  |  | ||||||
| resistance_ns = cg.esphome_ns.namespace("resistance") | resistance_ns = cg.esphome_ns.namespace("resistance") | ||||||
| ResistanceSensor = resistance_ns.class_("ResistanceSensor", cg.Component, sensor.Sensor) | ResistanceSensor = resistance_ns.class_( | ||||||
|  |     "ResistanceSensor", | ||||||
|  |     cg.Component, | ||||||
|  |     sensor.Sensor, | ||||||
|  |     resistance_sampler.ResistanceSampler, | ||||||
|  | ) | ||||||
|  |  | ||||||
| CONF_REFERENCE_VOLTAGE = "reference_voltage" | CONF_REFERENCE_VOLTAGE = "reference_voltage" | ||||||
| CONF_CONFIGURATION = "configuration" | CONF_CONFIGURATION = "configuration" | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								esphome/components/resistance_sampler/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								esphome/components/resistance_sampler/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | import esphome.codegen as cg | ||||||
|  |  | ||||||
|  | resistance_sampler_ns = cg.esphome_ns.namespace("resistance_sampler") | ||||||
|  | ResistanceSampler = resistance_sampler_ns.class_("ResistanceSampler") | ||||||
|  |  | ||||||
|  | CODEOWNERS = ["@jesserockz"] | ||||||
							
								
								
									
										10
									
								
								esphome/components/resistance_sampler/resistance_sampler.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								esphome/components/resistance_sampler/resistance_sampler.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | namespace esphome { | ||||||
|  | namespace resistance_sampler { | ||||||
|  |  | ||||||
|  | /// Abstract interface to mark components that provide resistance values. | ||||||
|  | class ResistanceSampler {}; | ||||||
|  |  | ||||||
|  | }  // namespace resistance_sampler | ||||||
|  | }  // namespace esphome | ||||||
		Reference in New Issue
	
	Block a user