Ultimate Reader czytnik wM-Bus - nowa konstrukcja opracowana przez @_Szczepan (SzczepanLeon)

telegram=|2944791A6622000003037A50000020_2F2F041332050000844013000000002F2020202020202020202020|

Auto driver    : not found!
Similar driver : apator08 04/12
Using driver   : ultraheat 00/00
000   : 29 length (41 bytes)
001   : 44 dll-c (from meter SND_NR)
002   : 791a dll-mfct (FSY)
004   : 66220000 dll-id (00002266)
008   : 03 dll-version
009   : 03 dll-type (Gas meter)
010   : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
011   : 50 tpl-acc-field
012   : 00 tpl-sts-field (OK)(OK)
013   : 0020 tpl-cfg 2000 (synchronous )
015   : 2F skip
016   : 2F skip
017   : 04 dif (32 Bit Integer/Binary Instantaneous value)
018   : 13 vif (Volume l)
019 C!: 32050000 ("volume_m3":1.33)
023   : 84 dif (32 Bit Integer/Binary Instantaneous value)
024   : 40 dife (subunit=1 tariff=0 storagenr=0)
025   : 13 vif (Volume l)
026 C?: 00000000
030   : 2F skip
031   : 20 dif (No data Minimum value)
032   : 20 vif (On time seconds)
033   : 20 dif (No data Minimum value)
034   : 20 vif (On time seconds)
035   : 20 dif (No data Minimum value)
036   : 20 vif (On time seconds)
037   : 20 dif (No data Minimum value)
038   : 20 vif (On time seconds)
039   : 20 dif (No data Minimum value)
040   : 20 vif (On time seconds)
041   : 20 dif (No data Minimum value)

{
    "_":"telegram",
    "media":"gas",
    "meter":"ultraheat",
    "name":"",
    "id":"00002266",
    "volume_m3":1.33,
    "status":"OK",
    "timestamp":"2025-09-26T09:29:27Z"
}

Takie mam rozwiązanie dla ultraheat
testowany volume_m3 i volume total_m3 i total . Testowane dwa drivery ultraheat i watertech
EDIT Złą ramkę wkleiłem już wklejona poprawna

Wieczorem puszcze fixa. Moze zadziala :slight_smile:

Ponieważ jestem bardzo słaby w yamlu- czy wystarczy clean build files i install ?

Nie - najlepiej jak zrobisz dokladnego/recznego cleana
fix poszedl - mozecie sprawdzac

A w sumie gdzie ten fix ? Do jakich kodów ?

do UltimateReadera z softtem IoTLabs
bardziej to mozliwosc zdefiniowania meter.ID jako DEC albo HEX
przy okazji moze to Wam poprawi case gdzie ID w HEX nie ma zadnych ABCDEF

teraz mam taki bład chociaż kompilacja przechodzi dalej

/data/packages/9c197793/packages/lilygo_t3_s3_hal.yaml:30:18: warning: narrowing conversion of '(double)std::min<double>((* & std::max<double>(((double)2 * (((double)x) + 1.0e+2)), 0.0)), 1.0e+2)' from 'double' to 'float' [-Wnarrowing]
   30 |     unit_of_measurement: "%"
      |               ~~~^~~~~~~~~~~       

Szczepan dzięki Ci o Panie zaczeło śmigać.

Gdyby ktoś szukał uniwersalnego licznika impulsów od 1 do 4rech kanałów to właśnie zaczął działać :slight_smile: Nie wiem czy moge na forum podać nazwę.

olej to tylko warning

jak dla mnie to podawaj nazwe i tak ten opis nic mi nie mówi

flowdisplay 03-iot. takie fajne urzadzenie. gdy nie możliwości zasilić jakiegos esp to podpina sie kontaktron lub impulsator do niego, zlicza impulsy i wystawia m3. możliwość ustawienie przelicznika, wartości początkowej itd.

Panowie, czy ktoś odczytał licznik FLOWIS+ ECO 4 6/2025 v 34.C.07?

Za info wielkie dzieki

Tu jest cały wątek o tym

Czy ma ktoś jakieś rozwiązanie na zapisywanie stanów w HA odczytów w przypadku restartu urządzenia? Chcę, żeby zapamiętany był stan przed restartem.

Tak, robisz pomocnika licznik mediów bez cyklu czyli total, który zawsze ma wartość przyrostową. Na bazie tego licznika możesz tworzyć kolejne już cykliczne.


3 polubienia

SzczepanLeon coś drze morde o psram w ultimareader przy updacie

Failed config

psram: [source /data/packages/9c197793/packages/lilygo_t3_s3_hal.yaml:11]
  
  ESP32S3 requires PSRAM mode selection; one of quad, octal
  Selection of the wrong mode for the board will cause a runtime failure to initialise PSRAM.
  {}

Mój początek konfigu

#substitutions:
#  name: "ultimatereader-5a0eb0"
#  friendly_name: "Ultimate Reader"
esphome:
  name: ultimatereader-5a0eb0
  friendly_name: Ultimate Reader 5a0eb0
  name_add_mac_suffix: false
  comment: Ultimate Reader
  project:
    name: wmbus.UltimateReader
    version: ${wmbus_gateway_version}

packages:
  hal: github://wM-Bus/UltimateReader/packages/lilygo_t3_s3_hal.yaml@IoTLabs
  wmbus_gateway: github://wM-Bus/UltimateReader/packages/wmbus_gateway.yaml@IoTLabs

Którą wersję sprzedajesz ???

A przeczytaj co jest tam napisane…

Która wersja octal, quad ? Wpisałem jedno i drugie skompilowałem wgrałem po kablu i ucegliłem…

Jak? co najwyżej albo jedno albo drugie.

Nie da się uceglić ESP wgrywając do niego niepasujący firmware ESPHome (obojętnie czy factory “po kablu” czy OTA). W ten sam sposób= “po kablu” go “odceglisz”.

ESP32-S3FH4R2 (o ile taki masz) ma flash quad-SPI i PSRAM quad-SPI

Dla wszystkich konstrukcji bazujących na ESP32-S3
dawne

psram: 

trzeba od wersji 2025.11.0 zamienić podając jawnie tryb, dla ESP32-S3FH4R2 to ma być

psram: 
  mode: quad

prawdopodobnie można ustawić też tak (nie mam czasu na szukanie identycznego MCU i testy)

psram: 
  mode: quad
  speed: 80MHz

Chodzi o to że musiałem po kablu wgrywać

Gdybyś ustawił od razu dobrze nic byś nie uceglił (czytanie dokumentacji sprzętu oraz notatek do wydań sprzyja unikaniu tego rodzaju błędów), a konieczność zmiany konfiguracji jest nieuniknionym kosztem rozwoju, jak na razie tylko S3 wymaga takiej deklaracji, bo cześć modeli modułów na bazie S3 ma quad, a część octal (w starym ESP32 “bez dopisków” czyli Xtensa6 montowano wyłącznie quad, a w nowym P4 hex).