Desculpem a confusão na publicação anterior, mas já estou a ver que sem ajuda não vou lá.
Muito obrigado pela atenção dispensada.
Ok, vamos simplificar as coisas; admito que não sou fã do método utlizado que ‘enfia’ tudo para o esphome.
Não é ideal, mas… vamos tentar de outra forma.
Imagino que seja a primeira configuração que estás a fazer para o device e ainda não tenhas o id e o type do meter, certo?
Se for o caso, cria um novo device no ESPHome e utiliza esta configuração - alterando os valores em “XXXX”, em ap, ota, api que são criados (copia esses valores e insere-os nesta configuração) quando crias o novo device:
esphome:
name: watermeter
friendly_name: watermeter
esp32:
board: az-delivery-devkit-v4
framework:
type: arduino
logger:
id: appslogger
level: DEBUG
baud_rate: 0
logs:
wmbus: DEBUG
wMBus-lib: WARN
sensor: WARN
sensor.filter: WARN
text_sensor: WARN
api.service: ERROR
json: ERROR
mqtt: WARN
scheduler: ERROR
wifi: WARN
component: ERROR
api: WARN
time:
- platform: sntp
id: time_sntp
timezone: Europe/Lisbon
servers:
- 0.at.pool.ntp.org
- 0.pool.ntp.org
- 1.pool.ntp.org
api:
encryption:
key: "XXXX" #altera valor
ota:
- platform: esphome
password: "XXXX" #altera valor
wifi:
networks:
- ssid: "XXXXX" #coloca o SSID do teu WIFI
password: "XXXXX" #coloca a password
ap:
ssid: "Watermeter Fallback Hotspot"
password: "XXXX" #altera valor
captive_portal:
external_components:
- source: github://SzczepanLeon/esphome-components@main
wmbus:
mosi_pin: GPIO23 ## SI: braun 3: MOSI Attached to Hardware SPI controller MOSI SPI Interface
miso_pin: GPIO19 ## SO: grün 5: MISO Attached to Hardware SPI controller MISO SPI Interface
clk_pin: GPIO18 ## SCLK: violett 4: SCK Attached to Hardware SPI controller CLK
cs_pin: GPIO05 ## CSN: orange 8: CSN Attached to Hardware SPI controller
gdo0_pin: GPIO16 ## GD00: gelb 7: RX Clock output. High Impedance !
gdo2_pin: GPIO17 ## GD02: weiss 6: TX FIFO status signals. High Impedance !
all_drivers: True
log_all: True
Se tudo correr bem, irá surgir no log algo assim:
[12:07:35][D][mbus:035]: Received T1 A frame
[12:07:35][I][wmbus:085]: izar [0xXXXXXXX] RSSI: -76dBm T: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (26) T1 A
[12:07:39][D][mbus:035]: Received T1 A frame
[12:07:39][I][wmbus:085]: izar [0xXXXXXXX] RSSI: -83dBm T: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (26) T1 A
Daí podemos descobrir o type; que neste caso é “izar”, e o id do meter que é o valor seguinte [0xXXXXXX]. Mas como vês surgem 2 meters - podem até aparecer mais, e daí eu dizer que não é o método ideal, pois a forma de descobrir qual será o teu será pela força do sinal RSSI: quando maior, mais perto estará do teu device.
Mas de qualquer forma, pode-se depois confirmar com a criação dos sensores e confirmar se o valor total que o contador apresenta bate certo, ou ir alterando o id do meter até ter o mesmo valor do contador.
Estando isso feito apenas tens de acrescentar os sensores/switches à configuração:
sensor:
- platform: wmbus
meter_id: 0xXXXXXXX #altera pelo id do teu contador
type: izar #altera pelo type do teu contador
sensors:
- name: "my hot water RSSi"
field: "rssi"
accuracy_decimals: 0
unit_of_measurement: "dBm"
device_class: "signal_strength"
state_class: "measurement"
entity_category: "diagnostic"
- name: "Watermeter Display"
field: "total"
accuracy_decimals: 3
unit_of_measurement: "m³"
device_class: "water"
state_class: "total_increasing"
icon: "mdi:counter"
switch:
- platform: restart
name: "Restart Device"
id: restart_switch
icon: mdi:restart
Tens toda a razão, visto assim fica tudo muito mais claro, vou testar e depois já comento.
Mais uma vez muitíssimo obrigado pela atenção.
Olá, tenho este log, devo ter algo mal:
INFO ESPHome 2024.9.1
INFO Reading configuration /config/esphome/watermeter.yaml...
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Starting log output from 192.168.17.48 using esphome API
INFO Successfully connected to watermeter @ 192.168.17.48 in 0.122s
INFO Successful handshake with watermeter @ 192.168.17.48 in 0.063s
[21:58:08][I][app:100]: ESPHome version 2024.9.1 compiled on Sep 27 2024, 21:14:48
[21:58:08][C][logger:185]: Logger:
[21:58:08][C][logger:186]: Level: DEBUG
[21:58:08][C][logger:188]: Log Baud Rate: 0
[21:58:08][C][logger:189]: Hardware UART: UART0
[21:58:08][C][logger:193]: Level for 'wmbus': DEBUG
[21:58:08][C][logger:193]: Level for 'wMBus-lib': WARN
[21:58:08][C][logger:193]: Level for 'sensor': WARN
[21:58:08][C][logger:193]: Level for 'sensor.filter': WARN
[21:58:08][C][logger:193]: Level for 'text_sensor': WARN
[21:58:08][C][logger:193]: Level for 'api.service': ERROR
[21:58:08][C][logger:193]: Level for 'json': ERROR
[21:58:08][C][logger:193]: Level for 'mqtt': WARN
[21:58:08][C][logger:193]: Level for 'scheduler': ERROR
[21:58:08][C][logger:193]: Level for 'wifi': WARN
[21:58:08][C][logger:193]: Level for 'component': ERROR
[21:58:08][C][logger:193]: Level for 'api': WARN
[21:58:08][C][captive_portal:089]: Captive Portal:
[21:58:08][C][sntp:048]: SNTP Time:
[21:58:08][C][sntp:049]: Server 1: '0.at.pool.ntp.org'
[21:58:08][C][sntp:050]: Server 2: '0.pool.ntp.org'
[21:58:08][C][sntp:051]: Server 3: '1.pool.ntp.org'
[21:58:08][C][sntp:052]: Timezone: 'WET0WEST,M3.5.0/1,M10.5.0'
[21:58:08][C][mdns:116]: mDNS:
[21:58:08][C][mdns:117]: Hostname: watermeter
[21:58:08][C][esphome.ota:073]: Over-The-Air updates:
[21:58:08][C][esphome.ota:074]: Address: 192.168.17.48:3232
[21:58:08][C][esphome.ota:075]: Version: 2
[21:58:08][C][esphome.ota:078]: Password configured
[21:58:08][C][safe_mode:018]: Safe Mode:
[21:58:08][C][safe_mode:020]: Boot considered successful after 60 seconds
[21:58:08][C][safe_mode:021]: Invoke after 10 boot attempts
[21:58:08][C][safe_mode:023]: Remain in safe mode for 300 seconds
[21:58:08][C][wmbus:299]: wM-Bus v4.0.5-1.17.1-b8f4a945:
[21:58:08][C][wmbus:316]: MAC: CDF9D108
[21:58:08][C][wmbus:317]: CC1101 frequency: 868.950 MHz
[21:58:08][C][wmbus:318]: CC1101 SPI bus:
[21:58:08][E][wmbus:320]: Check connection to CC1101!
[21:58:08][C][wmbus:322]: MOSI Pin: GPIO23
[21:58:08][C][wmbus:323]: MISO Pin: GPIO19
[21:58:08][C][wmbus:324]: CLK Pin: GPIO18
[21:58:08][C][wmbus:325]: CS Pin: GPIO5
[21:58:08][C][wmbus:326]: GDO0 Pin: GPIO16
[21:58:08][C][wmbus:327]: GDO2 Pin: GPIO17
[21:58:08][C][wmbus:333]: Available drivers: wme5, weh_07, watertech, waterstarm, vario451mid, vario451, vario411, unknown, unismart, ultrimis, ultraheat, tsd2, topaseskr, supercom587, sontex868, sharky774, sharky, sensostar, rfmtx1, rfmamb, qwater, qualcosonic, qsmoke, qheat_55_us, qheat, qcaloric, q400, pollucomf, piigth, omnipower, nemo, munia, multical21, mkradio4a, mkradio4, mkradio3, minomess, microclima, lse_08, lse_07_17, lansenth, lansensm, lansenrp, lansenpu, lansendw, kampress, kamheat, izar, iwm
[21:58:08][E][component:082]: Component wmbus is marked FAILED
[21:58:40][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[21:58:40][D][esp32.preferences:114]: Saving 1 preferences to flash...
[21:58:40][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
Olá, já verifiquei todas as ligações e parecem-me bem, pela foto podem-me confirmar que está tudo ok?
já troquei o 19 com o 23 e dá o mesmo erro.
À primeira vista as conexões anteriores parecem estar certas.
Experimenta, ainda assim, fazer um teste de continuidade entre a solda nas traseiras do CC1101 e os pins inferiores do ESP32.
Em último caso pode até ser um problema de um dos componentes; daí eu gostar de ter sempre mais do que um - pelo sim, pelo não.
Edit:
No github vês, em issues, muita gente a queixar-se de boards CC1101 defeituosas…
Eu comprei esta.
OK, Marco, quase de certeza que deve ser a placa CC1101 com defeito, vou tentar comprar de outro fornecedor.
obg.
Por baixo facilmente fazem shunt com o ground plane, basta calor a mais.
Pelo preço provavelmente há muitos defeituosos.
Olá, já recebi o novo CC1101 de outro fornecedor e este já funciona,
[21:06:53][D][mbus:035]: Received T1 A frame
[21:06:53][I][wmbus:091]: izar [0x21xxxxxxx] RSSI: -79dBm T: 1944304CE3B14F214404B131180013E6C41CD3CCFEC69E2B6004 (26) T1 A
[21:07:02][D][mbus:035]: Received T1 A frame
Mais uma vez obrigado pela ajuda.
Isto é bastante pequeno…
Talvez com uma barra de pins: 1.27mm.
Esse são 2.54mm?
Azuis são.
É para soldar como SMD. Não sei o que é pior
Janz / Arrow (maddalena)
- 19 44 2434 8207 AABBCCDD 1FC0
- A2 CD4F0013 98 00E8784E
- F9CD13D1 0B04 157E
19 - packet size
44 - tipo T1
2434 - fabricante “MAD”
8207 - versao etc
DDCCBBAA - ID
1FC0 - crc
A2 - Cl bloco2
CD4F0013
98 - algum marcador
00E8784E - leitura encriptada
F9CD13D1 - leitura do ultimo mes encriptada
0B04 - data da ultima leitura encriptada
157E - crc
2024-11-12
A encriptação do Janz/Arrow é semelhante ao Izar.
Estranho, nos Izar que experimentei não encontrei nenhum com os dados encriptados.
Porque existe duas chaves internas no driver.
Pois, foi o que imaginei.
Actualmente o meu fork,
ou suporta Izar ou suporta Arrow.
Na Figueira da Foz é um sistema mesh 868mhz proprietário criado (ou modificado) na Universidade de Coimbra.
Em Coimbra é um sistema espanhol nos 169mhz.
Talvez proprietário ou wmbus modo N.
Apesar do oms/wmbus ser um standard europeu, há muita variação não muito standard.
Oms = Open Metering System.