From ed09836dd8cd9e72c91e5f8bd282a91eb5ed84f9 Mon Sep 17 00:00:00 2001 From: JonatanRek Date: Sat, 28 Dec 2024 14:14:50 +0100 Subject: [PATCH] Fixes --- README.md | 11 +++++------ image.png | Bin 0 -> 21093 bytes 2 files changed, 5 insertions(+), 6 deletions(-) create mode 100644 image.png diff --git a/README.md b/README.md index b480de5..4846e28 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ -# A component that reads CSV values from the uart. +# A component that reads Marlin status and messages from the uart. +![alt text](image.png) A configured uart is required. -Configure a list of sensors. The index is required, the rest is the standard sensor config. - Example: ```yaml sensor: @@ -21,13 +20,13 @@ sensor: name: Progress ``` - +Notes: * https://github.com/ssieb/esphome_components/tree/master/components/serial_csv * https://github.com/esphome/esphome/blob/dev/esphome/components/dht/sensor.py#L34 * https://github.com/mulcmu/esphome-marlin-uart - -``` +Full COnfiguration: +```yaml esphome: name: vasek-ender-3 friendly_name: vasek-ender-3 diff --git a/image.png b/image.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f8b09e726eda8fc2fdb26eeff379227843b907 GIT binary patch literal 21093 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