Cześć,
Mam rekuperator Ostberg Heru 100S.
Udało mi się włączyć na nim komunikację modbus, łączy się z HA i nawet “coś” odczytuje.
Nie mogę tylko zrozumieć w jaki sposób to działa
Mam takiego pdfa z jak mi się wydaje opisanymi adresami: https://fsp.ostberg.com/products/front/products/download_document/27947/4382/iqc-touch-display (jak się nie otwiera konkretny to chyba tylko trzeba pobrać z sekcji download).
Są tam wpisy typu:
3x00002 Outdoor temperature (unit)
I teraz skopiowałem z internetu taki kawałek yaml:
- name: heru_outdoor_temperature
unit_of_measurement: °C
address: 1
slave: 1
input_type: input
device_class: temperature
I o dziwo faktycznie pokazuje prawdopodobną temp. zewnętrzną
Tylko za nic w świecie nie mogę zrozumieć jak to się ma do tego adresu z pdf rekuperacji…
Ktoś pomoże?
jak coś kopiujesz “z internetu”, to podaj źródło, bo ten kawałek YAML jest kompletnie oderwany od rzeczywistości (tzn. nie wynika z niego z jakiej integracji korzystasz), o dziwo ma też złe wcięcia, więc to raczej cud, że działa.
Pomijając poprawność zapisu sensora w HA, odczytałeś przez Modbusa rejestr typu input ( input register numery zaczynające się od 300001 do 365536) czyli dokładnie to co w dokumentacji jest pod 3x00002:
To co przed “x” oznacza rodzaj rejestru: 1-cewka, 3- input, 4-holding.
Dzięki temu wiesz jakiego Function code użyć do operacji na rejestrze.
Żeby było śmieszniej dla rej. typu 3 używasz funkcji 4 i na odwrót
To co po “x” oznacza faktyczny adres.
W innej konwencji podawane są tylko adresy.
Errata - Uściślenie
To co po “x” oznacza faktyczny nr.rejestru
W innej konwencji podawane są tylko nr.rejestru
Numer rejestru, różni się od adresu o 1. Rejestry o numerach 1-16 są adresowane jako 0-15
Dlatego odczytując adres 1 odczytuje rejestr nr,2
… i ma i nie ma.
Jeśli urządzenie ma wbudowany ModbusTCP to nie ma, ponieważ slave oznacza identyfikator urządzenia . Identyfikatorem jest IP i jest tylko takie jedno.
W przypadku gdy fizycznie łączysz się przez RS485 musisz ustawić unikatowy identyfikator, ponieważ na jednej magistrali można “powiesić” kilka różnych. Slave jest pewnego rodzaju adresem całego urządzenia.
Bardzo łatwo się naciąć, ponieważ dokumentacja jest różna - raz podają rejestr a raz adres.
Choć sześciocyfrowa liczba wskazuje raczej na nr. rejestru.