jaka to wersja?
test_01_01?
main
Wystarczy ze w YAML masz
refresh: 0d
i go zaciągnie (mozesz dać clean wcześniej).
Udało mi się zmusić ESP32 Wroom do obsługi czterech wodomierzy z wysyłaniem danych po MQTT przez NAT. HA ładnie dane odbiera na bieżąco.
Sprawa była prosta, wystarczyło wyczyścić z HA wszystkie pliki budowania, jakie przez ostatni czas nazbierały się w katalogach.
Dodam, że ESP jest oddalone od liczników od 5m do kilkunastu metrów ścian i stropów. Antena standard dołączona do cc1101.
Dziękuję za sugestię i porady.
Ciekawe jaki mechanizm tu zadziałał?
Może poprostu kolejna wersja lepiej działa?
Dobre pytanie. Już chciałem wymienić ESP32 na inny model ale po wgraniu programu diagnostycznego jeszcze raz od początku skompilowałem program. Po uruchomieniu pojawiły się inny format logów i zaczął przetwarzać telegramy i wysyłać je po MQTT do HA.
Na razie tego już nie dotykam, czekam aż wejdą poprawki na ESP D1 mini albo zamienię go na ESP32 S2 mini.
Ciekawe. Inny z mojego komponentu czy też ogólnie z ESPHome?
Z Twojego komponentu. Tak mam aktualnie:
12:05:41[I}[wmbus:085]apator162 [0x07375077] RSSI: -55dBm T: 6E4401067750370705077A8700608556B64B7B2782076F6CE00D4CA53E8CF37E329F1946C4010F33666CA5DD4CDF3677D13B11BE40CD44698BC6E348AAEDB6AE811876F8B7AF26C130E617AAC08216816D7D6DCBBB70CAECA25BD474E4C7B75BE8BDA373560D2939BE63CB86D797A7 (111) T1 A
12:05:41[D][meters.cpp:1993](meter) created ESPHome apator162 07375077 encrypted
12:05:41[D][meters.cpp:922] (meter) ESPHome(0) apator162 handling telegram from 07375077.M=APA.V=05.T=07
12:05:41[D][sensor:094] 'RSSI Ciepla woda': Sending state -55.00000 dBm with 0 decimals of accuracy
12:05:41[D][sensor:094]'Ciepla woda': Sending state 0.14000 m³ with 3 decimals of accuracy
I tak ma być. Chcesz więcej informacji to daj VERBOSE.
Widocznie wcześniej nie ładowałeś najnowszej wersjii.
Hej, pierwsza próba z Twoim komponentem i takie błędy w trakcie kompilacji otrzymuje.
In file included from src/esphome/components/wmbus/dvparser.h:23,
from src/esphome/components/wmbus/meters.h:22,
from src/esphome/components/wmbus/wmbus.cpp:4:
src/esphome/components/wmbus/units.h:102:7: error: expected identifier before '(' token
X(HZ,hz,"Hz",Frequency,"hz") \
^~
src/esphome/components/wmbus/units.h:129:53: note: in definition of macro 'X'
#define X(cname,lcname,hrname,quantity,explanation) cname,
^~~~~
src/esphome/components/wmbus/units.h:130:5: note: in expansion of macro 'LIST_OF_UNITS'
LIST_OF_UNITS
^~~~~~~~~~~~~
src/esphome/components/wmbus/units.h:102:7: error: expected '}' before '(' token
X(HZ,hz,"Hz",Frequency,"hz") \
^~
src/esphome/components/wmbus/units.h:129:53: note: in definition of macro 'X'
#define X(cname,lcname,hrname,quantity,explanation) cname,
^~~~~
src/esphome/components/wmbus/units.h:130:5: note: in expansion of macro 'LIST_OF_UNITS'
LIST_OF_UNITS
^~~~~~~~~~~~~
src/esphome/components/wmbus/units.h:128:1: note: to match this '{'
{
^
src/esphome/components/wmbus/units.h:102:7: error: expected unqualified-id before numeric constant
X(HZ,hz,"Hz",Frequency,"hz") \
^~
src/esphome/components/wmbus/units.h:129:53: note: in definition of macro 'X'
#define X(cname,lcname,hrname,quantity,explanation) cname,
^~~~~
src/esphome/components/wmbus/units.h:130:5: note: in expansion of macro 'LIST_OF_UNITS'
LIST_OF_UNITS
^~~~~~~~~~~~~
src/esphome/components/wmbus/units.h:102:7: error: expected ')' before numeric constant
X(HZ,hz,"Hz",Frequency,"hz") \
^~
src/esphome/components/wmbus/units.h:129:53: note: in definition of macro 'X'
#define X(cname,lcname,hrname,quantity,explanation) cname,
^~~~~
src/esphome/components/wmbus/units.h:130:5: note: in expansion of macro 'LIST_OF_UNITS'
LIST_OF_UNITS
^~~~~~~~~~~~~
src/esphome/components/wmbus/units.h:133:1: error: expected declaration before '}' token
};
^
Compiling .pioenvs/wmbus-test/src/esphome/core/helpers.cpp.o
Compiling .pioenvs/wmbus-test/src/esphome/core/log.cpp.o
*** [.pioenvs/wmbus-test/src/esphome/components/wmbus/wmbus.cpp.o] Error 1
========================= [FAILED] Took 15.64 seconds =========================
Co zrobić, żeby się skompilowało ?
A nie pokażesz YAMLa?
Możesz podać na jakim sprzęcie ESP32?
Dariusz, czy możesz podesłać mi swój YAML? Bo coś chyba sobie w skrypcie popsułem, i nie odbieram niczego sensownego.
Proszę, u mnie działa ta konfiguracja
UNISMART x 1
APATOR162 x 2
GAMA350 x 2 (amiplus)
odczyty gazomierz UNISMART
odczyty energia PGE AMIPLIS
Import
Export
Wodomierze odczytuję średnio co 2-5 minut w ciągu dnia między 7:00 a 17:00
Po 17:00 odczyty są rzadsze i spływają co 10 do 15 minut
### ESPOME ver 1
# antena wewnętrzna
esphome:
name: "liczniki_esp"
esp32:
board: nodemcu-32s
framework:
type: arduino
time:
- platform: sntp
id: time_sntp
external_components:
- source: github://SzczepanLeon/esphome-components@4.0.8
components: [ wmbus ]
# Logi systemowe dostępne opcje 'NONE', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'VERBOSE', 'VERY_VERBOSE'.
logger:
level: VERBOSE
web_server:
port: 80
api:
reboot_timeout: 36000s
encryption:
key: "/usV//VFUokEn296076onuYnhQ0iWEnPJnGBunYwp04="
ota:
platform: esphome
password: "e34d0c3980ac9492897724849c021acd"
# Konfiguracja sieci LAN
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: none
manual_ip:
static_ip: 10.0.0.249
gateway: 10.0.0.1
subnet: 255.255.255.0
captive_portal:
wmbus:
# frequency: 868.950
# all_drivers: False
# sync_mode: True
# log_all: True
mosi_pin: GPIO32
clk_pin: GPIO33
miso_pin: GPIO19
gdo2_pin: GPIO21
gdo0_pin: GPIO22
cs_pin: GPIO23
led_blink_time: "1s"
#########################################################################################################
mqtt:
broker: !secret mqtt_ip1
port: !secret mqtt_port1
username: !secret mqtt_username1
password: !secret mqtt_password1
clients:
- name: "wmbusmeters"
ip_address: "10.0.0.56"
port: 7227
sensor:
# APATOR WODOMIERZ GŁÓWNY
- platform: wmbus
meter_id: 0x@@@@@@@@
type: apator162
key: "00000000000000000000000000000000"
sensors:
- name: "RSSI glowny"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
- name: "ESP_wodomierz_glowny"
field: "total"
accuracy_decimals: 3
unit_of_measurement: "m3"
device_class: "water"
state_class: "total_increasing"
icon: "mdi:water"
# APATOR WODOMIERZ OGRODOWY
- platform: wmbus
meter_id: 0x@@@@@@@@
type: apator162
key: "00000000000000000000000000000000"
sensors:
- name: "RSSI ogrodowy"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
- name: "ESP_wodomierz_ogrodowy"
field: "total"
accuracy_decimals: 3
unit_of_measurement: "m3"
device_class: "water"
state_class: "total_increasing"
icon: "mdi:water"
# UNISMART GAZOMIERZ
- platform: wmbus
meter_id: 0x@@@@@@@@
type: unismart
key: "00000000000000000000000000000000"
sensors:
- name: "RSSI Gazomierz"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
- name: "Licznik gazu aktualny"
field: "total"
unit_of_measurement: "m3"
icon: "mdi:gas-burner"
device_class: "gas"
accuracy_decimals: 3
- name: "Licznik gazu poprzedni"
field: "target"
icon: "mdi:gas-burner"
unit_of_measurement: "m3"
device_class: "gas"
accuracy_decimals: 3
# GAMA 350 LICZNIK ENERGII
- platform: wmbus
meter_id: 0x@@@@@@@@
type: amiplus
key: "000000000000000000000000000"
sensors:
- name: "Gama350 RSSI"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
########################################
##### Liczniki #######################
- name: "Gama350 180"
field: "total_energy_consumption"
accuracy_decimals: 3
unit_of_measurement: "kwh"
device_class: "energy"
state_class: "total_increasing"
icon: "mdi:transmission-tower-import"
- name: "Gama350 280"
field: "total_energy_production"
accuracy_decimals: 3
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "total_increasing"
icon: "mdi:transmission-tower-export"
########################################
##### Moc #######################
- name: "Gama350 Moc importu"
field: "current_power_consumption"
accuracy_decimals: 3
unit_of_measurement: "kw"
device_class: "power"
state_class: "measurement"
icon: "mdi:lightning-bolt"
- name: "Gama350 Moc exportu"
field: "current_power_production"
accuracy_decimals: 3
unit_of_measurement: "kw"
device_class: "power"
state_class: "measurement"
icon: "mdi:lightning-bolt"
########################################
##### Napięcia #######################
- name: "Gama350 napiecie na fazie 1"
field: "voltage_at_phase_1"
accuracy_decimals: 0
unit_of_measurement: "v"
device_class: "voltage"
state_class: "measurement"
icon: "mdi:sine-wave"
- name: "Gama350 napiecie na fazie 2"
field: "voltage_at_phase_2"
accuracy_decimals: 0
unit_of_measurement: "v"
device_class: "voltage"
state_class: "measurement"
icon: "mdi:sine-wave"
- name: "Gama350 napiecie na fazie 3"
field: "voltage_at_phase_3"
accuracy_decimals: 0
unit_of_measurement: "v"
device_class: "voltage"
state_class: "measurement"
icon: "mdi:sine-wave"
text_sensor:
- platform: wifi_info
ip_address:
name: 'Adress IP ESP'
icon: mdi:wifi
ssid:
name: 'ESP w sieci'
icon: mdi:wifi-strength-2
button:
- platform: restart
name: "Restart ESP"
Dzięki. Mam w sumie to samo. I nie odbiera, mimo że odbierało 2 miesiące temu całkiem sporo. … Częstotliwość radiowa…?
Cześć, w jakich odstępach czasu dostajecie odczyty licznika prądu przez komponent ?
Dobra. Mój problem, że nic nie czytało tylko jakieś syfy były … naprawiło przywrócenie do “factory.bin”.
Jak wgrałem wersję 4.0 + all_drivers, to miałem problem w ogóle z OTA. Jakoś się udało, ale … coś zostało we flash’u.
Resolved.
EDIT: yaml musi być jak najprostszy, by nic nie konkurowało o CPU. Dodanie MQTT, web, czy nawet logging=verbose powoduje redukcję rozpoznawalnych ramek.
Co może powodować powtarzający się co chwilę taki komunikat w logach:
Dodane 2 wodomierze - mkradio4