Hi, ich bin in der Zwischenzeit mit viel Trial and Error fast am Ziel angekommen. Hier meine YAML für den ESP32 mit CC1101
esphome:
name: esp-32-test
friendly_name: ESP-32 Test
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
id: appslogger
level: debug
api:
encryption:
key: "*****************"
ota:
- platform: esphome
password: "*********"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "**************"
password: "**************"
captive_portal:
web_server:
port: 80
external_components:
- source: github://SzczepanLeon/esphome-components@main
components: [wmbus]
wmbus:
mosi_pin: GPIO23 # D23 auf ESP32
miso_pin: GPIO19 # D19 auf ESP32
clk_pin: GPIO18 # D18 auf ESP32
cs_pin: GPIO5 # D5 auf ESP32
gdo0_pin: GPIO16 # RX2 auf ESP32
gdo2_pin: GPIO17 # TX2 auf ESP32
# led_pin: GPIO2
all_drivers: True
log_all: True
sensor:
- platform: wmbus
meter_id: 0x57675018
type: izar # Specify the meter type
key: "" # Add encryption key if required
sensors:
- name: "Wasser"
id: water
field: "total"
unit_of_measurement: "m³"
state_class: "total_increasing"
device_class: "water"
accuracy_decimals: 3
icon: "mdi:water"
on_value:
then:
- text_sensor.template.publish:
id: water_last_update
state: !lambda 'return id(sntp_time).now().strftime("%Y-%m-%d %H:%M:%S");'
time:
- platform: sntp
id: sntp_time
timezone: Europe/Sofia
servers:
- 0.pool.ntp.org
- 1.pool.ntp.org
- 2.pool.ntp.org
text_sensor:
- platform: version
name: "ESPHome Version"
- platform: template
name: "Wasserzähler Letztes Update"
id: water_last_update
#status_led:
# pin:
# number: GPIO2
# inverted: false
Entscheidend war diese Zeile, die in einem anderen Post mit anderem Ziel angegeben war
external_components:
- source: github://SzczepanLeon/esphome-components@main
components: [wmbus]
Außerdem habe ich den Hinweis aus dem Github Beitrag GitHub - SzczepanLeon/esphome-components befolgt und folgende Zeilen im Code ergänzt
wmbus:
all_drivers: True
log_all: True
Ich habe dann zunächst den Sensor ganz weggelassen und neu compiliert. Ich konnte im Protokoll dann die fehlenden Informationen für den richtigen Treiber und die ID-Nr. herauskopieren und in den Code einfügen. Danach neu compilieren und jetzt bekomme ich folgende Infos:
[15:13:59][I][wmbus:104]: izar [0x57675018] RSSI: -81dBm T: 1944A511780718506757A2511F00134889FC7B4ED6B310A3429C (26) T1 A
[15:13:59][D][meters.cpp:1987]: (meter) created ESPHome izar 57675018 not-encrypted
[15:13:59][D][meters.cpp:911]: (meter) ESPHome(0) izar handling telegram from 57675018.M=DME.V=78.T=07
[15:13:59][D][sensor:094]: 'Wasser': Sending state 743.84998 m³ with 3 decimals of accuracy
[15:13:59][D][text_sensor:064]: 'Wasserzähler Letztes Update': Sending state '2025-03-05 16:13:59'
Damit habe ich den wichtigsten Wert, nämlich den aktuellen Zählerstand und die dazu nötige Zeit für eine Karte in Home Assistant. Aus dem langen String an Hex-Werten wird sich sicherlich noch mehr herausarbeiten lassen, aber das mache ich mal am Wochenende.
Danke für jede Unterstützung, das Forum ist Klasse und ich kann wirklich nur staunen, wie schnell man Hilfe und Antworten bekommen. Weiter so!
Viele Grüße
Jürgen
Eins möchte ich noch ergänzen, letztendlich zum Ziel geführt hat mich der Umstand, dass ich die Fehlermeldungen direkt in https://www.perplexity.ai/
eingegeben habe und mir hier die nötigen Informationen zur Korrektur meiner YAML Zeilen gegeben wurden. Ich kann diese KI wirklich nur empfehlen.