Wątek archiwalny - Komponent wM-Bus do ESPHome (SzczepanLeon) starsze wersje do 1.5.1 włącznie

W jaki sposob odebrałeś ten telegram? Jaki to wodomierz?

sensus esp32 i CC1101 868Mhz
u ciebie nie ma type: iperl ???

Czyli nie odczytać dane a je odkodować :wink:

Bez klucza do odkodowania nic nie zrobisz. Jak będziesz miał klucz to możesz spróbować na driverze “evo868”, “itron” lub “ultrimis”.

klucz od wodociągów ? jakie są szanse ?? dostał ktoś ?
ile to powinno być liczb ?

@_Szczepan takie info znalazłem …
iPerl have default key - please try this so maybe all Sensus works on the same
E6C88800DEB868C0D6A84880CE982840 - in my case that works !
You are my lord, it’s working !!!
Thanks a lot dude.

Edit:

i Działa
Auto driver : iperl
Best driver : itron 06/06
Using driver : iperl 00/00
000 : 1e length (30 bytes)
001 : 44 dll-c (from meter SND_NR)
002 : ae4c dll-mfct (SEN)
004 : 51240100 dll-id (00012451)
008 : 7c dll-version
009 : 07 dll-type (Water meter)
010 : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
011 : da tpl-acc-field
012 : 00 tpl-sts-field (OK)
013 : 1005 tpl-cfg 0510 (AES_CBC_IV nb=1 cntn=0 ra=0 hc=0 )
015 : 2f2f decrypt check bytes (OK)
017 : 04 dif (32 Bit Integer/Binary Instantaneous value)
018 : 13 vif (Volume l)
019 C!: 240C1000 (“total_m3”:1051.684)
023 : 02 dif (16 Bit Integer/Binary Instantaneous value)
024 : 3B vif (Volume flow l/h)
025 C!: 0000 (“max_flow_m3h”:0)
027 : 2F skip
028 : 2F skip
029 : 2F skip
030 : 2F skip


Jako itron też działa

1 polubienie

No i git.
Teraz przepisujesz ten klucz do YAML’a (poprzedzając 0x), ustawiasz typ na to co podałem wcześniej i powinien komponent odkodować wartość.

Tak nie pasuje mam na czerwono
key: 0xE6C88800DEB868C0D6A84880CE982840
ani tak
key: “0xE6C88800DEB868C0D6A84880CE982840”
a tak sie kompiluje
key: E6C88800DEB868C0D6A84880CE982840

Pomyliło mi się z ID. Klucz oczywiście że bez 0x

Może masz uwaloną nakładkę
Ja kupiłem 4 i okazało się że 1 jest uszkodzona.

chodzi juz w HA licznik wody

Dzięki Szczepan i innym kolegom za pomoc

1 polubienie

Ale chyba jest dobra bo jak wyrzuciłem sensor z konfiga ESPhome i następnie otworzyłem logowanie i przyłożyłem parę razy magnes do nakładki to w logach pojawiło się:

[20:17:21][D][wmbus:158]: Meter ID [0x00068526] RSSI: -34 dBm LQI: 128 not found in configuration T: 6E4401062685060005077A01006085FA63832E211D6B449A21FA67CB7F82E08F2F2ADC5C6B6A5CE90B3F22B3DCB53C97A23144A9D97C47F42D2F1308224801257BEB3AC4D5D7912F6F4DD3506D3EF9D663C0D886A675EF19EF8C03A563B87B406D73E184215F951C0F4DF5C303FF78 (111)
[20:18:06][D][sensor:109]: 'wmbus WiFi Signal': Sending state -55.00000 dBm with 0 decimals of accuracy
[20:18:49][D][wmbus:158]: Meter ID [0x00068526] RSSI: -31 dBm LQI: 128 not found in configuration T: 6E4401062685060005077A0200608566C084CD2D34B275D43E6265270213DBC733904C6BCDD17CE7FB8FDF625C3B299BB2274C9C1AE14EAE863EFC20F3C61FE8BD8D9AA3E2DF74F3169347513ADCE2A135BDDD6443A3F1D14B5AB21C40E7142FF089BAAB844D00BA2A2B0858D4E998 (111)
[20:19:03][D][sensor:109]: 'wmbus Uptime': Sending state 0.00206 d with 1 decimals of accuracy
[20:19:06][D][sensor:109]: 'wmbus WiFi Signal': Sending state -60.00000 dBm with 0 decimals of accuracy
[20:20:06][D][sensor:109]: 'wmbus WiFi Signal': Sending state -57.00000 dBm with 0 decimals of accuracy
[20:20:39][D][wmbus:158]: Meter ID [0x00068526] RSSI: -43 dBm LQI: 128 not found in configuration T: 6E4401062685060005077A030060854F2B843E7441F45803173969F95C238D6A783DBAEB9078148685A4F76A00EEC0C0289483D0EF70EB3368891F37F38C9DD2383CBEABD350EFEAD10123C0A05838D59630EBBCCC0A11E00718C2A15A06F9738A77EC68FD99AA02E2C02DAA533D22 (111)
[20:21:06][D][sensor:109]: 'wmbus WiFi Signal': Sending state -57.00000 dBm with 0 decimals of accuracy
[20:21:23][I][ota:113]: Boot seems successful, resetting boot loop counter.
[20:21:55][D][wmbus:158]: Meter ID [0x00068526] RSSI: -32 dBm LQI: 128 not found in configuration T: 6E4401062685060005077A04006085CEBEA52D3202B56D8BB3B9E0FA9E5D4F92B25F7FD90AD9037C54F269A6F605548BD5DA20B52EF8CF5BF03AB8B5C74C4A4E594C5002A37D4E8805226E1FE29E01C313F99E534ECD643DDD3B2FCCDDA974601FA0E9F948C17BB703D523157E75D6 (111)
[20:22:06][D][sensor:109]: 'wmbus WiFi Signal': Sending state -53.00000 dBm with 0 decimals of accuracy

A nie wiem czemu nie podaje nakładka stanu wodomierza jak jest zrobiony sensor w konfigu?
Wodomierz to APATOR JS 4,0-02

Pokaż ten konfig i to co w logu ESPHome wyskakuje - nie ma siły coś musisz mieć skoto z pustym konfigiem pojawia się ramka.

substitutions:
  device_name: wmbus

esphome:
  name: '${device_name}'
  comment: Kotłownia licznik wody

esp8266:
  board: nodemcuv2

external_components:
  - source: github://SzczepanLeon/esphome-components@main
    components: [ wmbus ]

# Enable logging
logger: 
  level: DEBUG

# Enable Home Assistant API
api:
  encryption:
    key: !secret encryption_key

# Enable over-the-air updates
ota:
  password: !secret ota_password

# Serwer with a statistic data and OTA board update
web_server:
  port: 80
  version: 2
  auth:
    username: admin
    password: !secret web_server_password

# WiFi Local Area Network (HA)
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: 192.168.xx.xx
  fast_connect: true

  # Hotspot when can't connect to Local WiFi
  ap:
    ssid: "Apator AP"
    password: "xxxxxxxxxxxxx"

captive_portal:

# Sets time from Homeassistant
time:
  - platform: homeassistant
    id: homeassistant_time
#time:
#  platform: sntp


# Sensors for ESP version and WIFI information
text_sensor:
  - platform: wifi_info
    ip_address:
      name: "${device_name} IP"
      icon: mdi:ip-network
    ssid:
      name: "${device_name} SSID"
      icon: mdi:wifi-star

# int ApatorID = 0x4829838;

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin:  GPIO14
  cs_pin:   GPIO2
#  cs_pin:   GPIO15
  gdo0_pin: GPIO5
  gdo2_pin: GPIO4

sensor:
  - platform: wmbus
    name: "Wodomierz_JS4-02"
    meter_id: 0x00068526
    type: apator162
    key: "00000000000000000000000000000000"
  - platform: wifi_signal
    name: '${device_name} WiFi Signal'
    update_interval: 60s
    accuracy_decimals: 0
  - platform: uptime
    name: '${device_name} Uptime'
    unit_of_measurement: d
    update_interval: 300s
    accuracy_decimals: 1
    filters:
      - multiply: 0.000011574
    

Teraz jak wybudziłem magnesem to stan podaje mi jak kiedyś 0,021m3
Zamontowałem ją i zobaczę czy jak dziś wody skorzystam czy zwiększy się coś…

I czy da się jakoś okroić do 3 miejsc po przecinku bo dodałem do konfigu:

filters:
      offset: +1.204

aby mieć aktualny stan ile też licznik pokazuje bo na liczniku mam 1.225 m3

a teraz w odczyt w HA jest z 5 miejscami po przecinku(tzn w logach ma 5 miejsc a w HA pokazuje 1.225) czyli jest ok ?

Pamiętaj że pomiary muszą się zmieniać żeby HA coś zarejestrowało.

Czyli teraz z zdefiniowanym sensorem odczytał dane i przesłał dalej?

Teraz podaje mi w HA 1.225m3.
Teraz używałem wody i ciekawi mnie kiedy i czy w ogóle zmieni stan jak używałem. I ciekawe co ile wysyła stan nakładka?Da się to sprawdzić ?

Edit
O zmieniło się i w HA na dadhboard energii podaje mi już 1269L ale na sensorze jest więcej bo 1.293m3 czyli 1293L i w takim razie dlaczego jest różnica sensor a dadhboard ?

dadhboard energia aktualizuje się co godzinę
zrób sobie jakiś wskaźnik
type: gauge
entity: sensor.esp_wodomierz_glowny

ahojte susedia, idem si po radu, snazim sa uz tyzden nejak ziskavat data do HA no bez uspechu

viete mi niekto poradit kde robim chybu

mam = cc1101 + wemosD1mini + Esphome + HA
prikladam kod a par snimkov z logov `esphome:

  name: vodomer
  compile_process_limit: 3
  platform: ESP8266  
  board: d1_mini

logger:
.#  id: appslogger
.#  level: VERBOSE
.#  baud_rate: 0 #disable logging over uart
.
api:
  encryption:
    key: "xxxxxxxxxxxxxxxxxxxxxxxxxx"
web_server:
  port: 80
  local: true
  auth:
    username: admin
    password: !secret heslo_pre_web_server    
ota:
  password: "xxxxxxxxxxxxxxxxxxxxxxxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true    
  manual_ip:
    static_ip: 192.168.1.50
    gateway: 192.168.1.1
    subnet: 255.255.255.0 
  ap:
    ssid: "Vodomer Fallback Hotspot"
    password: "xxxxxxxxxxxxxxxxxxxxxxxxxx"

captive_portal:

switch:
  - platform: restart
    name: "Vodomer restart"
    id: restart_switch_vodomer

sensor:
  - platform: wmbus
    name: "Voda Izar"
    meter_id: 75101709 
    type: izar
    accuracy_decimals: 3


  - platform: wifi_signal           
    name: "WiFi Vodomer"
    update_interval: 10s  

  - platform: uptime
    name: Vodomer Uptime 
    filters:
      - lambda: return x / 3600;
    unit_of_measurement: "hours"
    accuracy_decimals: 2  

binary_sensor:
  - platform: status
    name: "vodomer"    

time:
  - platform: sntp
    id: time_sntp

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "IP  Vodomer"
    ssid:
      name: "SSID Vodomer "
    bssid:
      name: "BSSID Vodomer"
    mac_address:
      name: "MAC Vodomer"      

external_components:

   - source: github://SzczepanLeon/esphome-components@main
     components: [ wmbus ]

wmbus:
  mosi_pin: GPIO13 #D7  Pripojené k hardvérovému SPI ovládaču MOSI
  miso_pin: GPIO12 #D6  Pripojené k hardvérovému ovládaču SPI MISO
  clk_pin: GPIO14  #D5  Pripojené k hardvérovému ovládaču SPI CLK
  cs_pin:   GPIO15   #D8  ovláda režim zavádzania; Pripojené k hardvérovému ovládaču SPI CS
  gdo0_pin: GPIO04 #D2  Vysoká impedancia
  gdo2_pin: GPIO05 #D1  Vysoká impedancia
 
  .# mosi_pin: GPIO13
  .# miso_pin: GPIO5
  .# clk_pin:  GPIO2
  .# cs_pin:   GPIO14
 . # gdo0_pin: GPIO15
 . # gdo2_pin: GPIO16
  .# led_pin: GPIO0
 . # led_blink_time: "1s"
 . # clients:
 . #   - name: "wmbusmeters"
 . #     ip_address: "192.168.1.120"
 . #     port: 7227



check







web

@Roman_Farkaš
Chcel som opraviť prilepený YAML, ale je v ňom veľa zvláštnych znakov, tak si skontrolujte, či nejaký skutočne máte (aj keď v ňom vidím chyby, pravdepodobne kvôli nesprávnemu prilepeniu), najlepšie je to jednoducho prilepiť celé, nie fragmenty.

@_Szczepan
Jeśli możesz zajrzyj też tam, po długiej jałowej dyskusji wyszło, że chodzi o twój komponent…
https://forum.arturhome.pl/t/esp32-wroom-i-cc1101-piny/8972/37

@szopen Klasycznie - u mnie działa :wink: Jakis kawowy abonament powinien byc na support. :slight_smile:
A tak na poważnie to nie miałem nigdy takich problemów z ESPHome.

@Roman_Farkaš
Zacznij od pustego konfiga (YAML), tylko z wmbus (bez sensorów). Czy wtedy coś w logu masz (jakieś odebrane telegramy).
Izar’y mają swoją dziwną filozofie podawania ID. Najlepiej z logu to ID skopiować.

Możesz teraz w HA ustawić w danym sensorze (encji) z jaką dokładnością ma pokazywać:

Hehe u mnie kawę masz, a za innych nie odpowiadam.

1 polubienie

Majówka się zbliża i wolę ten czas spędzić na dodaniu moda C i refaktoryzacji (np dodaniu RSSI) niż rozgryzaniu co komu nie działa.

2 polubienia