Komponent wM-Bus do ESPHome (SzczepanLeon) - liczniki energii elektrycznej

@MicroRaV Spróbuj na wersji, którą teraz wypchałem – dalej działa? Stabilniej?

Przestało działać, dostaję tylko to:

[22:05:00][E][rxLoop:133]: CC1101 in infinite mode
[22:05:59][E][rxLoop:133]: CC1101 in infinite mode
[22:06:59][E][rxLoop:133]: CC1101 in infinite mode

Ktora nazwa brancha jest poprawna: long_data czy long_test? Używam long_data, ale nie ma takiego brancha na githubie :slight_smile: Mimo to nie skarży się, że nie ma takiego brancha :smiley:

Dawaj long_data – to jest tag. Spróbuj teraz. Wychodzi na to że logi (nawet pojedyncza linia) ubija CC1101 (pewnie przepełnia się FIFO Rx – czyli taki log spowalnia na maksa).

12/12 100% poprawnie zdekodowanych! :+1: :slight_smile:

1 polubienie

Zapuść na noc :wink: Jutro powinna być dostępna oficjalna wersja.

[edit]
Wersja 3.2.0 już jest dostępna.

2 polubienia

Mógłbyś dorzucić jeszcze brakującą energię pobieraną/oddawaną strefową T1-T3?

    "total_energy_consumption_tariff_1_kwh":74.261,
    "total_energy_consumption_tariff_2_kwh":87.371,
    "total_energy_consumption_tariff_3_kwh":0,
    "total_energy_production_tariff_1_kwh":0.863,
    "total_energy_production_tariff_2_kwh":0,
    "total_energy_production_tariff_3_kwh":0,

zdekodowana ramka przez wmbusmeters:

telegram=|AE4401061593835601027A1C10A0052F2F_066D9E73161632400C78159383560E033216160000008E10036142070000008E20037173080000008E30030000000000008E8010030000000000000E833C6308000000008E10833C6308000000008E20833C0000000000008E30833C0000000000008E8010833C0000000000000B2B6401000AFDC9FC0137020AFDC9FC0239020AFDC9FC0338020BABC8FC100000002F2F2F2F2F2F2F2F2F2F2F2F2F2F2F|

Auto driver  : not found!
Best driver  : amiplus 63/82
Using driver : amiplus 00/00
000   : ae length (174 bytes)
001   : 44 dll-c (from meter SND_NR)
002   : 0106 dll-mfct (APA)
004   : 15938356 dll-id (56839315)
008   : 01 dll-version
009   : 02 dll-type (Electricity meter)
010   : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
011   : 1c tpl-acc-field
012   : 10 tpl-sts-field (TEMPORARY_ERROR)
013   : a005 tpl-cfg 05a0 (AES_CBC_IV nb=10 cntn=0 ra=0 hc=0 )
015   : 2f2f already decrypted check bytes
017   : 06 dif (48 Bit Integer/Binary Instantaneous value)
018   : 6D vif (Date and time type)
019 C!: 9E7316163240 ("device_date_time":"2024-02-22 22:51:30")
025   : 0C dif (8 digit BCD Instantaneous value)
026   : 78 vif (Fabrication no)
027 C?: 15938356
031   : 0E dif (12 digit BCD Instantaneous value)
032   : 03 vif (Energy Wh)
033 C!: 321616000000 ("total_energy_consumption_kwh":161.632)
039   : 8E dif (12 digit BCD Instantaneous value)
040   : 10 dife (subunit=0 tariff=1 storagenr=0)
041   : 03 vif (Energy Wh)
042 C!: 614207000000 ("total_energy_consumption_tariff_1_kwh":74.261)
048   : 8E dif (12 digit BCD Instantaneous value)
049   : 20 dife (subunit=0 tariff=2 storagenr=0)
050   : 03 vif (Energy Wh)
051 C!: 717308000000 ("total_energy_consumption_tariff_2_kwh":87.371)
057   : 8E dif (12 digit BCD Instantaneous value)
058   : 30 dife (subunit=0 tariff=3 storagenr=0)
059   : 03 vif (Energy Wh)
060 C!: 000000000000 ("total_energy_consumption_tariff_3_kwh":0)
066   : 8E dif (12 digit BCD Instantaneous value)
067   : 80 dife (subunit=0 tariff=0 storagenr=0)
068   : 10 dife (subunit=0 tariff=4 storagenr=0)
069   : 03 vif (Energy Wh)
070 C?: 000000000000
076   : 0E dif (12 digit BCD Instantaneous value)
077   : 83 vif (Energy Wh)
078   : 3C combinable vif (BackwardFlow)
079 C!: 630800000000 ("total_energy_production_kwh":0.863)
085   : 8E dif (12 digit BCD Instantaneous value)
086   : 10 dife (subunit=0 tariff=1 storagenr=0)
087   : 83 vif (Energy Wh)
088   : 3C combinable vif (BackwardFlow)
089 C!: 630800000000 ("total_energy_production_tariff_1_kwh":0.863)
095   : 8E dif (12 digit BCD Instantaneous value)
096   : 20 dife (subunit=0 tariff=2 storagenr=0)
097   : 83 vif (Energy Wh)
098   : 3C combinable vif (BackwardFlow)
099 C!: 000000000000 ("total_energy_production_tariff_2_kwh":0)
105   : 8E dif (12 digit BCD Instantaneous value)
106   : 30 dife (subunit=0 tariff=3 storagenr=0)
107   : 83 vif (Energy Wh)
108   : 3C combinable vif (BackwardFlow)
109 C!: 000000000000 ("total_energy_production_tariff_3_kwh":0)
115   : 8E dif (12 digit BCD Instantaneous value)
116   : 80 dife (subunit=0 tariff=0 storagenr=0)
117   : 10 dife (subunit=0 tariff=4 storagenr=0)
118   : 83 vif (Energy Wh)
119   : 3C combinable vif (BackwardFlow)
120 C?: 000000000000
126   : 0B dif (6 digit BCD Instantaneous value)
127   : 2B vif (Power W)
128 C!: 640100 ("current_power_consumption_kw":0.164)
131   : 0A dif (4 digit BCD Instantaneous value)
132   : FD vif (Second extension FD of VIF-codes)
133   : C9 vife (10^0 Volts)
134   : FC combinable vif (CombinableVIFExtension)
135   : 01 combinable extension vife
136 C!: 3702 ("voltage_at_phase_1_v":237)
138   : 0A dif (4 digit BCD Instantaneous value)
139   : FD vif (Second extension FD of VIF-codes)
140   : C9 vife (10^0 Volts)
141   : FC combinable vif (CombinableVIFExtension)
142   : 02 combinable extension vife
143 C!: 3902 ("voltage_at_phase_2_v":239)
145   : 0A dif (4 digit BCD Instantaneous value)
146   : FD vif (Second extension FD of VIF-codes)
147   : C9 vife (10^0 Volts)
148   : FC combinable vif (CombinableVIFExtension)
149   : 03 combinable extension vife
150 C!: 3802 ("voltage_at_phase_3_v":238)
152   : 0B dif (6 digit BCD Instantaneous value)
153   : AB vif (Power W)
154   : C8 combinable vif (UpperLimit)
155   : FC combinable vif (CombinableVIFExtension)
156   : 10 combinable extension vife
157 C?: 000000
160   : 2F skip
161   : 2F skip
162   : 2F skip
163   : 2F skip
164   : 2F skip
165   : 2F skip
166   : 2F skip
167   : 2F skip
168   : 2F skip
169   : 2F skip
170   : 2F skip
171   : 2F skip
172   : 2F skip
173   : 2F skip
174   : 2F skip

{
    "media":"electricity",
    "meter":"amiplus",
    "name":"",
    "id":"56839315",
    "current_power_consumption_kw":0.164,
    "total_energy_consumption_kwh":161.632,
    "total_energy_consumption_tariff_1_kwh":74.261,
    "total_energy_consumption_tariff_2_kwh":87.371,
    "total_energy_consumption_tariff_3_kwh":0,
    "total_energy_production_kwh":0.863,
    "total_energy_production_tariff_1_kwh":0.863,
    "total_energy_production_tariff_2_kwh":0,
    "total_energy_production_tariff_3_kwh":0,
    "voltage_at_phase_1_v":237,
    "voltage_at_phase_2_v":239,
    "voltage_at_phase_3_v":238,
    "device_date_time":"2024-02-22 22:51:30",
    "timestamp":"2024-02-22T21:54:48Z"
}

To już jak będę miał czas - teraz priorytet na wersję 4.x mam przeniesienie driverów z wmbusmetersa (więc z automatu wszystko będzie supportowane). Niestety największy problem to ograniczona pamięć na ESP, głównie RAM.

1 polubienie

Więc jak to sie często robi - koniec wsparcia ESP8266 od danej wersji oprogramowania i jedziemy dalej :slight_smile:.

Problem w tym, że tak się dzieje na ESP32 które ma ponad 300KB RAMU :frowning:

Wmbusmeters napisano na maszyny gdzie 640k dawno temu było standardem :wink:

1 polubienie

Nie znam się na tym zupełnie, ale czy w takich przypadkach nie używa się dodatkowych kości PSRAM na niektórych płytkach DEV?

Tak, ale i tak pierwszym krokiem powinno być wyczyszczenie wmbusmetersa z niepotrzebnych (nam) rzeczy. Dopiero potem będzie wiadomo ile tej pamięci rzeczywiście potrzebujemy i co na rynku jest dostępne w sensownej cenie :slight_smile:

Log z nocy się niestety wysypał, ale rano pusciłem jeszcze raz i wynik jest 125/126 czyli tylko 1 ramka została błędnie odebrana :slight_smile:
Jest lepiej niż mógłbym się spodziewać :slight_smile:
@_Szczepan Stawiam porządną kawkę za to! :+1: Dzięki!

1 polubienie

Wysypał == poszedł restart?

Okno przeglądarki się wysypało (out of memory). Przeglądarka widocznie ten log sobie gdzieś w RAMie buforuje

@_Szczepan Pięknie to wygląda po całej nocy. Leci gorąca kawa z pianką :slight_smile:

2 polubienia

Próbuję odczytać info z watomierza Tauron (Apator Emu3) przy pomocy Magic Meter. WMbus odblokowany, mam adres i klucz ze strony eLicznik:
image
image

Po skonfigurowaniu odbiornika w logach widze tylko

[mbus:034]	Processing T1 A frame

ale niestety nic nie zdekodował. Co może być przyczyną? zły klucz?

mój config wmbus:

[00:04:32][C][wmbus:372]: wM-Bus v3.2.1:
[00:04:32][C][wmbus:385]:   LED:
[00:04:32][C][wmbus:386]:     Pin: GPIO2
[00:04:32][C][wmbus:387]:     Duration: 1000 ms
[00:04:32][C][wmbus:389]:   CC1101 frequency: 868.950 MHz
[00:04:32][C][wmbus:390]:   CC1101 SPI bus:
[00:04:32][C][wmbus:391]:     MOSI Pin: GPIO32
[00:04:32][C][wmbus:392]:     MISO Pin: GPIO19
[00:04:32][C][wmbus:393]:     CLK Pin:  GPIO33
[00:04:32][C][wmbus:394]:     CS Pin:   GPIO23
[00:04:32][C][wmbus:395]:     GDO0 Pin: GPIO22
[00:04:32][C][wmbus:396]:     GDO2 Pin: GPIO21
[00:04:32][C][wmbus:403]:   Available drivers:  amiplus, apator08, apator162, apatoreitn, bmeters, c5isf, compact5, dme07, elf, evo868, fhkvdataiii, flowiq2200, hydrocalm3, hydrus, iperl, itron, izar, kamheat, mkradio3, mkradio4, mkradio4a, multical21, qheat, qwater, rfmtx1, sharky774, topaseskr, ultrimis, unismart, vario451
[00:04:32][C][wmbus:421]:   Meter:
[00:04:32][C][wmbus:422]:     ID: 86023016 [0x05209B68]
[00:04:32][C][wmbus:423]:     Type: amiplus
[00:04:32][C][wmbus:424]:     Mode: T1C1
[00:04:32][C][wmbus:425]:     Key: '51694B453979625A375265764D726B48'

Macie może jakiś pomysł?

jeśli meter_id wpisuję w formacie 0x86023016 to w logach wogole nie widac procesowania ramki T1. Podobnie jeśli mój config nie zawiera klucza

ID oraz klucz nie mają nic wspólnego z tym logiem:

[mbus:034]	Processing T1 A frame

:thinking: w pierwszym poście masz informację:
Ten wątek jest dedykowany dla liczników energii elektrycznej.
Trzymajmy sie zasad, poszukaj odpowiedniego watku dotyczącego wodomierzy i tam zadaj pytanie a napewno odpowiemy :slightly_smiling_face:.

Dzień dobry.

Niedawno wszedłem posiadanie liczka Apator OTUS-3 z PGE.
Zakpiłem Magic Meter-V2 na CC1101 od Mariusza z OLX i próbuję coś zaciągnąć do HA
Jedyny sukces to odczyt całkowitego zużycia energii i całkowitej produkcji.
Brak napięcia na fazach oraz bieżącego zużycia.

Widziałem że koledzy z tego wątku uruchomili taki licznik ale od Taurona, nie wiem czy PGE ma inny soft w takim
samym liczniku czy przyczyna leży gdzie indziej.

Jako że jestem świeży w tym temacie to mogłem popełnić jakiś oczywisty błąd.
Odbiornik leżał 1.5m od skrzynki z licznikiem
Byłbym wdzięczny za poradę jak uzyskać odczyt z pozostałych sensorów.

Mój config:

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

wmbus:
  mosi_pin: GPIO35
  clk_pin:  GPIO36 
  miso_pin: GPIO37
  gdo2_pin: GPIO1 
  gdo0_pin: GPIO2
  cs_pin:   GPIO34
  log_unknown: true
  sync_mode: true

sensor:
  - platform: wmbus
      meter_id: 0x56914504
      type: amiplus
      key: "XXXXX"
      add_prefix: false
      mode: T1C1
      lqi:
        name: "Apator lqi"
      rssi:
        name: "Apator RSSI"
      total_energy_consumption_kwh:
        name: "Total_consumption"
      current_power_consumption_kw:
        name: "Current_consumption"
      total_energy_production_kwh:
        name: "Total_production"  
      current_power_production_kw:
        name: "Current_production"  
      voltage_at_phase_1_v:
        name: "Voltage Phase 1"
      voltage_at_phase_2_v:
        name: "Voltage Phase 2"
      voltage_at_phase_3_v:
        name: "Voltage Phase 3"

Mój log:

[09:54:07][D][mbus:034]: Processing T1 A frame
[09:54:07][V][mbus:040]: Frame: 97271C58D59A59C71994D65A58D58E963A654E62F158B9565999B1B34966656A53C93C6366C8E9D263633594E338B3B2B23B263A666558B7328F266CA4E671B1ACB1C72C5CC698EC4E98CBD1CA72C8EC65969C654E35A5C71A666AC5B1A599ACB233566639668CD656C539B1CAC59AC9CB324DA58B9B44D6D133B1B1A8F134D3A52F23A365C35AC4DB256B4C6CC8EC9CB3134EC4D3633A368EA6CCB499CA744DCD239B14CEB324F1B19CA6C4ED298DC7316639A695AA5A665723399C7467298E8D64CDD1A6596B4C [RAW]
[09:54:07][V][mbus:042]:        63396953D233532DC95CA698EC8D9359CB269C36CC4D6568D395A4E68D3A664E62F259AA72C8D6A558D72C4CEC93A7466CA5998EC999933A96749B4D134E56B4C71A4D656393A695 (272) [RAW]
[09:54:07][V][mbus:052]: Frame: 9E4401060445915601029BF97A3D039005AD8C9A50F7E7DB58BFCA1B157B232E8B8A2A59034EBE58F25D86EDDED4DFB87FB3C4FEE2D99FD97B09DDFA680DF5A88B105B9AB150D7ADE806E48E7603AC70C72D86BD11293E2B5416D1896CD8E2E48D12D11B2B62F8ECA4FC74CBAD728E7D85EAD2CFB44D5BAA96F6594B25DC5EA2B071C6556CDB2097CB173494FFB8B515EE6418D150B7967AB7FA7A3E06FEE169014872E7FC58F5A2E5A72F5CACC7796CDDF15027FF (181) [with CRC]
[09:54:07][V][mbus:095]: Validating CRC for Block1
[09:54:07][V][crc:031]:     calculated: 0x9BF9, read: 0x9BF9
[09:54:07][V][mbus:115]: Validating CRC for Block2
[09:54:07][V][crc:031]:     calculated: 0x157B, read: 0x157B
[09:54:07][V][mbus:115]: Validating CRC for Block3
[09:54:07][V][crc:031]:     calculated: 0xDFB8, read: 0xDFB8
[09:54:07][V][mbus:115]: Validating CRC for Block4
[09:54:07][V][crc:031]:     calculated: 0x8B10, read: 0x8B10
[09:54:07][V][mbus:115]: Validating CRC for Block5
[09:54:07][V][crc:031]:     calculated: 0x86BD, read: 0x86BD
[09:54:07][V][mbus:115]: Validating CRC for Block6
[09:54:07][V][crc:031]:     calculated: 0x2B62, read: 0x2B62
[09:54:07][V][mbus:115]: Validating CRC for Block7
[09:54:07][V][crc:031]:     calculated: 0x5BAA, read: 0x5BAA
[09:54:07][V][mbus:115]: Validating CRC for Block8
[09:54:07][V][crc:031]:     calculated: 0xCB17, read: 0xCB17
[09:54:07][V][mbus:115]: Validating CRC for Block9
[09:54:07][V][crc:031]:     calculated: 0x7A3E, read: 0x7A3E
[09:54:07][V][mbus:115]: Validating CRC for Block10
[09:54:07][V][crc:031]:     calculated: 0xACC7, read: 0xACC7
[09:54:07][V][mbus:115]: Validating CRC for Block11
[09:54:07][V][crc:031]:     calculated: 0x27FF, read: 0x27FF
[09:54:07][V][mbus:062]: Frame: 9E4401060445915601027A3D039005AD8C9A50F7E7DB58BFCA1B232E8B8A2A59034EBE58F25D86EDDED47FB3C4FEE2D99FD97B09DDFA680DF5A85B9AB150D7ADE806E48E7603AC70C72D11293E2B5416D1896CD8E2E48D12D11BF8ECA4FC74CBAD728E7D85EAD2CFB44D96F6594B25DC5EA2B071C6556CDB20973494FFB8B515EE6418D150B7967AB7FA06FEE169014872E7FC58F5A2E5A72F5C796CDDF150 (159) [without CRC]
[09:54:07][D][wmbus:097]: Using driver 'amiplus' for ID [0x56914504] RSSI: -41 dBm LQI: 128 Frame: T1 A T: 9E4401060445915601027A3D039005AD8C9A50F7E7DB58BFCA1B232E8B8A2A59034EBE58F25D86EDDED47FB3C4FEE2D99FD97B09DDFA680DF5A85B9AB150D7ADE806E48E7603AC70C72D11293E2B5416D1896CD8E2E48D12D11BF8ECA4FC74CBAD728E7D85EAD2CFB44D96F6594B25DC5EA2B071C6556CDB20973494FFB8B515EE6418D150B7967AB7FA06FEE169014872E7FC58F5A2E5A72F5C796CDDF150 (159)
[09:54:07][V][utils:291]: 2F2F check after decrypting - OK
[09:54:07][D][wmbus:104]: Decrypted T : 9E4401060445915601027A3D0390052F2F066DC076091935800C78044591560E032088300000008E10032088300000008E20030000000000008E30030000000000008E8010030000000000000E833C2702000000008E10833C2702000000008E20833C0000000000008E30833C0000000000008E8010833C0000000000000AFDC8FC0136240AFDC8FC0262240AFDC8FC0389222F2F2F2F2F2F2F2F2F2F2F2F (159)
[09:54:08][V][sensor:043]: 'Apator lqi': Received new state 128.000000
[09:54:08][D][sensor:094]: 'Apator lqi': Sending state 128.00000  with 0 decimals of accuracy
[09:54:08][V][sensor:043]: 'Apator RSSI': Received new state -41.000000
[09:54:08][D][sensor:094]: 'Apator RSSI': Sending state -41.00000 dBm with 0 decimals of accuracy
[09:54:08][V][wmbus:121]: Publishing 'total_energy_consumption_kwh' = 308.8200
[09:54:08][V][sensor:043]: 'Total_consumption': Received new state 308.820007
[09:54:08][D][sensor:094]: 'Total_consumption': Sending state 308.82001 kWh with 3 decimals of accuracy
[09:54:08][V][wmbus:121]: Publishing 'total_energy_production_kwh' = 0.2270
[09:54:08][V][sensor:043]: 'Total_production': Received new state 0.227000
[09:54:08][D][sensor:094]: 'Total_production': Sending state 0.22700 kWh with 3 decimals of accuracy
[09:54:08][W][component:237]: Component wmbus took a long time for an operation (213 ms).
[09:54:08][W][component:238]: Components should block for at most 30 ms.
[09:56:07][V][rxLoop:167]: Have 272 bytes from CC1101 Rx, RSSI: -41 dBm LQI: 128
[09:56:07][V][rxLoop:172]: Synchronus mode enabled.