Komponent wM-Bus do ESPHome (SzczepanLeon) wersja 3.x - wątek ogólny

Niestety jednak to nie zigbee.

Czy trzymacie swoje esp gdzieś blisko wodomierza czy zaleca się trzymać gdzieś dalej?

Możliwe jest przesterowanie zbyt wysokim sygnałem RF, więc proponuję poeksperymentować, nie wiemy jaką masz wersję sprzętu od Mariusza.

Wakacje się skończyły - miałem trochę czasu aby pogrzebać.

Taka mała zajawka nadchodzącej wersji 4.0

Jeszcze trochę roboty pozostało (głównie w okolicach YAML oraz testy stabilności) ale z nowości będzie:

  • autodetekcja drivera
  • support driverów z wmbusmeters
  • automatyczna konwersja pomiedzy jednostkami (w konfigu wybierzesz czy np. wode chcesz w m3 czy w l)
  • zmiana formatu konfiguracji YAML
  • załączanie/wyłączanie “log unknown” bez potrzeby rekompilacji

Wszystkie drivery załadowane:
obraz

I jeszcze na zachęte do kawek albo modulów :wink:

btw.
Mam parę CC1101 w formie modułów na ESP mini (kanapka z czarnym PCB) do sprzedania.

4 polubienia

Witam, mam problem z odpowiednią konfiguracją pod licznik energii Apator smartEMU 3 AMIplus, dostawca Tauron Dolnośląskie. Wygląda on tak:

Używam czytnika Magic Meter v2 od @Mariusz_Woszczyński , liczniki wody apator162 czyta bez problemów. Aktywowałem HANplus w Tauronie, wmbus w liczniku jest aktywne. Mam numer licznika i klucz:

Moja konfiguracja wygląda tak:

 - platform: wmbus
    meter_id: 0x86094804
    key: "601FB6E45A4B5C4C885551529CBF****"
    type: amiplus
    mode: T1C1
    add_prefix: false
    lqi:
      name: "amiplus lqi"
    rssi:
      name: "amiplus RSSI"
    total_energy_consumption_kwh:
      name: "amiplus energia pobrana"
    current_power_consumption_kw:
      name: "amiplus aktualny pobór"
    voltage_at_phase_1_v:
      name: "amiplus napięcie na fazie 1"
    voltage_at_phase_2_v:
      name: "amiplus napięcie na fazie 2"
    voltage_at_phase_3_v:
      name: "amiplus napięcie na fazie 3" 

Niestety w logach mam cały czas takie wpisy:

[13:00:34][V][mbus:062]: Frame: 8E4401060448098602027A0000800530EB45E91BA56DE5FA1FAB120E8E5345708281763B714AE25B57B221D2C003EA92098BF1499B064B8A951CC34DF6B0D3999059B8BAFFA1D50A9801026BA955E5A9E99A177B01888A065C0ACFA1C9DC419465A9D2B1BA714D8632894AC1AACE4F93436E4ECAC5B9913EC37D6A4F6DE850A288C3228305BCF426A3F645701B4E8E (143) [without CRC]
[13:00:34][D][wmbus:097]: Using driver 'amiplus' for ID [0x86094804] RSSI: -90 dBm LQI: 130 Frame: T1 A T: 8E4401060448098602027A0000800530EB45E91BA56DE5FA1FAB120E8E5345708281763B714AE25B57B221D2C003EA92098BF1499B064B8A951CC34DF6B0D3999059B8BAFFA1D50A9801026BA955E5A9E99A177B01888A065C0ACFA1C9DC419465A9D2B1BA714D8632894AC1AACE4F93436E4ECAC5B9913EC37D6A4F6DE850A288C3228305BCF426A3F645701B4E8E (143)
[13:00:34][D][utils:294]: 2F2F check after decrypting  !!!
[13:00:39][D][mbus:023]: Processing C1 B frame
[13:00:39][V][mbus:027]: Frame: 5D442D2C954036853D048D20B400D6627461B3A593C7EEC3D999C105A6ECA96F9FB9155FFAFBFCB5247A2C42972C5B5ABF823393F716B16B7B77CDCFC47F32DC612112A2C4B357ADA271464F4EEE296D979B7B005D6FCF279F9E1E4E230F (94) [with CRC]
[13:00:39][V][mbus:165]: Validating CRC for Block1 + Block2
[13:00:39][D][crc:035]:     calculated: 0x749C, read: 0x230F  !!!
3:00:56][V][rxLoop:167]: Have 110 bytes from CC1101 Rx, RSSI: -61 dBm LQI: 136
[13:00:56][V][rxLoop:172]: Synchronus mode enabled.
[13:00:56][D][mbus:034]: Processing T1 A frame
[13:00:56][V][mbus:045]: Frame: 2F271C58D59A3652D64CD59C599593A666714E6A745962D6B199B2C9C725B13A534CD9A65A5C6264E68DCA972C66C8E3CAC4E6B0EA74593A6935971CA7496358DC6C9A54E59568E538E8EC99694B28E671A6C4D6731B236B4C9658E65AA4E36C98E2E695A58ECAC8D639AB328DA5 (110) [RAW]
[13:00:56][V][3of6:083]: Decode 3 out of 6 failed..

Dłuższy log do przejrzenia tutaj: Dropbox

Będę wdzięczny za sugestie :smiley:

Cześć,

mam problem z konfiguracją wmbus u siebie na ESP32 + CC1101.

Moja konfiguracja (jeszcze bez sensorów, chcę widzieć telegramy w logach):

esphome config
esphome:
  name: esp-32-wmbus
  friendly_name: esp-32-wmbus
  min_version: 2024.6.0

esp32:
  board: esp32doit-devkit-v1
  framework:
    type: arduino

logger:
  level: VERBOSE

api:
  encryption:
    key: !secret encryption_key

ota:
  - platform: esphome
    password: !secret ota_password

wifi:
  output_power: 8.5
  domain: .lan
  networks:
    - priority: 0
      ssid: !secret iot_wifi_ssid
      password: !secret iot_wifi_password
    - priority: 1
      ssid: !secret wifi_ssid
      password: !secret wifi_password
    - priority: 2
      ssid: !secret second_wifi_ssid
      password: !secret second_wifi_password    

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

wmbus:
  frequency: 868.950
  mosi_pin: GPIO13  # blue
  clk_pin:  GPIO14  # purple
  miso_pin: GPIO12  # green
  gdo2_pin: GPIO4  # gray
  gdo0_pin: GPIO5  # yellow
  cs_pin:   GPIO15  # orange

time:
  - platform: sntp
    id: time_sntp

Przy uruchamianiu Home Assistant API server moje ESP się restartuje:

restart
[13:56:53][C][api:025]: Setting up Home Assistant API server...
[13:56:58]E (45682) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[13:56:58]E (45682) task_wdt:  - loopTask (CPU 1)
[13:56:58]E (45682) task_wdt: Tasks currently running:
[13:56:58]E (45682) task_wdt: CPU 0: IDLE
[13:56:58]E (45682) task_wdt: CPU 1: loopTask
[13:56:58]E (45682) task_wdt: Aborting.
[13:56:58]
[13:56:58]abort() was called at PC 0x400f9878 on core 0
[13:56:58]
[13:56:58]
[13:56:58]Backtrace:0x400838b1:0x3ffbeb1c |<-CORRUPTED
[13:56:58]
[13:56:58]
[13:56:58]
[13:56:58]
[13:56:58]ELF file SHA256: 0000000000000000
[13:56:58]
[13:56:58]Rebooting...
[13:56:58]ets Jul 29 2019 12:21:46
[13:56:58]
[13:56:58]rst:0xc (SW_CPU_RESET),boot:0x16 (SPI_FAST_FLASH_BOOT)
[13:56:58]configsip: 0, SPIWP:0xee
[13:56:58]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[13:56:58]mode:DIO, clock div:2
[13:56:58]load:0x3fff0030,len:1184
[13:56:58]load:0x40078000,len:13132
[13:56:58]load:0x40080400,len:3036
[13:56:58]entry 0x400805e4
[13:57:00][     6][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz

Pełniejsze logi:

logs
[13:56:20][I][logger:156]: Log initialized
[13:56:20][V][esp32.preferences:059]: nvs_get_blob('233825507'): ESP_ERR_NVS_NOT_FOUND - the key might not be set yet
[13:56:20][C][safe_mode:079]: There have been 0 suspected unsuccessful boot attempts
[13:56:20][D][esp32.preferences:114]: Saving 1 preferences to flash...
[13:56:20][V][esp32.preferences:163]: nvs_get_blob('233825507'): ESP_ERR_NVS_NOT_FOUND - the key might not be set yet
[13:56:20][V][esp32.preferences:126]: sync: key: 233825507, len: 4
[13:56:20][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[13:56:20][I][app:029]: Running through setup()...
[13:56:20][V][app:030]: Sorting components by setup priority...
[13:56:20][C][wifi:048]: Setting up WiFi...
[13:56:20][C][wifi:061]: Starting WiFi...
[13:56:20][C][wifi:062]:   Local MAC: 14:2B:2F:C5:70:B8
[13:56:20][V][esp32.preferences:059]: nvs_get_blob('394994235'): ESP_ERR_NVS_NOT_FOUND - the key might not be set yet
[13:56:20][V][wifi_esp32:067]: Enabling STA.
[13:56:20][   120][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 0 - WIFI_READY
[13:56:20][V][wifi_esp32:486][arduino_events]: Event: WiFi ready
[13:56:20][   291][V][WiFiGeneric.cpp:338] _arduino_event_cb(): STA Started
[13:56:20][   292][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 2 - STA_START
[13:56:20][V][wifi_esp32:497][arduino_events]: Event: WiFi STA start
[13:56:23][  6214][V][WiFiGeneric.cpp:381] _arduino_event_cb(): SCAN Done: ID: 128, Status: 0, Results: 13
[13:56:23][  6215][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 1 - SCAN_DONE
[13:56:24][V][wifi_esp32:491][arduino_events]: Event: WiFi Scan Done status=0 number=13 scan_id=128
[13:56:24][D][wifi:497]: Found networks:
[13:56:24][I][wifi:541]: - 'NASAGuest' (06:EB:D8:AE:91:EE) [redacted]▂▄▆█
[13:56:24][D][wifi:542]:     Channel: 2
[13:56:24][D][wifi:543]:     RSSI: -50 dB
[13:56:24][I][wifi:541]: - 'NASAGuest' (06:EB:D8:AE:95:02) [redacted]▂▄▆█
[13:56:24][D][wifi:542]:     Channel: 2
[13:56:24][D][wifi:543]:     RSSI: -68 dB
[13:56:24][I][wifi:541]: - 'NASAGuest' (06:EB:D8:AE:98:46) [redacted]▂▄▆█
[13:56:24][D][wifi:542]:     Channel: 2
[13:56:24][D][wifi:543]:     RSSI: -81 dB
[13:56:24][I][wifi:541]: - 'NASA' (00:EB:D8:AE:91:EE) [redacted]▂▄▆█
[13:56:24][D][wifi:542]:     Channel: 2
[13:56:24][D][wifi:543]:     RSSI: -49 dB
[13:56:24][I][wifi:541]: - 'NASA' (00:EB:D8:AE:95:02) [redacted]▂▄▆█
[13:56:24][D][wifi:542]:     Channel: 2
[13:56:24][D][wifi:543]:     RSSI: -68 dB
[13:56:24][I][wifi:541]: - 'NASA' (00:EB:D8:AE:98:46) [redacted]▂▄▆█
[13:56:24][D][wifi:542]:     Channel: 2
[13:56:24][D][wifi:543]:     RSSI: -81 dB
[13:56:24][I][wifi:541]: - 'nasaiot' (00:31:92:CE:9D:3A) [redacted]▂▄▆█
[13:56:24][D][wifi:542]:     Channel: 7
[13:56:24][D][wifi:543]:     RSSI: -61 dB
... redacted to limit logs...
[13:56:24][I][wifi:313]: WiFi Connecting to 'NASAGuest'...
[13:56:24][V][wifi:315]: Connection Params:
[13:56:24][V][wifi:316]:   SSID: 'NASAGuest'
[13:56:24][V][wifi:319]:   BSSID: 06:EB:D8:AE:91:EE
[13:56:24][V][wifi:349]:   Password: 'XXXXXXX'[redacted]
[13:56:24][V][wifi:354]:   Channel: 2
[13:56:24][V][wifi:363]:   Using DHCP IP
[13:56:24][V][wifi:365]:   Hidden: NO
[13:56:36][ 18245][V][WiFiGeneric.cpp:360] _arduino_event_cb(): STA Disconnected: SSID: NASAGuest, BSSID: 06:eb:d8:ae:91:ee, Reason: 204
[13:56:36][ 18245][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[13:56:36][ 18253][W][WiFiGeneric.cpp:950] _eventCallback(): Reason: 204 - HANDSHAKE_TIMEOUT
[13:56:36][ 18260][D][WiFiGeneric.cpp:966] _eventCallback(): WiFi Reconnect Running
[13:56:36][W][wifi:669]: Connecting to WiFi network failed. Are the credentials wrong?[ 18268][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
[13:56:36]
[13:56:36][D][wifi:697]: Retrying with hidden networks...
[13:56:36][I][wifi:313]: WiFi Connecting to 'NASAGuest'...
[13:56:36][V][wifi:315]: Connection Params:
[13:56:36][V][wifi:316]:   SSID: 'NASAGuest'
[13:56:36][V][wifi:319]:   BSSID: 06:EB:D8:AE:91:EE
[13:56:36][V][wifi:349]:   Password: 'XXXXX'[redacted]
[13:56:36][V][wifi:354]:   Channel: 2
[13:56:36][V][wifi:363]:   Using DHCP IP
[13:56:36][V][wifi:365]:   Hidden: NO
[13:56:36][W][wifi:669]: Connecting to WiFi network failed. Are the credentials wrong?
[13:56:41][I][wifi:313]: WiFi Connecting to 'nasaiot'...
[13:56:41][V][wifi:315]: Connection Params:
[13:56:41][V][wifi:316]:   SSID: 'nasaiot'
[13:56:41][V][wifi:321]:   BSSID: Not Set
[13:56:41][V][wifi:349]:   Password: 'XXXX'[redacted]
[13:56:41][V][wifi:356]:   Channel: Not Set
[13:56:41][V][wifi:363]:   Using DHCP IP
[13:56:41][V][wifi:365]:   Hidden: NO
[13:56:41][W][wifi:669]: Connecting to WiFi network failed. Are the credentials wrong?
[13:56:41][I][wifi:313]: WiFi Connecting to 'NASAGuest'...
[13:56:41][V][wifi:315]: Connection Params:
[13:56:41][V][wifi:316]:   SSID: 'NASAGuest'
[13:56:41][V][wifi:319]:   BSSID: 06:EB:D8:AE:91:EE
[13:56:41][V][wifi:349]:   Password: 'XXXX'[redacted]
[13:56:41][V][wifi:354]:   Channel: 2
[13:56:41][V][wifi:363]:   Using DHCP IP
[13:56:41][V][wifi:365]:   Hidden: NO
[13:56:41][W][wifi:669]: Connecting to WiFi network failed. Are the credentials wrong?
[13:56:46][I][wifi:313]: WiFi Connecting to 'nasaiot'...
[13:56:46][V][wifi:315]: Connection Params:
[13:56:46][V][wifi:316]:   SSID: 'nasaiot'
[13:56:46][V][wifi:321]:   BSSID: Not Set
[13:56:46][V][wifi:349]:   Password: 'XXXX'[redacted]
[13:56:46][V][wifi:356]:   Channel: Not Set
[13:56:46][V][wifi:363]:   Using DHCP IP
[13:56:46][V][wifi:365]:   Hidden: NO
[13:56:46][W][wifi:669]: Connecting to WiFi network failed. Are the credentials wrong?
[13:56:46][D][wifi:697]: Retrying with hidden networks...
[13:56:46][I][wifi:313]: WiFi Connecting to 'NASAGuest'...
[13:56:46][V][wifi:315]: Connection Params:
[13:56:46][V][wifi:316]:   SSID: 'NASAGuest'
[13:56:46][V][wifi:319]:   BSSID: 06:EB:D8:AE:91:EE
[13:56:46][V][wifi:349]:   Password: 'XXXX'[redacted]
[13:56:46][V][wifi:354]:   Channel: 2
[13:56:46][V][wifi:363]:   Using DHCP IP
[13:56:46][V][wifi:365]:   Hidden: NO
[13:56:46][W][wifi:669]: Connecting to WiFi network failed. Are the credentials wrong?
[13:56:46][D][wifi:697]: Retrying with hidden networks...
[13:56:47][ 30146][V][WiFiGeneric.cpp:353] _arduino_event_cb(): STA Connected: SSID: NASAGuest, BSSID: 06:eb:d8:ae:91:ee, Channel: 2, Auth: WPA2_WPA3_PSK
[13:56:47][ 30148][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 4 - STA_CONNECTED
[13:56:47][V][wifi_esp32:516][arduino_events]: Event: Connected ssid='NASAGuest' bssid=06:EB:D8:AE:91:EE[redacted] channel=2, authmode=WPA2/WPA3 PSK
[13:56:48][ 30305][V][WiFiGeneric.cpp:367] _arduino_event_cb(): STA Got New IP:192.168.1.154
[13:56:48][ 30306][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 7 - STA_GOT_IP
[13:56:48][ 30309][D][WiFiGeneric.cpp:991] _eventCallback(): STA IP: 192.168.1.154, MASK: 255.255.255.0, GW: 192.168.1.1
[13:56:48][V][wifi_esp32:570][arduino_events]: Event: Got IP static_ip=192.168.1.154 gateway=192.168.1.1
[13:56:51][I][wifi:313]: WiFi Connecting to 'nasaiot'...
[13:56:51][V][wifi:315]: Connection Params:
[13:56:51][V][wifi:316]:   SSID: 'nasaiot'
[13:56:51][V][wifi:321]:   BSSID: Not Set
[13:56:51][V][wifi:349]:   Password: 'XXXXX'[redacted]
[13:56:51][V][wifi:356]:   Channel: Not Set
[13:56:51][V][wifi:363]:   Using DHCP IP
[13:56:51][V][wifi:365]:   Hidden: NO
[13:56:51][ 33587][V][WiFiGeneric.cpp:360] _arduino_event_cb(): STA Disconnected: SSID: NASAGuest, BSSID: 06:eb:d8:ae:91:ee, Reason: 8
[13:56:51][ 33588][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[13:56:51][ 33595][W][WiFiGeneric.cpp:950] _eventCallback(): Reason: 8 - ASSOC_LEAVE
[13:56:51][W][wifi_esp32:532][arduino_events]: Event: Disconnected ssid='NASAGuest' bssid=06:EB:D8:AE:91:EE[redacted] reason='Association Leave'
[13:56:51][W][wifi:674]: WiFi Unknown connection status 0
[13:56:51][W][wifi:690]: Restarting WiFi adapter...
[13:56:51][V][wifi_esp32:069]: Disabling STA.
[13:56:51][ 33636][V][WiFiGeneric.cpp:341] _arduino_event_cb(): STA Stopped
[13:56:51][ 33637][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 3 - STA_STOP
[13:56:51][V][wifi_esp32:507][arduino_events]: Event: WiFi STA stop
[13:56:51][I][wifi:313]: WiFi Connecting to 'NASAGuest'...
[13:56:51][V][wifi:315]: Connection Params:
[13:56:51][V][wifi:316]:   SSID: 'NASAGuest'
[13:56:51][V][wifi:319]:   BSSID: 06:EB:D8:AE:91:EE
[13:56:51][V][wifi:349]:   Password: 'XXXXX'[redacted]
[13:56:51][V][wifi:354]:   Channel: 2
[13:56:51][V][wifi:363]:   Using DHCP IP
[13:56:51][V][wifi:365]:   Hidden: NO
[13:56:51][V][wifi_esp32:067]: Enabling STA.
[13:56:51][ 33781][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 0 - WIFI_READY
[13:56:51][V][wifi_esp32:486][arduino_events]: Event: WiFi ready[ 33785][V][WiFiGeneric.cpp:338] _arduino_event_cb(): STA Started
[13:56:51]
[13:56:51][ 33792][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 2 - STA_START
[13:56:52][V][wifi_esp32:497][arduino_events]: Event: WiFi STA start
[13:56:53][ 35431][V][WiFiGeneric.cpp:353] _arduino_event_cb(): STA Connected: SSID: NASAGuest, BSSID: 06:eb:d8:ae:91:ee, Channel: 2, Auth: WPA2_WPA3_PSK
[13:56:53][ 35433][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 4 - STA_CONNECTED
[13:56:53][V][wifi_esp32:516][arduino_events]: Event: Connected ssid='NASAGuest' bssid=06:EB:D8:AE:91:EE[redacted] channel=2, authmode=WPA2/WPA3 PSK
[13:56:53][ 35493][V][WiFiGeneric.cpp:367] _arduino_event_cb(): STA Got Same IP:192.168.1.154
[13:56:53][ 35494][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 7 - STA_GOT_IP
[13:56:53][ 35497][D][WiFiGeneric.cpp:991] _eventCallback(): STA IP: 192.168.1.154, MASK: 255.255.255.0, GW: 192.168.1.1
[13:56:53][V][wifi_esp32:570][arduino_events]: Event: Got IP static_ip=192.168.1.154 gateway=192.168.1.1
[13:56:53][I][wifi:617]: WiFi Connected!
[13:56:53][C][wifi:428]:   Local MAC: 14:2B:2F:C5:70:B8
[13:56:53][C][wifi:433]:   SSID: 'NASAGuest'[redacted]
[13:56:53][C][wifi:436]:   IP Address: 192.168.1.154
[13:56:53][C][wifi:440]:   BSSID: 06:EB:D8:AE:91:EE[redacted]
[13:56:53][C][wifi:441]:   Hostname: 'esp-32-wmbus'
[13:56:53][C][wifi:443]:   Signal strength: -52 dB ▂▄▆█
[13:56:53][V][wifi:445]:   Priority: -5.0
[13:56:53][C][wifi:447]:   Channel: 2
[13:56:53][C][wifi:448]:   Subnet: 255.255.255.0
[13:56:53][C][wifi:449]:   Gateway: 192.168.1.1
[13:56:53][C][wifi:450]:   DNS1: 192.168.1.11
[13:56:53][C][wifi:451]:   DNS2: 192.168.1.11
[13:56:53][C][sntp:023]: Setting up SNTP...
[13:56:53][C][api:025]: Setting up Home Assistant API server...
[13:56:58]E (45682) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[13:56:58]E (45682) task_wdt:  - loopTask (CPU 1)
[13:56:58]E (45682) task_wdt: Tasks currently running:
[13:56:58]E (45682) task_wdt: CPU 0: IDLE
[13:56:58]E (45682) task_wdt: CPU 1: loopTask
[13:56:58]E (45682) task_wdt: Aborting.
[13:56:58]
[13:56:58]abort() was called at PC 0x400f9878 on core 0
[13:56:58]
[13:56:58]
[13:56:58]Backtrace:0x400838b1:0x3ffbeb1c |<-CORRUPTED
[13:56:58]
[13:56:58]
[13:56:58]
[13:56:58]
[13:56:58]ELF file SHA256: 0000000000000000
[13:56:58]
[13:56:58]Rebooting...
[13:56:58]ets Jul 29 2019 12:21:46
[13:56:58]
[13:56:58]rst:0xc (SW_CPU_RESET),boot:0x16 (SPI_FAST_FLASH_BOOT)
[13:56:58]configsip: 0, SPIWP:0xee
[13:56:58]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[13:56:58]mode:DIO, clock div:2
[13:56:58]load:0x3fff0030,len:1184
[13:56:58]load:0x40078000,len:13132
[13:56:58]load:0x40080400,len:3036
[13:56:58]entry 0x400805e4
[13:57:00][     6][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz
[13:57:00][I][logger:156]: Log initialized
[13:57:00][C][safe_mode:079]: There have been 1 suspected unsuccessful boot attempts
[13:57:00][D][esp32.preferences:114]: Saving 1 preferences to flash...
[13:57:00][V][esp32.preferences:126]: sync: key: 233825507, len: 4
[13:57:00][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[13:57:00][I][app:029]: Running through setup()...
[13:57:00][V][app:030]: Sorting components by setup priority...
[13:57:00][C][wifi:048]: Setting up WiFi...
[13:57:00][C][wifi:061]: Starting WiFi...
... redacted, another restart after here...

I tried many pin configurations, e.g.:

  # mosi_pin: GPIO23 # blue
  # clk_pin:  GPIO14 # purple
  # miso_pin: GPIO19 # green
  # gdo2_pin: GPIO26 # gray
  # gdo0_pin: GPIO25 # yellow
  # cs_pin:   GPIO15 # orange

and

  # mosi_pin: GPIO23 # blue
  # clk_pin:  GPIO18 # purple
  # miso_pin: GPIO19 # green
  # gdo2_pin: GPIO26 # gray
  # gdo0_pin: GPIO25 # yellow
  # cs_pin:   GPIO05 # orange

Jakimś cudem wczoraj udało mi się odczytać telegramy, ale przy próbie dodania sensora ESP zaczęło się restartować przez błędy związane z WiFi i zacząłem znowu kombinować z PINami, przez co utraciłem tamtą konfigurację.
Moje WiFi to 3 sieci:

  • NASA - mesh, mix 5 GHz i 2.4 Ghz
  • NASAGuest - mesh, tylko 2.4 GHz
  • nasaiot - nowa sieć, którą postawiłem na starym AP, który się kurzył. Tylko jedno urządzenie, tylko 2.4 Ghz.

Tracę już nerwy, nie potrafię już wrócić do działającej wersji. Wczoraj próbowałem jeszcze przenieść się na WeMosa D1 mini, ale tam dostawałem wyjątki związane z alokowaniem pamięci…

Moje ESP
Jest podpisane jako ESP-WROOM-32, FCC ID kończy się na ESP-32S

Rozpiska pinów z aukcji aliexpress, z której kupiłem:

Moje urządzenie:

photos


image

Z góry dziękuję za pomoc.

No muszę też się wyżalić.
Chciałbym mieć takie problemy.
Mi ostatnio z pięknego ZE314 z portem optycznym wymienili na takiego chinczyka z SIMem w środku :cry:

A wracając do tematu. Jesteś w stanie swoim kluczem odkodować ramkę tutaj?
https://wmbusmeters.org/analyze/8E4401060448098602027A0000800530EB45E91BA56DE5FA1FAB120E8E5345708281763B714AE25B57B221D2C003EA92098BF1499B064B8A951CC34DF6B0D3999059B8BAFFA1D50A9801026BA955E5A9E99A177B01888A065C0ACFA1C9DC419465A9D2B1BA714D8632894AC1AACE4F93436E4ECAC5B9913EC37D6A4F6DE850A288C3228305BCF426A3F645701B4E8E

Niestety nie udało się:

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   : 04480986 dll-id (86094804)
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   : d1d0 decrypt check bytes (ERROR should be 2f2f)
017 CE: C3419F6E3CE87DE848C25148A87730AEE6EAAB61B142D6DC2B912C0A1AF880FF69A854BBD5312586788F825F350198B6770A5BD657D01BD465A5864F31F819594E099C532993C7579583EA6ED8A6D5483F5195555D88C9837334B7016685C85DF37DF334B7F6D19ABE502D6A206A50571DCB1DE97052C8E95B27B31E5398 failed decryption. Wrong key?

{
    "media":"electricity",
    "meter":"amiplus",
    "name":"",
    "id":"86094804",
    "timestamp":"1970-01-01T00:00:00Z"
}


Using: wmbusmeters: 1.17.1-4-g3eee107
3eee107dd8f50ca9b5cbfab46a50f3103991240c

Skoro innym działa ten licznik to zakładam na 95% że klucz jest zły.

UPDATE:

Najpierw wgrałem minimalny config (tylko API, OTA, time i logger (VERBOSE). ESP uruchomiło się i działało stabilnie.

Dodałem więc znowu wmbus i podłączyłem piny następująco (posiłkowałem się wiedzą z tego wątku):

wmbus:
  frequency: 868.950
  mosi_pin: GPIO13  # blue
  clk_pin:  GPIO14  # purple
  miso_pin: GPIO12  # green
  gdo2_pin: GPIO22  # gray
  gdo0_pin: GPIO21  # yellow
  cs_pin:   GPIO15  # orange

SUKCES!
ESP uruchomiło się i widziałem w logach telegramy. :slight_smile:
Teraz spróbuję dodać sensory dla moich liczników i kto wie… Może otworzę zasłużonego browarka.

UPDATE2:
Otwieram piwko. :wink: Sensor licznika wody dodany i poprawnie czyta telegramy. Dziękuję Wam za bycie moją gumową kaczuszką. Reguła się potwierdza, jak tylko poprosisz o pomoc to rozwiązanie samo się znajduje.
PINy, które podałem w tym poście działają. Zostawiam dla potomnych. :wink:

Finalny schemat:

1 polubienie

Dodaj schemat w tym samym poscie.

1 polubienie

No to niezłe jaja, pytanie czy jest jakaś mądra ścieżka, żeby od Tauronu uzyskać właściwy klucz? W sumie wszystko “wyklikane” w aplikacji.

No i znowu powracam. :frowning:

Po uzyskaniu działającej konfiguracji z sensorem dla licznika wody (apator162) i prądu (amiplus), postanowiłem przepiąć ESP pod inne zasilanie, co siłą rzeczy spowodowało kolejny restart urządzenia. Po tym już nie wstało. Znowu objawy jak w pierwszym moim poście - dokładnie taki sam wyjątek/błąd.
Nie pomaga już flashowanie od czystej konfiguracji do coraz bardziej zaawansowanej. Jak tylko dodaje wmbus z konfiguracją GPIO to się wywala.
Jeśli to jakkolwiek pomocne (choć może po prostu komponent nie jest wtedy uruchamiany), to zauważyłem, że jak odepnę zielony (CC1101 MISO połączone do GPIO12) to ESP startuje i oznacza wmbus jako failed (zrozumiałe), ale bez restartowania.

@_Szczepan, czy kolejność kroków podczas flashowania jest ważna? Konkretniej chodzi mi o to czy kluczowy jest najpierw flash minimalnej konfiguracji bez komponentu wmbus, a dopiero potem stopniowe dokładanie klocków.
Zauważam, że czasami mój flash po kablu USB kończy się sukcesem, ale ESP startuje bez tych zmian. Przykładowo, po wgraniu minimalnej konfiguracji z ota, api, time i loggerem robię kolejny update po kablu z dodanym wmbus i konfiguracją GPIO, a ESP startuje bez uruchamiania wmbus. W logach DEBUG nie pojawiają się żadne komunikaty pochodzące z komponentu wmbus, ani nie dostaję żadnych błędów z nim związanych.
Oraz, czy podczas flashowania CC1101 może być podłączone do GPIO?

PS @Peter - u mnie zadziałało od strzała (dopóki ESP działało). Aktywowałem wczoraj Port HAN i bezproblemowo dodałem sensor licznika amiplus. Porównaj tylko MeterID z logów - łap po kolei Telegramy i próbuj dekodować swoim kluczem deszyfrującym na https://wmbusmeters.org/. Jak uda Ci się rozszyfrować dany telegram to skopiuj jego MeterID z logów i wklej do sensora jako ID twojego licznika.
edit: Wygląda na to, że już to zrobiłeś powyżej.

Panie @_Szczepan, szybkie pytanie. Czy jest jakaś opcja na współdzielenie SPI z innym urządzeniem? Obecnie podkreśla “wmbus” na czerwono, jak wpisuje te same piny MOSI, MISO, SCK. CS oczywiście inne…

@szymon4
Kolejnosc flashowania nie ma wpływu na działanie. Liczy się tylko ostateczny “wsad”. Jakiej dlugosci masz kabelki do CC1101? Moze skrócenie pomoze?i

@Mariusz_Woszczyński
Jest to wykonalne tylko wymaga grzebania w bibliotece do CC1101. Ja sam nie mam czasu na to. Tez za bardzo nie widze sensu z jednego powodu: obróbka telegramu jednak trochę trwa i w tym czasie ESPHome nic innego nie zrobi. Ja jedynie dokładam BLE proxy jak mam miejsce. Dodatkowo priorytetem dla mnie jest wersja 4 komponentu - czyli wszystkie sterowniki z wmbusmeters (jak wszystkie ktos bedzie chcial załadowac to wsad ma ~90% pamięci (dla standardu 4 mega podzielone na dwie partycje).
Oczywiscie zawsze jestem chetny na wszystkie zmiany w git’cie - kto chce moze to napisac itp :wink:

Kabelki mam długości ok 10 cm. Mogę spróbować je jutro albo w poniedziałek skrócić.

Jak na moje oko to długooooooo za długo.
Dlatego [prywata] mogę polecic moje kanapeczki z CC1101 pod ESPmini. Każda sztuka przetestowana, działająca, z dostarczoną pinologią i wsparciem (nikt nie zgłaszał problemu z działaniem).

1 polubienie

Pozwolę sobie się z tym nie zgodzić - da się tak namotać, że MCU nie wstaje po cold boocie mimo, że wcześniej wstawał po hot bootach (jeśli najpierw wgramy właściwy wsad o kabelku a następnie metodą OTA odmienimy go częściowo na wsad nie pasujący do osprzętu MCU - w szczególności tablicy partycji lub rozmiaru flasha)

A w kwestii WiFi wywaliłbym te sieci z meshami i zostawił ten jeden najzwyklejszy AP w konfiguracji.

1 polubienie

No tak masz rację. Zakładałem sytuacje że flashujemy kablem oraz bez udziwnień.

I tak i nie, wiadomo, najlepiej to kanapka lub gotowa płytka z wszystkimi komponentami.

Mam CC1101 na pająku , 20cm do płytki stykowej, następne 20cm do ESP - no problems, aczkolwiek co się nalutowałem kabli do CC1101 to moje… ja bym tu sprawdził czy są dobre luty i nie ma zwarć, bo tam ciasno.

Sprawdzałem ciągłość i zwarcia multimetrem. Wszystko ok.