This commit is contained in:
Václav Španinger 2024-12-27 11:35:43 +01:00
parent e04fd29b1d
commit 1d31a8b63f
2 changed files with 31 additions and 9 deletions

21
README.md Normal file
View File

@ -0,0 +1,21 @@
# A component that reads CSV values from the uart.
A configured uart is required.
Configure a list of sensors. The index is required, the rest is the standard sensor config.
Example:
```yaml
sensor:
- platform: serial_csv
uart_id: my_uart # optional
sensors:
- index: 0
name: First value
- index: 3
name: Fourth value
```
https://github.com/ssieb/esphome_components/tree/master/components/serial_csv
https://github.com/esphome/esphome/blob/dev/esphome/components/dht/sensor.py#L34

View File

@ -3,25 +3,26 @@ import esphome.config_validation as cv
from esphome import automation from esphome import automation
from esphome.components import uart from esphome.components import uart
from esphome.components import sensor from esphome.components import sensor
from esphome.const import CONF_ID, CONF_INDEX, CONF_SENSORS from esphome.const import CONF_ID, CONF_INDEX, CONF_SENSORS, CONF_HUMIDITY, CONF_MODEL, CONF_PIN, CONF_TEMPERATURE, STATE_CLASS_MEASUREMENT, UNIT_CELSIUS, UNIT_PERCENT, DEVICE_CLASS_TEMPERATURE
CODEOWNERS = ["@ssieb"] CODEOWNERS = ["@jonatanrek"]
DEPENDENCIES = ['uart'] DEPENDENCIES = ['uart']
serial_ns = cg.esphome_ns.namespace('serial') serial_ns = cg.esphome_ns.namespace('serial')
SerialCSV = serial_ns.class_('SerialCSV', cg.Component, sensor.Sensor, uart.UARTDevice) Marlin2 = serial_ns.class_('Marlin2', cg.Component, sensor.Sensor, uart.UARTDevice)
CONFIG_SCHEMA = uart.UART_DEVICE_SCHEMA.extend( CONFIG_SCHEMA = uart.UART_DEVICE_SCHEMA.extend(
{ {
cv.GenerateID(): cv.declare_id(SerialCSV), cv.GenerateID(): cv.declare_id(Marlin2),
cv.Required(CONF_SENSORS): cv.ensure_list( cv.Required(CONF_SENSORS): cv.ensure_list(
sensor.SENSOR_SCHEMA.extend( cv.Optional("bed_current"): sensor.sensor_schema(
{ unit_of_measurement=UNIT_CELSIUS,
cv.Required(CONF_INDEX): cv.positive_int, accuracy_decimals=1,
} device_class=DEVICE_CLASS_TEMPERATURE,
) state_class=STATE_CLASS_MEASUREMENT,
),
), ),
} }
) )