Jak chcesz v4 to polecam coś z ESP32S3.
A jak chcesz najlepiej to UltimateReader
Co to i gdzie to się kupuje?
Skąd wziąć klucz od mojego licznika amiplus tauron? Pisaliście że gdzieś na stronie, ale nie mogę znaleść
Od Taurona - poczytaj na ich stronie.
Usługa HAN została uruchomiona, ale nie dostałem maila z kluczem. Rozumiem że powiniennem go dostać mailem tak?
Powinien być widoczny na stronie, tam gdzie robiłeś aktywację.
Cześć. Po wielu nieudanych próbach udało mi się pomyślnie przejść na wersję 4.x (przyczyną błędów okazała się wadliwa płytka CC1101). To moja konfiguracja dla ESP 32-WROM-32. Działa im odczytuje licznik GAMA 350 typ G35.
Jako, że moja wiedza i umiejętności słabe proszę o podpowiedzi co można poprawić?
captive_portal:
external_components:
- source: github://SzczepanLeon/esphome-components@main
components: [ wmbus ]
refresh: 0d
wmbus:
frequency: 868.950
all_drivers: True
log_all: True
mosi_pin: GPIO13
miso_pin: GPIO12
clk_pin: GPIO14
cs_pin: GPIO15
gdo0_pin: GPIO22
gdo2_pin: GPIO21
led_pin: GPIO0
led_blink_time: 1s
sensor:
- platform: wmbus
meter_id: 0x30635740
type: amiplus
key: "67603392955683394912159766651166"
sensors:
- name: "gamma 350 RSSI"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
- name: "energia pobrana"
field: "total_energy_consumption"
accuracy_decimals: 3
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "total_increasing"
icon: "mdi:flash"
- name: "energia sprzedana"
field: "total_energy_production"
accuracy_decimals: 3
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "total_increasing"
icon: "mdi:transmission-tower-export"
- name: "sprzedaż aktualna"
field: "current_power_production"
accuracy_decimals: 3
unit_of_measurement: "kW"
device_class: "power"
state_class: "measurement"
icon: "mdi:lightning-bolt"
- name: "pobór aktualny"
field: "current_power_consumption"
accuracy_decimals: 3
unit_of_measurement: "kW"
device_class: "power"
state_class: "measurement"
icon: "mdi:flash"
- name: "v1"
field: "voltage_at_phase_1"
accuracy_decimals: 1
unit_of_measurement: "V"
device_class: "voltage"
state_class: "measurement"
icon: "mdi:flash"
- name: "v2"
field: "voltage_at_phase_2"
accuracy_decimals: 1
unit_of_measurement: "V"
device_class: "voltage"
state_class: "measurement"
icon: "mdi:flash"
- name: "v3"
field: "voltage_at_phase_3"
accuracy_decimals: 1
unit_of_measurement: "V"
device_class: "voltage"
state_class: "measurement"
icon: "mdi:flash"
- platform: uptime
name: Uptime Sensor
- platform: wifi_signal
name: "WiFi signal"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
- platform: copy
source_id: wifi_signal_db
name: "WiFi signal %"
filters:
- lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
unit_of_measurement: "%"
entity_category: "diagnostic"
text_sensor:
- platform: wifi_info
ip_address:
name: "IP"
ssid:
name: "SSID"
mac_address:
name: "MAC"
time:
- platform: sntp
id: time_sntp
web_server:
port: 80
Nie wiem co mam źle ustawione:
[19:36:00][I][wmbus:094]: Using selected driver amiplus (detected driver was amiplus)
[19:36:00][I][wmbus:106]: amiplus [0x86044330] RSSI: -88dBm T: 8E4401063043048602027A000080055528149B33AC4EB340F09E07CFA8C8A53E99A4601E681608E9901DAE1C3904360D7C1CD1E0263D50A9AE0E3C96BCA4298832AF1986532785E5DA4F681E6AAA3C1913EAA0BAF9121F15AC18DE4ECAB37B02E230CA2D0466D7D4B5059FA3F40087BE67EFBC0EBAF7C3076F57CB1F306F5C41FB2A4D6A00EEB5657BD7B7F78DA3C9 (143) T1 A
[19:36:01][D][meters.cpp:1989]: (meter) created ESPHome amiplus 86044330 encrypted
[19:36:01][D][meters.cpp:913]: (meter) ESPHome(0) amiplus handling telegram from 86044330.M=APA.V=02.T=02
[19:36:01][W][Telegram.cpp:1832]: (wmbus) WARNING!! decrypted content failed check, did you use the correct decryption key? Permanently ignoring telegrams from id: 86044330 mfct: (APA) Apator, Poland (0x601) type: Electricity meter (0x02) ver: 0x02
[19:36:02][W][wmbus:156]: Can't get requested field 'current_power_consumption' with unit 'kw'
[19:36:02][W][wmbus:156]: Can't get requested field 'current_power_production' with unit 'kw'
[19:36:02][D][sensor:094]: 'TauronLicznik': Sending state -88.00000 dBm with 0 decimals of accuracy
[19:36:02][W][wmbus:156]: Can't get requested field 'total_energy_consumption' with unit 'kwh'
[19:36:02][W][wmbus:156]: Can't get requested field 'total_energy_production' with unit 'kwh'
[19:36:02][W][component:237]: Component wmbus took a long time for an operation (147 ms).
[19:36:02][W][component:238]: Components should block for at most 30 ms.
Klucz skopiowałem z elicznika
- platform: wmbus
meter_id: 0x86044330
type: amiplus
key: "374F4343694675766770645034643142"
sensors:
- name: "TauronLicznik"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
- name: "current power consumption kw"
field: "current_power_consumption"
accuracy_decimals: 1
unit_of_measurement: "kw"
device_class: "power"
state_class: "measurement"
icon: "mdi:transmission-tower-import"
- name: "current power production kw"
field: "current_power_production"
accuracy_decimals: 1
unit_of_measurement: "kw"
device_class: "power"
state_class: "measurement"
icon: "mdi:transmission-tower-import"
- name: "total energy production kwh"
field: "total_energy_production"
accuracy_decimals: 3
unit_of_measurement: "kwh"
device_class: "energy"
state_class: "total_increasing"
icon: "mdi:transmission-tower-import"
- name: "total energy consumption kwh"
field: "total_energy_consumption"
accuracy_decimals: 3
unit_of_measurement: "kwh"
device_class: "energy"
state_class: "total_increasing"
icon: "mdi:transmission-tower-import"
Jak byk w logu stoi:
[19:36:01][W][Telegram.cpp:1832]: (wmbus) WARNING!! decrypted content failed check, did you use the correct decryption key? Permanently ignoring telegrams from id: 86044330 mfct: (APA) Apator, Poland (0x601) type: Electricity meter (0x02) ver: 0x02
Hehe tak. To widziałem. Raczej zastanawiałem się dlaczego tak jest skoro skopiowałem klucz ze strony, ale doczytałem już że czasem podają błędny kod. Poprosiłem Tauron o nowy klucz.
EDIT: dostałem nowy klucz, niestety też nie działa. Do trzech razy sztuka?
Niestety próbowałem kilka razy dezaktywować i aktywować ponownie HAN, za każdym razem dostawałem nowy klucz i za każdym razem nie działał. Macie jakiś pomysł? Pisałem do dystrybucji prośbę o sprawdzenie, ale mają miesiąc na odpowiedź.
Auto driver : amiplus
Similar driver : unknown 00/00
Using driver : amiplus 00/00
000 : 8e length (142 bytes)
001 : 44 dll-c (from meter SND_NR)
002 : 0106 dll-mfct (APA)
004 : 30430486 dll-id (86044330)
008 : 02 dll-version
009 : 02 dll-type (Electricity meter)
010 : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
011 : 00 tpl-acc-field
012 : 00 tpl-sts-field (OK)
013 : 8005 tpl-cfg 0580 (AES_CBC_IV nb=8 cntn=0 ra=0 hc=0 )
015 : fe8b decrypt check bytes (ERROR should be 2f2f)
017 CE: 1E96578ADADFDF8BD83A8BA9C906BEDD323208A86D1E5F9DC42A8EB410E2AFCBECC90216CFAF5314F3CDF1DAC4664E5CA05179E61F3AF3461A8E7B2CF92329D2F6B44A96BA71AB793B2D96D0009103964D0192C2D57E60A3D4DB2039F31872A2CE658EEA8B043832D707404F23B556488DF080A4884F2B528AB271300F11
**failed decryption. Wrong key?**
{
"_":"telegram",
"media":"electricity",
"meter":"amiplus",
"name":"",
"id":"86044330",
"timestamp":"1970-01-01T00:00:00Z"
}
Using: wmbusmeters: 1.18.0-31-g6d3b3e5
6d3b3e5f233cbfc8cfd9bac99d3f845496330e5f
Hi thanks for your Feedback, back in January. Finally I found the time for setup,
Sofar so good. wmbus is running and I´m able t receive Telegrams. WMBusmeters Analyze Telegram
is also work with microlima.
However, Telegrams are not send to MQTT with values.
I do receive
[18:43:09][W][wmbus:126]: Link mode C1 not supported in driver microclima
and was wondering if I have missed a step during sensor setup. as it seems mode is not available anymore.
thanks for any suggestions
Share YAML and full log.
@_Szczepan Thanks for your feedback.
please find below.
Edit: actallay its a itronheat meter
esphome:
name: "esp-wmbus-xx10"
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
level: DEBUG
# Enable Home Assistant API
api:
#password: "xxx"
encryption:
key: !secret api_encryption_key
mqtt:
broker: 192.168.12.20
port: 1883
username: !secret mqtt_username
password: !secret mqtt_password
client_id: emshome-wmbus-xx10
topic_prefix: emshome-wmbus-xx10
web_server:
port: 80
version: 3
auth:
username: !secret web_username
password: !secret web_password
ota:
- platform: esphome
password: !secret ota_passowrd
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: light
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp-Wmbus-Fallback"
password: "xxxxx"
time:
- platform: sntp
id: time_sntp
external_components:
- source: github://SzczepanLeon/esphome-components@main
refresh: 0d
components: [ wmbus ]
wmbus:
#mosi_pin: GPIO13
#miso_pin: GPIO5
#clk_pin: GPIO2
#cs_pin: GPIO14
#gdo0_pin: GPIO15
#gdo2_pin: GPIO16
mosi_pin: GPIO13 # blue - 6
clk_pin: GPIO14 # purple - 5
miso_pin: GPIO12 # green - 7
gdo2_pin: GPIO22 # gray -
gdo0_pin: GPIO21 # yellow - 3
cs_pin: GPIO15 # orange - 4
# gnd: GND # black - 1
# vcc: 3V3 # red - 2
led_pin: GPIO0
led_blink_time: "1s"
frequency: 868.950
all_drivers: false
sync_mode: false
log_all: true
# mqtt:
# broker: 192.168.12.20
# port: 1883
# username: !secret mqtt_username
# password: !secret mqtt_password
# client_id: emshome-wmbus-xx10
# topic_prefix: emshome-wmbus-xx10
sensor:
# add driver to compile list (will be available for autodetect), don't create sensor
- platform: wmbus
type: itron
# add sensor with defined type (driver will be also added to compile list)
- platform: wmbus
meter_id: 0x12345678
type: microclima
key: "00000000000000000000000000000000"
# mode: C1
sensors:
# - name: "WMZ-Fltg - Signal"
# field: "rssi"
# accuracy_decimals: 0
# unit_of_measurement: "dBm"
# device_class: "signal_strength"
# state_class: "measurement"
# entity_category: "diagnostic"
- name: "WMZ-Fltg - Status"
field: "status"
accuracy_decimals: 0
unit_of_measurement: ""
device_class: ""
state_class: ""
icon: ""
- name: "WMZ-Fltg - Total Engery"
field: "total_energy_consumption"
accuracy_decimals: 0
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "total_increasing"
icon: "mdi:heating-coil"
- name: "WMZ-Fltg - Total Volume"
field: "total_volume_m3"
accuracy_decimals: 3
unit_of_measurement: "m³"
device_class: "water"
state_class: "total_increasing"
icon: "mdi:water"
- name: "WMZ-Fltg - Total Engery at Set Date"
field: "consumption_at_set_date_{storage_counter}"
accuracy_decimals: 0
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "measurement"
icon: "mdi:heating-coil"
- name: "WMZ-Fltg - Engery Set Date"
field: "set_date_{storage_counter}"
accuracy_decimals: 0
unit_of_measurement: ""
device_class: "date"
state_class: "measurement"
icon: ""
[19:33:17][I][app:100]: ESPHome version 2025.3.3 compiled on Apr 8 2025, 18:18:57
[19:33:17][C][wifi:600]: WiFi:
[19:33:17][C][wifi:428]: Local MAC: D4:8C:49:6A:45:00
[19:33:17][C][wifi:433]: SSID: [redacted]
[19:33:17][C][wifi:436]: IP Address: 192.168.12.24
[19:33:17][C][wifi:440]: BSSID: [redacted]
[19:33:17][C][wifi:441]: Hostname: 'esp-wmbus-xx10'
[19:33:17][C][wifi:443]: Signal strength: -8 dB ▂▄▆█
[19:33:17][C][wifi:447]: Channel: 6
[19:33:17][C][wifi:448]: Subnet: 255.255.255.0
[19:33:17][C][wifi:449]: Gateway: 192.168.12.10
[19:33:17][C][wifi:450]: DNS1: 192.168.12.10
[19:33:17][C][wifi:451]: DNS2: 0.0.0.0
[19:33:17][C][logger:177]: Logger:
[19:33:17][C][logger:178]: Max Level: DEBUG
[19:33:17][C][logger:179]: Initial Level: DEBUG
[19:33:17][C][logger:181]: Log Baud Rate: 115200
[19:33:17][C][logger:182]: Hardware UART: UART0
[19:33:17][C][web_server:285]: Web Server:
[19:33:17][C][web_server:286]: Address: esp-wmbus-xx10.local:80
[19:33:17][C][sntp:042]: SNTP Time:
[19:33:17][C][sntp:045]: Server 0: '0.pool.ntp.org'
[19:33:17][C][sntp:045]: Server 1: '1.pool.ntp.org'
[19:33:17][C][sntp:045]: Server 2: '2.pool.ntp.org'
[19:33:17][C][mdns:116]: mDNS:
[19:33:17][C][mdns:117]: Hostname: esp-wmbus-xx10
[19:33:17][C][esphome.ota:073]: Over-The-Air updates:
[19:33:17][C][esphome.ota:074]: Address: esp-wmbus-xx10.local:3232
[19:33:17][C][esphome.ota:075]: Version: 2
[19:33:17][C][esphome.ota:078]: Password configured
[19:33:17][C][safe_mode:018]: Safe Mode:
[19:33:17][C][safe_mode:020]: Boot considered successful after 60 seconds
[19:33:17][C][safe_mode:021]: Invoke after 10 boot attempts
[19:33:17][C][safe_mode:023]: Remain in safe mode for 300 seconds
[19:33:17][C][wmbus:428]: Duration: 1000 ms
[19:33:17][C][wmbus:431]: Chip ID: 00456A498CD4
[19:33:17][C][wmbus:433]: CC1101 frequency: 868.950 MHz
[19:33:17][C][wmbus:434]: CC1101 SPI bus:
[19:33:17][C][wmbus:438]: MOSI Pin: GPIO13
[19:33:17][C][wmbus:439]: MISO Pin: GPIO12
[19:33:17][C][wmbus:440]: CLK Pin: GPIO14
[19:33:17][C][wmbus:441]: CS Pin: GPIO15
[19:33:17][C][wmbus:442]: GDO0 Pin: GPIO21
[19:33:17][C][wmbus:443]: GDO2 Pin: GPIO22
[19:33:17][C][wmbus:449]: Available drivers: unknown, microclima, itron
[19:33:17][C][wmbus:463]: Meter:
[19:33:17][C][wmbus:464]: ID: 608436769 [0x24440221]
[19:33:17][C][wmbus:465]: Type: microclima
[19:33:17][C][wmbus:466]: Key: '00020108010201660368056502670469'
[19:33:18][C][wmbus:468]: Field: 'consumption_at_set_date_{storage_counter}'
[19:33:18][C][wmbus:468]: Field: 'set_date_{storage_counter}'
[19:33:18][C][wmbus:469]: Name: 'WMZ-Fltg - Engery Set Date'
[19:33:18][C][wmbus:469]: Device Class: 'date'
[19:33:18][C][wmbus:469]: State Class: 'measurement'
[19:33:18][C][wmbus:469]: Unit of Measurement: ''
[19:33:18][C][wmbus:469]: Accuracy Decimals: 0
[19:33:18][C][wmbus:468]: Field: 'status'
[19:33:18][C][wmbus:469]: Name: 'WMZ-Fltg - Status'
[19:33:18][C][wmbus:469]: State Class: ''
[19:33:18][C][wmbus:469]: Unit of Measurement: ''
[19:33:18][C][wmbus:469]: Accuracy Decimals: 0
[19:33:18][C][wmbus:468]: Field: 'total_energy_consumption'
[19:33:18][C][wmbus:469]: Name: 'WMZ-Fltg - Total Engery'
[19:33:18][C][wmbus:469]: Device Class: 'energy'
[19:33:18][C][wmbus:469]: State Class: 'total_increasing'
[19:33:18][C][wmbus:469]: Unit of Measurement: 'kWh'
[19:33:18][C][wmbus:469]: Unit of Measurement: 'm³'
[19:33:18][C][wmbus:469]: Accuracy Decimals: 3
[19:33:18][C][wmbus:469]: Icon: 'mdi:water'
[19:33:20][D][mbus:035]: Received T1 A frame
[19:33:20][I][wmbus:106]: Unknown! [0x75808605] RSSI: -78dBm T: 5344A5110586807576078C007A900F002C25CEC8260049CE0FB3244248107ACC00310710C395242CB3E4B171570BA72E0B7543384F99C0586D964F7123D342092CA683560A807E39571FCE6DB7BB2A94DA5D895E (84) T1 A
[19:33:38][D][mbus:035]: Received T1 A frame
[19:33:38][I][wmbus:106]: Unknown! [0x75808605] RSSI: -77dBm T: 5344A5110586807576078C007A900F002C25CFC8260089B4CFE22620DBAD7ACC0031071004509BAAC5874D9CAE060D757B605C0B4F12252527992B26A498A6878A2A88F6338A5004F7DC87B6066A7DD7C9A82C26 (84) T1 A
[19:34:21][D][mbus:035]: Received T1 A frame
[19:34:21][I][wmbus:106]: Unknown! [0x75808605] RSSI: -77dBm T: 5344A5110586807576078C007A900F002C25D1C826007FD68CD9664184B17ACD003107100644DD7B577F1DFFC89E2C625F2FA9F1485B660E27443EF08589E23A45C5D74EBA889011256D617BB1D9058BC4A11F28 (84) T1 A
[19:35:00][D][mbus:035]: Received T1 A frame
[19:35:00][I][wmbus:106]: Unknown! [0x75808605] RSSI: -78dBm T: 5344A5110586807576078C007A900F002C25D3C82600E726F04221E56D1F7ACE00310710BB4B4D15F0B021A98FBE88F52FFFF38C1A0C5FA5BF35D2EE4FFB14A53C5D9887D17DB9B2A3E5F38F7321D9855DEFFD04 (84) T1 A
[19:35:19][D][mbus:035]: Received T1 A frame
[19:35:19][I][wmbus:106]: Unknown! [0x75808605] RSSI: -78dBm T: 5344A5110586807576078C007A900F002C25D4C826007244474D46DCFA777ACE00310710C0251BAA0246B2A2C495200E8254E50AF0AD8A7AC9FAF2926122CA2FBBDAC3D812EEF482CF8A6983699286D59C7F0A40 (84) T1 A
[19:35:41][D][mbus:035]: Received T1 A frame
[19:35:41][I][wmbus:106]: Unknown! [0x75808605] RSSI: -78dBm T: 5344A5110586807576078C007A900F002C25D5C826005B118C5F1FE270F97ACE003107103E6A31F83ED58BFAACC2A44FF98EB8AF2D6DE92FA56393AACCC60093053F65B6D4A220A2D0580606E534C15C4E471CB3 (84) T1 A
[19:36:38][D][mbus:035]: Received T1 A frame
[19:36:38][I][wmbus:106]: Unknown! [0x75808605] RSSI: -78dBm T: 5344A5110586807576078C007A900F002C25D8C826006D462AF269B38D3E7ACF0031071029863A8EE241095456286363241747272AEA0BD3A508925133B99FA79F8504A0006700F434E6A5ED7798E962502F0832 (84) T1 A
[19:37:01][D][mbus:035]: Received T1 A frame
[19:37:01][I][wmbus:106]: Unknown! [0x75808605] RSSI: -78dBm T: 5344A5110586807576078C007A900F002C25D9C8260073B1C02A536A634D7AD0003107107EDB4EF986741B73519C5921DB69CB1F6A23D4119F38E6A0671D191BBC6C5752AB3B74389071AD941BCEEF58A828BF62 (84) T1 A
[19:38:09][D][mbus:024]: Received C1 B frame
[19:38:09][I][wmbus:094]: Using selected driver microclima (detected driver was )
[19:38:09][I][wmbus:106]: microclima [0x24440221] RSSI: -60dBm T: 444497262102442400047A2D0030A5422E6CEAF447779539160CA50600F7010D2DB539E0B2B9BA8D5BB6BAD2B7D86E76BE93F52042F97E6995667E7FC077FD0C7989884024 (69) C1 B
[19:38:09][W][wmbus:126]: Link mode C1 not supported in driver microclima
[19:38:21][D][mbus:035]: Received T1 A frame
Edit:
wmbusmetrs analyse:
microclima:
telegram=|444497262102442400047A2D0030A52F2F_0406A95100000C1453220900066D1F311228340044060D1E0000426C1F3C0D7FEB0E00000006040C96C500372F2F0C7989884024|
Auto driver : itronheat
Similar driver : microclima 20/38
Using driver : microclima 00/00
000 : 44 length (68 bytes)
001 : 44 dll-c (from meter SND_NR)
002 : 9726 dll-mfct (ITW)
004 : 21024424 dll-id (24440221)
008 : 00 dll-version
009 : 04 dll-type (Heat meter)
010 : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
011 : 2d tpl-acc-field
012 : 00 tpl-sts-field (OK)(OK)
013 : 30a5 tpl-cfg a530 (bidirectional synchronous AES_CBC_IV nb=3 cntn=0 ra=0 hc=0 )
015 : 2f2f decrypt check bytes (OK)
017 : 04 dif (32 Bit Integer/Binary Instantaneous value)
018 : 06 vif (Energy kWh)
019 C!: A9510000 ("total_energy_consumption_kwh":20905)
023 : 0C dif (8 digit BCD Instantaneous value)
024 : 14 vif (Volume 10⁻² m³)
025 C!: 53220900 ("total_volume_m3":922.53)
029 : 06 dif (48 Bit Integer/Binary Instantaneous value)
030 : 6D vif (Date and time type)
031 C!: 1F3112283400 ("meter_datetime":"2025-04-08 18:49:31")
037 : 44 dif (32 Bit Integer/Binary Instantaneous value storagenr=1)
038 : 06 vif (Energy kWh)
039 C!: 0D1E0000 ("consumption_at_set_date_1_kwh":7693)
043 : 42 dif (16 Bit Integer/Binary Instantaneous value storagenr=1)
044 : 6C vif (Date type G)
045 C!: 1F3C ("set_date":"2024-12-31")
047 : 0D dif (variable length Instantaneous value)
048 : 7F vif (Manufacturer specific)
049 : EB varlen=235
050 C?: 0E00000006040C96C500372F2F0C79898840
068 : 24 dif (32 Bit Integer/Binary Minimum value)
{
"_":"telegram",
"media":"heat",
"meter":"microclima",
"name":"",
"id":"24440221",
"consumption_at_set_date_1_kwh":7693,
"set_date_1_date":"2024-12-31",
"total_energy_consumption_kwh":20905,
"total_volume_m3":922.53,
"meter_datetime":"2025-04-08 18:49:31",
"status":"OK",
"timestamp":"2025-04-08T17:44:34Z"
}
Using: wmbusmeters: 1.18.0-31-g6d3b3e5
6d3b3e5f233cbfc8cfd9bac99d3f845496330e5f
Auto driver: itronheat
telegram=|444497262102442400047A2D0030A52F2F_0406A95100000C1453220900066D1F311228340044060D1E0000426C1F3C0D7FEB0E00000006040C96C500372F2F0C7989884024|
Auto driver : itronheat
Similar driver : microclima 20/38
Using driver : itronheat 00/00
000 : 44 length (68 bytes)
001 : 44 dll-c (from meter SND_NR)
002 : 9726 dll-mfct (ITW)
004 : 21024424 dll-id (24440221)
008 : 00 dll-version
009 : 04 dll-type (Heat meter)
010 : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
011 : 2d tpl-acc-field
012 : 00 tpl-sts-field (OK)(OK)
013 : 30a5 tpl-cfg a530 (bidirectional synchronous AES_CBC_IV nb=3 cntn=0 ra=0 hc=0 )
015 : 2f2f decrypt check bytes (OK)
017 : 04 dif (32 Bit Integer/Binary Instantaneous value)
018 : 06 vif (Energy kWh)
019 C!: A9510000 ("total_kwh":20905)
023 : 0C dif (8 digit BCD Instantaneous value)
024 : 14 vif (Volume 10⁻² m³)
025 C!: 53220900 ("total_m3":922.53)
029 : 06 dif (48 Bit Integer/Binary Instantaneous value)
030 : 6D vif (Date and time type)
031 C!: 1F3112283400 ("meter_datetime":"2025-04-08 18:49:31")
037 : 44 dif (32 Bit Integer/Binary Instantaneous value storagenr=1)
038 : 06 vif (Energy kWh)
039 C!: 0D1E0000 ("last_year_kwh":7693)
043 : 42 dif (16 Bit Integer/Binary Instantaneous value storagenr=1)
044 : 6C vif (Date type G)
045 C!: 1F3C ("last_year_date":"2024-12-31")
047 : 0D dif (variable length Instantaneous value)
048 : 7F vif (Manufacturer specific)
049 : EB varlen=235
050 C?: 0E00000006040C96C500372F2F0C79898840
068 : 24 dif (32 Bit Integer/Binary Minimum value)
{
"_":"telegram",
"media":"heat",
"meter":"itronheat",
"name":"",
"id":"24440221",
"last_year_kwh":7693,
"last_year_date":"2024-12-31",
"total_kwh":20905,
"total_m3":922.53,
"meter_datetime":"2025-04-08 18:49:31",
"status":"OK",
"timestamp":"2025-04-08T17:47:13Z"
}
Using: wmbusmeters: 1.18.0-31-g6d3b3e5
6d3b3e5f233cbfc8cfd9bac99d3f845496330e5f
@_Szczepan Thanks for your feedback.
I have shared my yaml and log in my last feedback.
However, in the meantime, I have created driver_itronheat.cpp based on xmq-file from wmbusmeters here
The driver_itronheat.cpp is currently in my fork here
Sofar I´m able to retrieve most of the relevant fields.
such as
sensor:
- total_kwh
- total_m3
- last_year_kwh
- rssi
text_sensor - status
- meter_datetime
The only field I´m not able to read is last_year_date
as text_sensor. with following warning.
[23:18:12][W][wmbus:170]: Can't get requested field 'last_year_date'
I have already tried multiple variation of field name like last_year
which should translate to last_year_date
as well as last_year_date
in yaml wmbus definition.
esphome:
name: "esp-wmbus-xx10"
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
level: DEBUG
# Enable Home Assistant API
api:
encryption:
key: !secret api_encryption_key
mqtt:
broker: 192.168.12.20
port: 1883
username: !secret mqtt_username
password: !secret mqtt_password
client_id: emshome-wmbus-xx10
topic_prefix: emshome-wmbus-xx10
web_server:
port: 80
version: 3
auth:
username: !secret web_username
password: !secret web_password
ota:
- platform: esphome
password: !secret ota_passowrd
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: light
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp-Wmbus-Fallback"
password: "LYNKKmW7P1no"
time:
- platform: sntp
id: time_sntp
external_components:
#- source: github://SzczepanLeon/esphome-components@main
- source: github://Madse/esphome-components@feature/driver_itronheat
refresh: 0d
# refresh: never
components: [ wmbus ]
wmbus:
#mosi_pin: GPIO13
#miso_pin: GPIO5
#clk_pin: GPIO2
#cs_pin: GPIO14
#gdo0_pin: GPIO15
#gdo2_pin: GPIO16
mosi_pin: GPIO13 # x blue - 6
clk_pin: GPIO14 # x purple - 5
miso_pin: GPIO12 # x green - 7
gdo2_pin: GPIO04 # gray - 8 --> GPIO04
gdo0_pin: GPIO05 # yellow - 3 --> GPIO05
cs_pin: GPIO02 # orange - 4 --> GPIO02
# gnd: GND # black - 1 --> right
# vcc: 3V3 # red - 2 --> left
led_pin: GPIO0
led_blink_time: "1s"
frequency: 868.950
all_drivers: false
sync_mode: true
log_all: false
# mqtt:
# broker: 192.168.12.20
# port: 1883
# username: !secret mqtt_username
# password: !secret mqtt_password
# client_id: emshome-wmbus-xx10
# topic_prefix: emshome-wmbus-xx10
sensor:
# add sensor with defined type (driver will be also added to compile list)
- platform: wmbus
meter_id: 0x24440221
type: itronheat
key: !secret meter_key_xx10
sensors:
- name: "WMZ-xx10 - Signal"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
icon: "mdi:wifi"
- name: "WMZ-xx10 - Total Engery"
field: "total"
accuracy_decimals: 0
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "total_increasing"
icon: "mdi:heating-coil"
- name: "WMZ-xx10 - Total Volume"
field: "total"
accuracy_decimals: 3
unit_of_measurement: "m³"
device_class: "water"
state_class: "total_increasing"
icon: "mdi:water"
- name: "WMZ-xx10 - Engery previous year period."
field: "last_year"
accuracy_decimals: 0
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "measurement"
icon: "mdi:heating-coil"
text_sensor:
- platform: wmbus
meter_id: 0x24440221
type: itronheat
sensors:
- name: "WMZ-xx10 - Status"
field: "status"
- name: "WMZ-xx10 - Meter date"
field: "meter_datetime"
device_class: "timestamp"
icon: "mdi:calender"
- name: "WMZ-xx10 - Engery previous billing year"
field: "last_year"
device_class: "date"
icon: "mdi:calender"
Do you have any advice for the missing filed last_year_date?
Witam. Czy w przypadku korekty zużycia wody przez licznik iperl, która powoduje że wartość kolejnego odczytu jest mniejsza niż poprzedzającego może skutkować brakiem odczytu. W Ha w historii i na wykresach w zakładce energia mam dziury w odczytach … kilka wciągu dnia. Z tego co pamiętam wcześniejsze wersje 3 odczytywały wartości “ujemne” i na wykresach słupkowych było to widać. Teraz testuję zmianę ustawienia sensora z total_increase na total. ale niwe wiem czy to pomoże czy problem jest w samej obsłudze ramki z licznika.?
Jeśli masz błędne odczyty to filtruj dane, to jest tylko obejście, ale ono działa .
potrzebuje tu pmocy, mam dwa liczniki jeden główny i za nim drugi ogrodowy, woda domowa to główny - ogrodowy, korzystam z tego
kod
- platform: wmbus
meter_id: 0x00B8B1AF
type: izar
sensors:
- name: "RSSI glowny"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
- name: ${friendly_name3} wodomierz glowny
field: "total"
accuracy_decimals: 3
unit_of_measurement: "m³"
device_class: "water"
state_class: "total_increasing"
icon: "mdi:water"
id: glowny
- platform: wmbus
meter_id: 0x41317A2D
type: izar
sensors:
- name: "RSSI ogrodowy"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
- name: ${friendly_name3} wodomierz ogrodowy
field: "total"
accuracy_decimals: 3
unit_of_measurement: "m³"
device_class: "water"
state_class: "total_increasing"
icon: "mdi:water"
id: ogrodowy
- platform: template
name: ${friendly_name3} wodomierz domowy
lambda: |-
if (id(glowny).has_state() && id(ogrodowy).has_state()) {
return (id(glowny).state - id(ogrodowy).state);
} else {
return {};
}
unit_of_measurement: "m³"
accuracy_decimals: 3
device_class: "water"
state_class: "total_increasing"
icon: "mdi:water"
update_interval: 10s
ale kurka wodna coś źle zlicza mi zużycie domowe jak w tym samym czasie jest pobór ogrodowy, dolicza do domowego zużycie z ogrodowego, jak to poprawnie napisać?
nalicza dobrze, skoro ogród stanowi cześć poboru głównego licznika, jeśli chcesz mieć dom netto, to musisz sobie odejmować jedną wartość od drugiej (utworzyć encję która będzie różnicą, edit - tu była wzmianka o template, ale jednak sam używałem innej konstrukcji)
ja używałem kiedyś takiej konstrukcji
- platform: combination
type: linear
name: "różnica"
sources:
- source: copy_wieksza
coeffecient: 1.0
- source: copy_mniejsza
coeffecient: -1.0
użyte były kopie źródłowych encji (z heartbeat 5sekund, ale nie pamiętam po co i dlaczego), aha przypomniałem sobie dlaczego nie template - bo chyba jinja nie renderuje poprawnie kolejności działań, czy coś-tam innego, ale z odejmowaniem są cyrki (oczywiście możesz sobie stworzyć encję o wartości przeciwnej i dodawać w template, ale skoro istnieją inne rozwiązania i umożliwiają ogarnięcie całego zagadnienia od ręki…)
no ale mam taką emncje:
- platform: template
name: ${friendly_name3} wodomierz domowy
lambda: |-
if (id(glowny).has_state() && id(ogrodowy).has_state()) {
return (id(glowny).state - id(ogrodowy).state);
} else {
return {};
}
unit_of_measurement: "m³"
accuracy_decimals: 3
device_class: "water"
state_class: "total_increasing"
icon: "mdi:water"
update_interval: 10s