Z telegramu. Ten sam jest na obudowie.
Nakładka jest używana, więc nie wiem ile miała natłuczone. Może być taka wartość.
Izar nie ma ID na obudowie. Pokaż fotkę licznika
Jeżeli takiej wartości oczekujesz to moim komponentem nie uzyskasz jej z tej nakładki. Ale jest prosty sposób. Wystarczy że przeniesiesz kod z wmbusmeters’a do driver’a.
Albo do dekodowania wykorzystasz wmbusmeters, a komponent będzie tylko podsyłał telegramy.
Sprawdzę, czy ta wartość się zmienia wraz z przepływem.
Tak czy inaczej jakimś sposobem bmeters jest na liście wspieranych nakładek - czy zatem mam kupić i sprawdzić inną?
Edit:
@Mariusz_Woszczyński
https://wmbusmeters.org/analyze/2944304CBC561421D401A2413101135EDE4147162D79D2548DFFF3F80C67385362D2AB9874E95EBE1F2A
Po zdekodowaniu stan i numer wodomierza zgadzają się ze stanem faktycznym:
{
“media”:“water”,
“meter”:“izar”,
“name”:“”,
“id”:“211456bc”,
“last_month_total_m3”:0,
“remaining_battery_life_y”:8.5,
“total_m3”:830.22,
“transmit_period_s”:8,
“current_alarms”:“meter_blocked”,
“last_month_measure_date”:“2017-01-31”,
“manufacture_year”:“2018”,
“prefix”:“C18UA”,
“previous_alarms”:“mechanical_fraud”,
“serial_number”:“110140”,
“timestamp”:“2023-12-21T19:26:36Z”
}
Z czego wnoszę, że ID jest takie jak podaje wmbusmeters. Takie zresztą widać w nagłówkach telegramu, jeśli odpalę czytnik bez sensorów.
Nie przesadzaj. Korzystasz z używanej nakładki, darmowego komponentu i narzekasz że coś nie działa?!
Masz do wyboru:
- dopisać obsługę tej nakładki (jest to jakiś stary bmeters a komponent wspiera aktualnie tylko nowe)
- kupić coś co wiadomo że będzie działać
- nic nie robić
Wracając do Izara. Interesuje Ciebie ID a nie serial_number. Standardowo, bez logów nic nie powiem. Najlepiej jak by to były VERY_VERBOSE.
ID Izara w konfiguracji ma byc 0x211456BC
Witam,
czytam od 3 tygodni wartości liczników wody z nakładkami apator 16-2. Do dzisiaj nie było problemu z odczytem. Przeprowadzilem ponownie konfigurację ale dalej nie działa poprawnie. Wersja wmbus: [C][wmbus:416]: wM-Bus v2.4.9.
Oto moja konfiguracja:
#dashboard_import:
# package_import_url: github://MariuszWoszczynski/WMBUS-reader/WMBUS-reader.yaml@main
# import_full_config: true
substitutions:
name: "wmbus-reader"
friendly_name: "wmbus-reader"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
project:
name: esphome.wmbus_reader
version: "1.0"
# only for RPI
compile_process_limit: 1
esp32:
board: nodemcu-32s
framework:
type: arduino
external_components:
- source: github://SzczepanLeon/esphome-components@main
components: [ wmbus ]
refresh: 0d
time:
- platform: sntp
id: time_sntp
# Enable logging
logger:
level: debug
# Enable Home Assistant API
api:
encryption:
key: "9p2efbtoh/7izZ93LRVsgSXsL1JAoP07YQeoyATI7IE="
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: none
fast_connect: true
reboot_timeout: 10min
# static IP configuration (instead of data from the secret file)
# ssid: "MY_WIFI"
# password: "0123456789"
# reboot_timeout: 10min
# manual_ip:
# static_ip: 192.168.1.99
# gateway: 192.168.1.1
# subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "WMBUS Reader - Fallback Hotspot"
# password: "password_12345678"
#your mqtt parameters
#mqtt:
# broker: 10.10.10.10
# port: 1883
# username: username
# password: password
captive_portal:
web_server:
port: 80
wmbus:
mosi_pin: GPIO32
clk_pin: GPIO33
miso_pin: GPIO19
gdo2_pin: GPIO21
gdo0_pin: GPIO22
cs_pin: GPIO23
log_unknown: true
led_pin: GPIO2
led_blink_time: "1s"
text_sensor:
# For Apator16-2 water meter please add also text sensor (for debug purposes):
- platform: wmbus
name: "Text debug for Apator 16-2"
#diagnostic info
- platform: wifi_info
ip_address:
name: 'IP Address'
icon: mdi:wifi
ssid:
name: 'Connected SSID'
icon: mdi:wifi-strength-2
sensor:
# Reports the WiFi signal strength/RSSI in dB
- platform: wifi_signal
name: "WiFi Signal dB"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
# first sensor (water) - kitchen
- platform: wmbus
meter_id: 0x01075631
type: apator162
add_prefix: false
key: "00000000000000000000000000000000"
lqi:
name: "My lqi"
rssi:
name: "My RSSI"
total_water_m3:
name: "Licznik wody w kuchni"
# second sensor (water) - bathroom
- platform: wmbus
meter_id: 0x01116796
type: apator162
add_prefix: false
key: "00000000000000000000000000000000"
lqi:
name: "My lqi"
rssi:
name: "My RSSI"
total_water_m3:
name: "Licznik wody w łazience"
# more options on https://github.com/SzczepanLeon/esphome-components
Wartość nie jest poprawnie odczytywana a w logach występują następujące informacje:
[17:43:32][D][sensor:094]: 'WiFi Signal dB': Sending state -26.00000 dBm with 0 decimals of accuracy
[17:43:43][I][wmbus:087]: Using driver 'apator162' for ID [0x01075631] RSSI: -63 dBm LQI: 128 Mode: T1 T: 6E4401063156070105077A22006085668F1EF271E59B26CFCD905BFF8EAEF16C443F1B2FEC59B69D07FF841AEA0F7FD42AC559833A0EEDF0D4C7BFA5FD0E17BE9F0450C4AD62C8EF2C1C9213E00B1E4253217C2E4BF28EB54120FA878B6D7F13410D6E14CAB90ACD9FEE3BE7854E36 (111)
[17:43:43][D][wmbus:094]: Decrypted T : 6E4401063156070105077A220060852F2F0F5F97CC9708000843060A830012F45F97EC01CBED2010C40900007B01C4090000C4090000C4090000C4090000C4BE9F0450C4AD62C8EF2C1C9213E00B1E4253217C2E4BF28EB54120FA878B6D7F13410D6E14CAB90ACD9FEE3BE7854E36 (111)
[17:43:43][D][sensor:094]: 'My lqi': Sending state 128.00000 with 0 decimals of accuracy
[17:43:43][D][sensor:094]: 'My RSSI': Sending state -63.00000 dBm with 0 decimals of accuracy
[17:43:43][D][sensor:094]: 'Licznik wody w kuchni': Sending state 2.50000 m³ with 3 decimals of accuracy
[17:43:43][W][component:214]: Component wmbus took a long time for an operation (0.11 s).
[17:43:43][W][component:215]: Components should block for at most 20-30ms.
[17:44:32][D][sensor:094]: 'WiFi Signal dB': Sending state -26.00000 dBm with 0 decimals of accuracy
[17:45:32][D][sensor:094]: 'WiFi Signal dB': Sending state -27.00000 dBm with 0 decimals of accuracy
[17:45:38][I][wmbus:087]: Using driver 'apator162' for ID [0x01116796] RSSI: -62 dBm LQI: 128 Mode: T1 T: 6E4401069667110105077AF6006085530A48A47CC25B96A32D13FAF504B40C3E649549F8CD4AA74D774D5C44F3BBB7D6E96B0951AD219633E629E02C561241F1B79A8F0D4CCC0E070E46BC7234704FE7755B0AACC813AAA0E627635E1E2ABC8DF4CA634F6275D6BC47C52BE31EA9C0 (111)
[17:45:38][D][wmbus:094]: Decrypted T : 6E4401069667110105077AF60060852F2F0F5F97CC9710020043060A841C6BD914B6F70303000010D27501007B0128620100AE48010002300100771A010060F1B79A8F0D4CCC0E070E46BC7234704FE7755B0AACC813AAA0E627635E1E2ABC8DF4CA634F6275D6BC47C52BE31EA9C0 (111)
[17:45:38][D][sensor:094]: 'My lqi': Sending state 128.00000 with 0 decimals of accuracy
[17:45:38][D][sensor:094]: 'My RSSI': Sending state -62.00000 dBm with 0 decimals of accuracy
[17:45:38][D][sensor:094]: 'Licznik wody w łazience': Sending state 95.69800 m³ with 3 decimals of accuracy
[17:45:38][W][component:214]: Component wmbus took a long time for an operation (0.11 s).
[17:45:38][W][component:215]: Components should block for at most 20-30ms.
[17:46:32][D][sensor:094]: 'WiFi Signal dB': Sending state -27.00000 dBm with 0 decimals of accuracy
[17:47:32][D][sensor:094]: 'WiFi Signal dB': Sending state -27.00000 dBm with 0 decimals of accuracy```
Nie wiem o co chodzi z tym:
Component wmbus took a long time for an operation
Components should block for at most 20-30ms.
Wcześniej nie było tego w logach.
Widzę, że ten problem już się kiedyś pojawił. Czy mogę prosić o wyjaśnienie co się dzieje?
Co jakiś czas odczyt liczników jest aktualizowany. Więc jednak odczytuje pomiary ale jednak inaczej niż wcześniej. Widzę też że była dzisiaj aktualizacja esp czy to może mieć jakiś związek?
Witam
Mi dzisiaj po aktualizacji ESPHOME do ver 2023.12.3 przestało widzieć zdefiniowane encje dla 2 liczników wody a kolejnych dwóch nie spisywało stanów do HA.
Wróciłem do poprzedniej wersji i jest OK
Edit:
Nie zauważyłem nowych encji w HA
Pozdrawiam
Nie zauważyłem jakiś problemów po aktualizacjach ESPHome.
Ja po każdej aktualizacji ESPHome odłączam i podłączam Moduł.
Problem jest w sekcji MQTT
Jeżeli mam w pliku konfiguracyjnym wodomierza sekcję MQTT
mqtt:
broker: 10.0.0.9
port: 1883
username: user_name
password: password
discovery_retain: true
to mam brak telegramów, (w starszych wersjach było ok. Używam 2023.10.6)
Wersje 2023.11.x usunięcie sekcji MQTT i uruchomienie integracji EspHome daje odczyty w integracji. Brak możliwości korzystania MQTT.
Pozdrowienia
Odnośnie?
Co do bmetersa to nie podpowiem, a izar.musi działać. Wywal mqtt, jak podpowiada Darek. Ja mqtt nie używam i u mnie wszystko śmiga
W ogóle to w grudniowych wydaniach ESPHome są breaking changes oraz sporo rzeczy jest zwalonych.
@Mariusz_Woszczyński, w istocie IZAR zadziałał i uzyskałem odczyty sensorów.
@Dariusz_Barczyński wywalenie mqtt pomogło.
Z Bmeters w końcu zdobyłem nową nakładkę i okazało się, że telegramy są prawidłowe, natomiast niestety sensor pokazuje jakąś dziwną wartość (bardziej przypomina rssi niż odczyt), za to w telegramach są prawidłowe dane. Zatem driver jest pewnie niekompatybilny. @_Szczepan planujesz poprawki?
Ostatecznie mógłbym wybrać wariant z wysyłaniem telegramów z bmeters do wmbusmeters ha addon, ale tu pojawia się problem z konfiguracją - nie ma pliku json dla bmeters, jest tylko hydrocalm3.
Może powinienem użyć innego, @_Szczepan?
Edit - wziąłem hydrodigit i ruszyło, ale na razie nie mam odczytów - może nie nadaje ramek. Zobaczymy później.
Edit 2 - mam timestamp z bmeters, ale total nieznany.
Edit 3: meter reading: {“media”:“water”,“meter”:“hydrodigit”,“name”:“WodaK2test”,“id”:“22xxxx”,“timestamp”:“2023-12-31T20:05:45Z”,“device”:“rtlwmbus[cmd_0]”,“rssi_dbm”:-25}
Edit 4:
Telegramy są widoczne w czytniku, ale wmbusmeters addon nie podaje wartości total. Może driver zły? Nie mam pliku z driverem auto…
To fragment logu z czytnika:
[13:21:07][VV][wmbus:057]: have data from CC1101 ...
[13:21:07][I][wmbus:087]: Using driver 'bmeters' for ID [0x22108441] RSSI: -58 dBm LQI: 128 Mode: T1 T: 4E44B4094184102213077A73084005E32D0EBFA24DFFA17E4FF73CED67D802DFE0018E7BEC030105C8913E72A1A918787560B44438E941976A384C0140BE9C09F0E2998D9B17E93F5F2216817C08C9 (79)
[13:21:07][VV][wmbus:089]: Key defined, trying to decrypt telegram ...
[13:21:07][VV][wmbus:290]: Decrypting: tpl-ci '7A' tpl-cfg '540' offset '15
[13:21:07][VV][wmbus:338]: 2F2f check after decrypting - OK
[13:21:07][D][wmbus:094]: Decrypted T : 4E44B4094184102213077A730840052F2F0C1381000000046D152D01310F170A232C291100000002000002000002000002000002000002000002000002000009F0E2998D9B17E93F5F2216817C08C9 (79)
[13:21:07][VV][wmbus-drivers:041]: Converting BCD to INT
[13:21:07][VV][wmbus-drivers:210]: Found register '0C13' with '81'->'0.081000'
[13:21:07][VV][wmbus-drivers:035]: Value added to map
[13:21:07][V][sensor:043]: 'Woda K4bm': Received new state 128.000000
[13:21:07][D][sensor:094]: 'Woda K4bm': Sending state 128.00000 with 0 decimals of accuracy
[13:21:07][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[13:21:07][V][json:058]: Size after shrink 72 bytes
[13:21:07][VV][api.service:140]: send_sensor_state_response: SensorStateResponse {
key: 2382216807
state: 128
missing_state: NO
}
[13:21:07][VV][wmbus:125]: Publishing 'total_water_m3' = 0.0810
[13:21:07][V][sensor:043]: 'woda_k4_bm': Received new state 0.081000
ale niestety nie widać tego w wmbusmteres, a jak włączyć mqtt to w ogóle nie działa…
Może mam błąd w konfiguracji wmbusmetersha addon albo w yamlu? Ktoś coś?
#dashboard_import:
# package_import_url: github://MariuszWoszczynski/WMBUS-reader/WMBUS-reader.yaml@main
# import_full_config: true
substitutions:
name: "wmbus-reader"
friendly_name: "Woda wmbus K4"
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
project:
name: esphome.wmbus_reader
version: "1.0"
# only for RPI
compile_process_limit: 1
esp32:
board: nodemcu-32s
framework:
type: arduino
external_components:
- source: github://SzczepanLeon/esphome-components@main
components: [ wmbus ]
refresh: 0d
time:
- platform: sntp
id: time_sntp
logger:
level: VERY_VERBOSE
api:
ota:
wifi:
ssid: "xxx"
power_save_mode: none
fast_connect: true
reboot_timeout: 10min
password: "xxx"
manual_ip:
static_ip: 192.168.0.64
gateway: 192.168.0.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "WMBUS K4 Fallback"
captive_portal:
web_server:
port: 80
wmbus:
mosi_pin: GPIO32
clk_pin: GPIO33
miso_pin: GPIO19
gdo2_pin: GPIO21
gdo0_pin: GPIO22
cs_pin: GPIO23
log_unknown: true
led_pin: GPIO2
led_blink_time: "1s"
clients:
- name: "wmbusmeters"
ip_address: "192.168.0.94"
port: 7011
format: RTLWMBUS
transport: TCP
sensor:
# Reports the WiFi signal strength/RSSI in dB
- platform: wifi_signal
name: "Woda K4 WiFi Signal"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
- platform: wmbus
meter_id: 0x22108441
type: bmeters
add_prefix: false
key: "00000000000000000000000000000000"
lqi:
name: "Woda K4 LQI"
total_water_m3:
id: "woda_k4_bm"
text_sensor:
#diagnostic info
- platform: wifi_info
ip_address:
name: 'Woda K4 IP'
icon: mdi:wifi
ssid:
name: 'Woda K4 SSID'
icon: mdi:wifi-strength-2
wmbusmeters ha addon działa na porcie 7011 tcp:
device=rtlwmbus:CMD(/usr/bin/nc -lk 7011)
donotprobe=all
format=json
logfile=/config/wmbusmeters/edge/wmbusmeters.log
loglevel=verbose
logtelegrams=true
meterfiles=/config/wmbusmeters/edge/logs/meter_readings/
meterfilesaction=append
shell=/wmbusmeters/mosquitto_pub.sh "wmbusmeters/$METER_NAME" "$METER_JSON"
meter:
driver=hydrodigit
id=22108441
key=00000000000000000000000000000000
name=woda_k4_bm
Przy pustym sensorze mam w logu taki błąd:
[ 29439][E][WiFiClient.cpp:268] connect(): socket error on fd 51, errno: 104, "Connection reset by peer"
[W][component:214]: Component wmbus took a long time for an operation (0.08 s).
[W][component:215]: Components should block for at most 20-30ms.
wMBus-lib: Processing T1 A frame
@skupu NIE używaj cytowania do wklejania logów ani jakiegokolwiek kodu, użyj znacznika kodu, spróbuję podedytować posta powyżej… ale to jest rzeźnia pooprawiać coś takiego/
Przecież ładnie zdekodowało Tobie tę total 0.081 m3 !!
W telegramie nie masz nic więcej zawartego:
No więc tym bardziej się dziwię, że stan sensora pozostaje pusty…
Nie wpada nic chyba do wmbusmeters, a na pewno stamtąd do mqtt nic.
Gdzieś muszę mieć błąd…
Katalog meter_readings jest pusty.
W log też ani śladu po telegramie.
Czyli może do ha addon nie wpada telegram z czytnika.
"[WiFiClient.cpp:268] connect(): socket error on fd 51, errno: 104, "Connection reset by peer’’ mnie zastanawia…
Ale to nie leci do wmbusmeters’a. Powinno trafiać bezpośrednio do HomeAssistant’a
Do wmbusmetersa wysyłasz całą ramkę po TCP (bez udziału drivera).
jednak coś nie może się połączyć:
A nie pojawiły się przypadkiem dwie nowe encje? Jakiś babol na przełomie ESPHome 11 i 12 mieli z ID dla encji.