Dodałem ale w HA mam stan “nieznany”
Czekaj…
A jak yaml wyglada w sekcji sensors? ID masz poprawne? Klucz z zerami dodałeś?
@szczepan
Izar R4 pięknie wszystko działa i się konfiguruje, dzięki wielkie świetna robota. Ale chciałem dziś zaktualizować i wywala mi poniższy błąd.
Error: Package version 0.9.13+sha.9e415bd doesn't satisfy requirements 0.9.12 based on PackageMetaData <type=library name=wMbus-lib version=0.9.13+sha.9e415bd spec={'owner': None, 'id': None, 'name': 'wMbus-lib', 'requirements': '0.9.12', 'uri': 'git+https://github.com/SzczepanLeon/wMbus-lib'}
sensor:
- platform: wmbus
name: "Wodomierz"
meter_id: 0x000xxxxx
type: apator162
I wskoczyła wartość w HA:
2 262 010,250 m³
EDIT
Dodałem Key z zerami i teraz mam wartość w HA:
0,021 m³
Zagraj w totka ![]()
@bodek85 Wywal katalogi tymczasowe (.build i .esphome).
Ale teraz jak dodałem Key z zerami to jest dobrze bo pokazuje 0.021m3 czyli 21L jak napisałeś.
Ale dalej przy kompilacji softu mam na żółto takie info:
/data/licznik-woda/.piolibdeps/licznik-woda/SmartRC-CC1101-Driver-Lib/ELECHOUSE_CC1101_SRC_DRV.cpp: In member function 'void ELECHOUSE_CC1101::Reset()':
/data/licznik-woda/.piolibdeps/licznik-woda/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));
| ^~~~~
/data/licznik-woda/.piolibdeps/licznik-woda/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);
| ^~~~~~~~~~~~
/data/licznik-woda/.piolibdeps/licznik-woda/SmartRC-CC1101-Driver-Lib/ELECHOUSE_CC1101_SRC_DRV.cpp: In member function 'void ELECHOUSE_CC1101::setPA(int)':
/data/licznik-woda/.piolibdeps/licznik-woda/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;
Działa? Olej. To z zewnętrznej biblioteki. Chcesz się pozbyć to zmień na ESP32 albo odpowiednio ustaw kompilator.
@_Szczepan
U mnie podobnie jak u @bodek85 , przy kompilacji błąd biblioteki.
Pomimo nowej 0.9.13 domaga się starszej wersji 0.9.12 ![]()
Library Manager: Installing git+https://github.com/SzczepanLeon/wMbus-lib @ 0.9.12
INFO Installing git+https://github.com/SzczepanLeon/wMbus-lib @ 0.9.12
git version 2.30.2
Cloning into '/data/cache/platformio/cache/tmp/pkg-installing-wbfo3kt2'...
**Error: Package version 0.9.13+sha.9e415bd doesn't satisfy requirements 0.9.12 based on PackageMetaData <type=library name=wMbus-lib version=0.9.13+sha.9e415bd spec={'owner': None, 'id': None, 'name': 'wMbus-lib', 'requirements': '0.9.12', 'uri': 'git+https://github.com/SzczepanLeon/wMbus-lib'}**
Wywal pliki tymczasowe, albo poczytaj o refresh - ustaw na 0
Wywaliłem wszystko i ponowna instalacja i jest OK
Dzięki
Dzięki za podpowiedź
dopisanie do external_components opcji refresh: 0d
pomogło i jest OK.
A czy przykładając magnes do kontaktronu w nakładce zmienia się wtedy ilość wskazań m3 ?
Nie wiem też czemu ale sensor pokazuje mi zużycie 0,021m3 czyli 21L. Dodany mam sensor w Home Asistant w dashboard ENERGIA i tam cały czas mam 0L. Minęły już ok 2h i dalej nic.
Nie. Ustawią się tylko flagi ( o ile wykrywanie jest włączone ) i w ramce będą dane n.t. czasu wystąpienia zdarzenia. Nie wpływa to na odczyt, a przynajmniej nic mi nie wiadomo na ten temat.
Szczepan zaktualizowałem ESPHome do 2022.12.7 i jest problem przy kompilacji z wmbusgateway:
src/esphome/components/wmbusgw/wmbusgw_component.cpp: In member function 'virtual void esphome::wmbusgw::WMBusGwComponent::loop()':
src/esphome/components/wmbusgw/wmbusgw_component.cpp:113:52: error: qualified-id in declaration before '(' token
const LogString *WMBusGwComponent::format_to_string(Format format) {
^
src/esphome/components/wmbusgw/wmbusgw_component.cpp:124:55: error: qualified-id in declaration before '(' token
const LogString *WMBusGwComponent::transport_to_string(Transport transport) {
^
src/esphome/components/wmbusgw/wmbusgw_component.cpp:135:35: error: qualified-id in declaration before '(' token
void WMBusGwComponent::dump_config() {
^
src/esphome/components/wmbusgw/wmbusgw_component.cpp: At global scope:
src/esphome/components/wmbusgw/wmbusgw_component.cpp:155:1: error: expected '}' at end of input
} // namespace esphome
^
src/esphome/components/wmbusgw/wmbusgw_component.cpp:3:19: note: to match this '{'
namespace esphome {
^
Compiling /data/wmbus-m/.pioenvs/wmbus-m/src/esphome/core/controller.cpp.o
Compiling /data/wmbus-m/.pioenvs/wmbus-m/src/esphome/core/entity_base.cpp.o
*** [/data/wmbus-m/.pioenvs/wmbus-m/src/esphome/components/wmbusgw/wmbusgw_component.cpp.o] Error 1
Spróbuj na najnowszej wersji.
btw. możesz przenieść się na wmbus, umieściłem tam też zawartość wmbusgw.
@MateuszŁukasik Zainstaluj nowszą wersję komponentu – poprawiłem obsługę LEDa.
Przeniesienie się na wmbus pomogło
Cześć
Korzystam z esphome i konfiguracji dla Apator 16-2. Mam podłączony nodemcu v3 z CC1101.
Wszystko do tej pory działało, aż do momentu dzisiejszego update dla esphome.
Wyrzuca mi w logach takie coś, a niczego nie zmieniałem:
INFO Reading configuration /config/esphome/woda-zuzycie.yaml...
Failed config
wmbus: [source /config/esphome/woda-zuzycie.yaml:38]
Component wmbus requires component time.
mosi_pin: GPIO13
miso_pin: GPIO12
clk_pin: GPIO14
cs_pin: GPIO2
gdo0_pin: GPIO5
gdo2_pin: GPIO4
Moja konfiguracja
esphome:
name: woda-zuzycie
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: "x"
ota:
password: "x"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Woda-Zuzycie Fallback Hotspot"
password: "x"
captive_portal:
wmbus:
mosi_pin: GPIO13
miso_pin: GPIO12
clk_pin: GPIO14
cs_pin: GPIO2
gdo0_pin: GPIO5
gdo2_pin: GPIO4
sensor:
- platform: wmbus
name: "Wodomierz"
meter_id: 0xXXXXX
type: apator162
key: "00000000000000000000000000000000"
filters:
offset: -214.264
@_Szczepan , wczoraj dodałeś do wMbus-lib detekcję wersji CC1101
czy można do warunku dopisać poza 255 też 0 ?? Bez podłączonego CC1101 zmienna cc1101Version ma wartość 0 i kod leci dalej a powinien zakończyć się tak jak dla wartości 255, może wtedy wyelimuje się te bootloopy esp ?? Wg dokumentacji cc1101 powinien zwracać wartość 20(0x14), choć nie zarzekają się że tak będzie ![]()
Dziękuje
Działa
przeoczyłem.
Pozdrawiam
Dodam też 0. Boot loopy powinny być wyeliminowane – teraz komponent jest znaczony jako failed.