Więcej cierpliwości niż 24h?
Jakie masz wkładki ?
Tutaj raczej nic się nie dzieje:
[20:45:50][VV][api.service:540]: on_ping_request: PingRequest {}
[20:45:50][VV][api.service:043]: send_ping_response: PingResponse {}
[20:46:04][VV][api.service:540]: on_ping_request: PingRequest {}
[20:46:04][VV][api.service:043]: send_ping_response: PingResponse {}
[20:46:10][VV][api.service:540]: on_ping_request: PingRequest {}
[20:46:10][VV][api.service:043]: send_ping_response: PingResponse {}
[20:46:11][VV][scheduler:225]: Running interval ‘’ with interval=60000 last_execution=221682 (now=281682)
Masz poprawnie wpisane meter_id:
twoich liczników?
Jak właściwie się to podaje - obecnie z tym walczę?
Na module mam 16192288 to powinienem podać 0x16192288 czy zamienić na hex 0x00F71320?
apator162
Jeżeli numer ma mniej jak 8cyfr trzeba to uzupełnić zerami przed
meter_id: 0x00203960
Jakie wkładki?
Jak pisałem wcześniej (100 x sprawdzane i działało na ESP32) moja nakładka ma numer:
i dopełnienie zer do ośmiu nic nie pomaga w tym przypadku a dla ESP32 nie robiło różnicy czy cyfr jest osiem czy nie.
Edit:
wg mnie nie ma różnicy czy jest osiem cyfr czy nie. Mi działało bez ośmiu (na ESP32)
Według Autora ma to znaczenie.
ESP32 U mnie nr. Z nalepki 203960 meter_id: 0x00203960
Sam sprawdzę - wpisałem na dwa sposoby.
Właśnie odebrałem telegram po zwiększeniu zer do ośmiu. Dałbym sobie rękę obciąć, że wcześniej miałem osiem. Nie chce mi się wierzyć żebym je kasował, albo same się kasowały.
Anyway.
Uzupełniłem. Odebrałem telegram ale teraz znowu milczy.
Jak nic nie leci z kranu telegramy też nie lecą
Niby działa.
Nr trzeba było wpisać w systemie dziesiętnym czyli - jak pisał @artpc:
0x00473662.
Jednakże częstotliwość odbierania nie powala na kolana. Dzisiaj odebrałem dwa telegramy. LQI mam 140, a RSSI -76dBm. Wcześniej - gdy licznik zczytywałem przez RTL, dostawałem telegram przy każdym odkręceniu kranu. Da się jakoś zmusić sprzęt/soft do częstszego odbierania? Parametr force_update mam ustawiony na true.
Na Apatorach ID podane na nakładce jest w zapisie HEX. Dlatego należy przepisać numer z nakładki z 0x z przodu, uzupełniając po 0x zerami do łącznie 8 cyfr (z tymi z nakładki). Jeśli ID by było podane w systemie dziesiętnym, to by działało bez 0x (a nie działa).
Powodem małej ilości sygnałów może być słabawy sygnał z nakładki. Daj odbiornik bliżej licznika. RTL ma znacznie lepszy zasięg odbioru niż CC1101, dlatego działał lepiej. Apator powinien nadawać w dzień max co kilka minut.
Co do wadliwego radia, to jest bardzo duża szansa, że chip jest uwalony. Trochę tego przerobiłem. Na 100" pomaga wymiana chipa na nowy, aczkolwiek koszt niewiele mniejszy niż zakup nowego modułu…
Warto się przyjrzeć samemu chipowi przed wymianą, bo czasem okazuje się że “nogi” wiszą w powietrzu i wystarczy go porządnie przelutować.
Ja straciłem dwa dni na to aby sobie przypomnieć, że mój moduł jest na 433MHz
“Coś” lapał i to mnie zgubiło.
Ponad rok leżał w szufladzie do innego projektu.
To pomogło. Teraz raportuje jak wściekły.
Witam.
Mam podobny problem z odczytem czegokolwiek poprzez moduł: cc1101 868Mhz. (ten zielony, prostokątny, ze spiralną antenką).
Mieszkam w bloku i na kaloryferach mamy podzielniki Apator E-ITN 30.3.
– przykład z jednego z pokoi.
W instrukcji widnieje: Operating frequency: 868 MHz
Radio połączone do NodeMcu v2 wedle danych z aplikacji biblioteki. Log pokazuje połączenie, ale kompletnie radio milczy.
Plik yaml wygląda tak:
esphome:
name: wmbus
friendly_name: WMBus
esp8266:
board: nodemcuv2
# Enable logging
logger:
level: VERY_VERBOSE
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.1.77
subnet: 255.255.255.0
gateway: 192.168.1.254
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Wmbus Fallback Hotspot"
password: "xxxxxxxxxxxx"
captive_portal:
time:
- platform: sntp
id: time_sntp
external_components:
- source: github://SzczepanLeon/esphome-components@main
components: [ wmbus ]
wmbus:
mosi_pin: GPIO13 # D7
miso_pin: GPIO12 # D6
clk_pin: GPIO14 # D5
cs_pin: GPIO2 # D4
gdo0_pin: GPIO5 # D1
gdo2_pin: GPIO4 # D2
clients:
- name: "wmbusmeters"
ip_address: "10.0.0.1"
port: 7227
Log wygląda tak:
INFO ESPHome 2023.12.5
INFO Reading configuration /config/esphome/wmbus.yaml...
INFO Detected timezone 'Europe/Warsaw'
INFO Starting log output from 192.168.1.77 using esphome API
INFO Successfully connected to wmbus @ 192.168.1.77 in 0.006s
INFO Successful handshake with wmbus @ 192.168.1.77 in 2.407s
[21:41:42][I][app:102]: ESPHome version 2023.12.5 compiled on Dec 29 2023, 21:37:45
[21:41:42][C][wifi:573]: WiFi:
[21:41:42][C][wifi:405]: Local MAC: 5C:CF:7F:13:8F:C4
[21:41:42][C][wifi:410]: SSID: 'xxxxxxxxxxxxxxxxx'[redacted]
[21:41:42][C][wifi:411]: IP Address: 192.168.1.77
[21:41:42][C][wifi:412]: BSSID: 78:17:BE:2D:55:D4[redacted]
[21:41:42][C][wifi:414]: Hostname: 'wmbus'
[21:41:42][C][wifi:416]: Signal strength: -56 dB ▂▄▆█
[21:41:42][V][wifi:418]: Priority: 0.0
[21:41:42][C][wifi:420]: Channel: 3
[21:41:42][C][wifi:421]: Subnet: 255.255.255.0
[21:41:42][C][wifi:422]: Gateway: 192.168.1.254
[21:41:42][C][wifi:423]: DNS1: 0.0.0.0
[21:41:42][C][wifi:424]: DNS2: 0.0.0.0
[21:41:42][C][logger:443]: Logger:
[21:41:42][C][logger:444]: Level: VERY_VERBOSE
[21:41:42][C][logger:445]: Log Baud Rate: 115200
[21:41:42][C][logger:447]: Hardware UART: UART0
[21:41:42][C][captive_portal:088]: Captive Portal:
[21:41:42][C][sntp:053]: SNTP Time:
[21:41:42][C][sntp:054]: Server 1: '0.pool.ntp.org'
[21:41:42][C][sntp:055]: Server 2: '1.pool.ntp.org'
[21:41:42][C][sntp:056]: Server 3: '2.pool.ntp.org'
[21:41:42][C][sntp:057]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[21:41:42][C][mdns:115]: mDNS:
[21:41:42][C][mdns:116]: Hostname: wmbus
[21:41:42][V][mdns:117]: Services:
[21:41:42][V][mdns:119]: - _esphomelib, _tcp, 6053
[21:41:42][V][mdns:121]: TXT: friendly_name = WMBus
[21:41:42][V][mdns:121]: TXT: version = 2023.12.5
[21:41:42][V][mdns:121]: TXT: mac = 5ccf7f138fc4
[21:41:42][V][mdns:121]: TXT: platform = ESP8266
[21:41:42][V][mdns:121]: TXT: board = nodemcuv2
[21:41:42][V][mdns:121]: TXT: network = wifi
[21:41:42][V][mdns:121]: TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[21:41:42][C][ota:097]: Over-The-Air Updates:
[21:41:42][C][ota:098]: Address: 192.168.1.77:8266
[21:41:42][C][ota:101]: Using Password.
[21:41:42][C][api:139]: API Server:
[21:41:42][C][api:140]: Address: 192.168.1.77:6053
[21:41:42][C][api:142]: Using noise encryption: YES
[21:41:42][C][wmbus:416]: wM-Bus v2.4.9:
[21:41:42][C][wmbus:418]: Clients:
[21:41:42][C][wmbus:420]: wmbusmeters: 10.0.0.1:7227 TCP [rtl-wmbus]
[21:41:42][C][wmbus:433]: CC1101 frequency: 868.000 MHz
[21:41:42][C][wmbus:434]: CC1101 SPI bus:
[21:41:42][C][wmbus:435]: MOSI Pin: GPIO13
[21:41:42][C][wmbus:436]: MISO Pin: GPIO12
[21:41:42][C][wmbus:437]: CLK Pin: GPIO14
[21:41:42][C][wmbus:438]: CS Pin: GPIO2
[21:41:42][C][wmbus:439]: GDO0 Pin: GPIO5
[21:41:42][C][wmbus:440]: GDO2 Pin: GPIO4
[21:41:42][C][wmbus:447]: Available drivers: amiplus, apator08, apator162, apatoreitn, bmeters, c5isf, compact5, dme07, elf, evo868, fhkvdataiii, hydrocalm3, hydrus, iperl, itron, izar, mkradio3, mkradio4, qheat, qwater, sharky774, topaseskr, ultrimis, unismart, vario451
[21:42:00][VV][scheduler:225]: Running interval '' with interval=60000 last_execution=65808 (now=125808)
[21:42:19][VV][api.service:558]: on_ping_request: PingRequest {}
[21:42:19][VV][api.service:043]: send_ping_response: PingResponse {}
[21:42:42][VV][api.connection:132]: Sending keepalive PING...
[21:42:42][VV][api.service:037]: send_ping_request: PingRequest {}
[21:42:42][VV][api.service:558]: on_ping_request: PingRequest {}
[21:42:42][VV][api.service:043]: send_ping_response: PingResponse {}
[21:42:42][VV][api.service:567]: on_ping_response: PingResponse {}
[21:42:59][VV][api.service:558]: on_ping_request: PingRequest {}
[21:42:59][VV][api.service:043]: send_ping_response: PingResponse {}
Podczas kompilacji na żółto otrzymuję takie warning’i:
.piolibdeps/wmbus/SmartRC-CC1101-Driver-Lib/ELECHOUSE_CC1101_SRC_DRV.cpp:149:3: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
149 | while(digitalRead(MISO_PIN));
| ^~~~~
.piolibdeps/wmbus/SmartRC-CC1101-Driver-Lib/ELECHOUSE_CC1101_SRC_DRV.cpp:150:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
150 | digitalWrite(SS_PIN, HIGH);
| ^~~~~~~~~~~~
.piolibdeps/wmbus/SmartRC-CC1101-Driver-Lib/ELECHOUSE_CC1101_SRC_DRV.cpp: In member function 'void ELECHOUSE_CC1101::setPA(int)':
.piolibdeps/wmbus/SmartRC-CC1101-Driver-Lib/ELECHOUSE_CC1101_SRC_DRV.cpp:498:13: warning: 'a' may be used uninitialized in this function [-Wmaybe-uninitialized]
498 | PA_TABLE[1] = a;
Odległość od radia do najbliższego podzielnika to jakiś metr. Sąsiady i ich kaloryfery z podzielnikami na około, nasze własne w mieszkaniu sztuk 5.
W łazience na liczniki też radio, gdyż spółdzielnia i to odczytuje zdalnie, ale nie sprawdzałem jeszcze co tam siedzi.
Odczytu zero…
Gdzie mogę jeszcze szukać problemu?
Witam.
Mam takie logi z ESPHome.
Czy to oznacza ,że mój CC1101 odbiera jakieś dane? Czy wręcz przeciwnie, coś jest nie tak . A jeśli tak to co dalej z tym zrobić?
[15:43:23][C][wifi:416]: Signal strength: -71 dB ▂▄▆█
[15:43:23][C][wifi:420]: Channel: 1
[15:43:23][C][wifi:421]: Subnet: 255.255.255.0
[15:43:23][C][wifi:422]: Gateway: 192.168.1.1
[15:43:23][C][wifi:423]: DNS1: 192.168.1.1
[15:43:23][C][wifi:424]: DNS2: 0.0.0.0
[15:43:23][C][logger:439]: Logger:
[15:43:23][C][logger:440]: Level: DEBUG
[15:43:23][C][logger:441]: Log Baud Rate: 115200
[15:43:23][C][logger:443]: Hardware UART: UART0
[15:43:23][C][captive_portal:088]: Captive Portal:
[15:43:23][C][sntp:053]: SNTP Time:
[15:43:23][C][sntp:054]: Server 1: '0.pool.ntp.org'
[15:43:23][C][sntp:055]: Server 2: '1.pool.ntp.org'
[15:43:23][C][sntp:056]: Server 3: '2.pool.ntp.org'
[15:43:23][C][sntp:057]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[15:43:23][C][mdns:115]: mDNS:
[15:43:23][C][mdns:116]: Hostname: cieplomierz
[15:43:23][C][ota:097]: Over-The-Air Updates:
[15:43:23][C][ota:098]: Address: cieplomierz.local:8266
[15:43:23][C][ota:101]: Using Password.
[15:43:23][C][api:139]: API Server:
[15:43:23][C][api:140]: Address: cieplomierz.local:6053
[15:43:23][C][api:142]: Using noise encryption: YES
[15:43:23][C][wmbus:372]: wM-Bus v3.1.7:
[15:43:23][C][wmbus:389]: CC1101 frequency: 868.950 MHz
[15:43:23][C][wmbus:390]: CC1101 SPI bus:
[15:43:23][C][wmbus:391]: MOSI Pin: GPIO13
[15:43:23][C][wmbus:392]: MISO Pin: GPIO12
[15:43:23][C][wmbus:393]: CLK Pin: GPIO14
[15:43:23][C][wmbus:394]: CS Pin: GPIO15
[15:43:23][C][wmbus:395]: GDO0 Pin: GPIO5
[15:43:23][C][wmbus:396]: GDO2 Pin: GPIO4
[15:43:23][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
[15:43:27][D][mbus:035]: Processing T1 A frame
[15:43:27][D][mbus:035]: Processing T1 A frame
[15:43:27][D][mbus:035]: Processing T1 A frame
[15:43:40][D][mbus:035]: Processing T1 A frame
[15:43:41][D][mbus:035]: Processing T1 A frame
[15:43:54][D][mbus:035]: Processing T1 A frame
[15:43:55][D][mbus:035]: Processing T1 A frame
Te wpisy "Procesing T1 A frame " schodzą co kilka sekund poza tym co jakiś czs synchronizacja czasu i nic poza tym. Meter ID wziąłem z SerialNumber . A może problem jest w tym że moje mierniki w piwnicy to 3 x sharky775 a nie 774 ?Połączenia sprawdzałem już trzy razy.
Nie wiem czy kupować nowy CC ?
esphome:
name: cieplomierz
friendly_name: Podzielnik
esp8266:
board: nodemcuv2
external_components:
- source: github://SzczepanLeon/esphome-components@main
components: [ wmbus ]
logger:
level: DEBUG
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Cieplomierz Fallback Hotspot"
password: "2myF6fOAyiOl"
# Enable logging
captive_portal:
wmbus:
mosi_pin: GPIO13 # D7
miso_pin: GPIO12 # D6
clk_pin: GPIO14 # D5
cs_pin: GPIO15 # D8
gdo0_pin: GPIO5 # D1
gdo2_pin: GPIO4 # D2
log_unknown: True
time:
- platform: sntp
id: time_sntp
sensor:
- platform: wmbus
meter_id: 76047533
type: sharky774
total_energy_consumption_gj:
name: "total_energy_consumption_gj"
power_kw:
name: "power_kw"
Trochę mam wrażenie, że nikt nie czyta co pisuje autor @_Szczepan
W pierwszym etapie uruchomienia NIE definiujemy sensorów dla liczników, tylko zbieramy logi (ewentualnie z podwyższonym poziomem logowania).
Dopiero gdy znamy ID liczników na podstawie analizy telegramów z logów definiujemy sensory.
Nc nie trzeba zerami uzupełniać - a przynajmniej u mnie.
Proszę nie powielajcie tej bzdury. Pewnie gdzieś w jakimś starym kodzie (nie moim) taki był wymóg.
Teraz to jest herezja.
Te wpisy "Procesing T1 A frame " schodzą co kilka sekund
Czyli CC1101 coś odbiera. Mozesz ustawić log na VERBOSE oraz wywalić sensory z konfiguracji.
OK i teraz ramki wyglądają tak
[19:20:04][V][rxLoop:155]: Have 164 bytes from CC1101 Rx
[19:20:04][D][mbus:035]: Processing T1 A frame
[19:20:04][V][mbus:039]: Frame: 67271C99934D34B4D959C4DA7171F509738381275E1F6DDCCD70E7312F13A3B1973258B663562F18E973198BB342E9C4B659A71A6C8D371C8ECB2598DB1A96C971A7271C99934D34B4D959C4DA71659CA5CC9C4E6CA359665670E7312F13A3B1973258B663562F18E973198BB342E9C4B659A71A6C8D371C8ECB2598DB1A96C971A7271C99934D34B4D959C4DA71659CA5CC9C4E6CA359665659994D972B31C71B256B6B (164) [RAW]
[19:20:04][V][3of6:083]: Decode 3 out of 6 failed..
[19:20:08][V][rxLoop:155]: Have 164 bytes from CC1101 Rx
[19:20:08][D][mbus:035]: Processing T1 A frame
[19:20:08][V][mbus:039]: Frame: 67271C99934D38DB25953B167171E52595C69C3995968CDCB4965B2671966CD1CA71A72938F12DAD298CB9963A66966B1C65672B318ECA5CCB4B1C729993A72A638D271C99934D38DB25953B1671659C8D658D4E6B0B596656965B2671966CD1CA71A72938F12DAD298CB9963A66966B1C65672B318ECA5CCB4B1C729993A72A638D271C99934D38DB25953B1671659C8D658D4E6B0B596656599C5CB1397471334DB0B0 (164) [RAW]
[19:20:08][V][3of6:083]: Decode 3 out of 6 failed..
67271C99934D34B4D959C4DA7171F509738381275E1F6DDCCD70E7312F13A3B1973258B663562F18E973198BB342E9C4B659A71A6C8D371C8ECB2598DB1A96C971A7271C99934D34B4D959C4DA71659CA5CC9C4E6CA359665670E7312F13A3B1973258B663562F18E973198BB342E9C4B659A71A6C8D371C8ECB2598DB1A96C971A7271C99934D34B4D959C4DA71659CA5CC9C4E6CA359665659994D972B31C71B256B6B
Coś odbiera ale jest problem z dekodowaniem.
Mozesz:
a) dodac opcje sync_mode: True do YAMLa
b) zmniejszyć odległość (jak daleko teraz jest CC1101?)