From ccb215e7250297eb03b9282c9fee05ce1c6683c0 Mon Sep 17 00:00:00 2001 From: HB Date: Wed, 30 Sep 2020 03:14:08 +0200 Subject: [PATCH] empty i2c sensor and empty spi sensor --- .../empty_i2c_sensor/empty_i2c_sensor.cpp | 22 ++++++++++++++++ .../empty_i2c_sensor/empty_i2c_sensor.h | 18 +++++++++++++ custom_components/empty_i2c_sensor/sensor.py | 20 ++++++++++++++ .../empty_spi_sensor/empty_spi_sensor.cpp | 26 +++++++++++++++++++ .../empty_spi_sensor/empty_spi_sensor.h | 22 ++++++++++++++++ custom_components/empty_spi_sensor/sensor.py | 22 ++++++++++++++++ test_empty.yaml | 7 +++++ 7 files changed, 137 insertions(+) create mode 100644 custom_components/empty_i2c_sensor/empty_i2c_sensor.cpp create mode 100644 custom_components/empty_i2c_sensor/empty_i2c_sensor.h create mode 100644 custom_components/empty_i2c_sensor/sensor.py create mode 100644 custom_components/empty_spi_sensor/empty_spi_sensor.cpp create mode 100644 custom_components/empty_spi_sensor/empty_spi_sensor.h create mode 100644 custom_components/empty_spi_sensor/sensor.py diff --git a/custom_components/empty_i2c_sensor/empty_i2c_sensor.cpp b/custom_components/empty_i2c_sensor/empty_i2c_sensor.cpp new file mode 100644 index 0000000..16928f7 --- /dev/null +++ b/custom_components/empty_i2c_sensor/empty_i2c_sensor.cpp @@ -0,0 +1,22 @@ +#include "esphome/core/log.h" +#include "empty_i2c_sensor.h" + +namespace esphome { +namespace empty_i2c_sensor { + +static const char *TAG = "empty_i2c_sensor.sensor"; + +void EmptyI2CSensor::setup(){ + +} + +void EmptyI2CSensor::update(){ + +} + +void EmptyI2CSensor::dump_config(){ + +} + +} // namespace EmptyI2CSensor +} // namespace esphome \ No newline at end of file diff --git a/custom_components/empty_i2c_sensor/empty_i2c_sensor.h b/custom_components/empty_i2c_sensor/empty_i2c_sensor.h new file mode 100644 index 0000000..38aa9b4 --- /dev/null +++ b/custom_components/empty_i2c_sensor/empty_i2c_sensor.h @@ -0,0 +1,18 @@ +#pragma once + +#include "esphome/core/component.h" +#include "esphome/components/sensor/sensor.h" +#include "esphome/components/i2c/i2c.h" + +namespace esphome { +namespace empty_i2c_sensor { + +class EmptyI2CSensor : public sensor::Sensor, public PollingComponent, public i2c::I2CDevice { + public: + void setup() override; + void update() override; + void dump_config() override; +}; + +} // namespace EmptyI2CSensor +} // namespace esphome \ No newline at end of file diff --git a/custom_components/empty_i2c_sensor/sensor.py b/custom_components/empty_i2c_sensor/sensor.py new file mode 100644 index 0000000..d56ba3c --- /dev/null +++ b/custom_components/empty_i2c_sensor/sensor.py @@ -0,0 +1,20 @@ +import esphome.codegen as cg +import esphome.config_validation as cv +from esphome.components import i2c, sensor +from esphome.const import CONF_ID, ICON_EMPTY, UNIT_EMPTY + +DEPENDENCIES = ['i2c'] + +empty_i2c_sensor_ns = cg.esphome_ns.namespace('empty_i2c_sensor') +EmptyI2CSensor = empty_i2c_sensor_ns.class_('EmptyI2CSensor', cg.PollingComponent, i2c.I2CDevice) + +CONFIG_SCHEMA = sensor.sensor_schema(UNIT_EMPTY, ICON_EMPTY, 1).extend({ + cv.GenerateID(): cv.declare_id(EmptyI2CSensor), +}).extend(cv.polling_component_schema('60s')).extend(i2c.i2c_device_schema(0x5A)) + +def to_code(config): + var = cg.new_Pvariable(config[CONF_ID]) + yield cg.register_component(var, config) + yield sensor.register_sensor(var, config) + yield i2c.register_i2c_device(var, config) + \ No newline at end of file diff --git a/custom_components/empty_spi_sensor/empty_spi_sensor.cpp b/custom_components/empty_spi_sensor/empty_spi_sensor.cpp new file mode 100644 index 0000000..0846076 --- /dev/null +++ b/custom_components/empty_spi_sensor/empty_spi_sensor.cpp @@ -0,0 +1,26 @@ +#include "esphome/core/log.h" +#include "empty_spi_sensor.h" + +namespace esphome { +namespace empty_spi_sensor { + +static const char *TAG = "empty_spi_sensor.sensor"; + +void EmptySPISensor::setup() { + +} + +void EmptySPISensor::update() { + +} + +void EmptySPISensor::loop() { + +} + +void EmptySPISensor::dump_config(){ + ESP_LOGCONFIG(TAG, "Empty SPI sensor"); +} + +} // namespace empty_spi_sensor +} // namespace esphome \ No newline at end of file diff --git a/custom_components/empty_spi_sensor/empty_spi_sensor.h b/custom_components/empty_spi_sensor/empty_spi_sensor.h new file mode 100644 index 0000000..54bf0e2 --- /dev/null +++ b/custom_components/empty_spi_sensor/empty_spi_sensor.h @@ -0,0 +1,22 @@ +#pragma once + +#include "esphome/core/component.h" +#include "esphome/components/sensor/sensor.h" +#include "esphome/components/spi/spi.h" + +namespace esphome { +namespace empty_spi_sensor { + +class EmptySPISensor : public sensor::Sensor, + public PollingComponent, + public spi::SPIDevice { + public: + void setup() override; + void update() override; + void loop() override; + void dump_config() override; +}; + +} // namespace empty_spi_sensor +} // namespace esphome \ No newline at end of file diff --git a/custom_components/empty_spi_sensor/sensor.py b/custom_components/empty_spi_sensor/sensor.py new file mode 100644 index 0000000..2b562fa --- /dev/null +++ b/custom_components/empty_spi_sensor/sensor.py @@ -0,0 +1,22 @@ +import esphome.codegen as cg +import esphome.config_validation as cv +from esphome.components import spi, sensor +from esphome.const import CONF_ID, ICON_EMPTY, UNIT_EMPTY + +DEPENDENCIES = ['spi'] + +empty_spi_sensor_ns = cg.esphome_ns.namespace('empty_spi_sensor') +EmptySPISensor = empty_spi_sensor_ns.class_('EmptySPISensor', cg.PollingComponent, + spi.SPIDevice) + +CONFIG_SCHEMA = sensor.sensor_schema(UNIT_EMPTY, ICON_EMPTY, 1).extend({ + cv.GenerateID(): cv.declare_id(EmptySPISensor), +}).extend(cv.polling_component_schema('60s')).extend(spi.spi_device_schema()) + + +def to_code(config): + var = cg.new_Pvariable(config[CONF_ID]) + yield cg.register_component(var, config) + yield sensor.register_sensor(var, config) + yield spi.register_spi_device(var, config) + \ No newline at end of file diff --git a/test_empty.yaml b/test_empty.yaml index 0f4bebf..bb7db56 100644 --- a/test_empty.yaml +++ b/test_empty.yaml @@ -5,6 +5,13 @@ sensor: - platform: empty_sensor id: empty_sensor_1 + - platform: empty_i2c_sensor + id: empty_i2c_sensor_1 + + - platform: empty_spi_sensor + id: empty_spi_sensor_1 + cs_pin: D8 + binary_sensor: - platform: empty_binary_sensor id: empty_binary_sensor_1