Pozwólcie Panowie że odświeżę temat…
Czy może ktoś podrzucić kawałek kodu jak z fateka odczytać rejestry Rxxxx ?
Mam w domu Fateka - działa bezawaryjnie od ponad 8 lat, mam na nim zrobione w zasadzie wszystko w domu… ale przyszedł czas na unowocześnienie, postawiłem sobie HomeAssistanta i o ile przez modbus działa mi odczyt i sterowanie rejestrami X,Y i M (M z jakimiś dziwnym przesunięciem o 2 względem tabeli Fateka) to nie udało mi się dobrać do wartości z rejestrów o nr 40001 czyli wg tabeli Rxxx - a mam w dimu sporo termometrów DS18b20 czytanych przez konwerter ADA i tam zapisywanych…
Czy ktoś z Was może coś podpowiedzieć?
Bo mam
Może Pod tabelą jest napisane "Wszystkie zmienne rejestrowe w Fatek’u (wyróżnione w powyższej tabeli na niebiesko) są typu Holding Register – 4x. Dlatego należy je odpytywać funkcją modbusową Read Holding Register (03). "
Tak próbujesz to robić?
a widzisz… dzięki za naprowadzenie, bo używałem tabelki ze starej dokumentacji i tam rejestry zapisane są w postaci 40001 - czyli zamiast napisać jak w Twoim linku to dopisana była 4 na początku…
teraz kilka rejestrów odczytałem bez problemu… zaraz się biorę za rozpracowywanie po kolei funkcji YAMLa - bo widzę że można sobie parę rzeczy poustawiać - typu ikonki itp.
Poczytaj to się dowiesz dlaczego była tam 4 z przodu Przyda Ci się do zabaw z modbusem.
Witam ja tez kombinuje jak odczytac i zapisac rejestry w fateku… moze ktos wkleic soj .yaml
U mnie działa to:
modbus:
- name: fatek1
type: tcp
host: 192.168.5.20
port: 502
sensors:
- name: temp_lazienka
address: 104
count: 1
input_type: holding
scan_interval: 60
scale: 0.01
precision: 2
unit_of_measurement: °C
state_class: measurement
device_class: temperature
- name: temp_gosia
address: 109
count: 1
input_type: holding
scan_interval: 60
scale: 0.01
precision: 2
unit_of_measurement: °C
state_class: measurement
device_class: temperature
- name: temp_CWU
unique_id: temp_CWU
address: 20
count: 1
input_type: holding
scan_interval: 60
scale: 0.01
precision: 2
unit_of_measurement: °C
state_class: measurement
device_class: temperature
- name: pobor_zasilania_plc
address: 600
- name: produkcja_pv_plc
address: 605
- name: bilans_zasilania_plc
address: 610
binary_sensors:
#M202 Satel_3_hall
- name: "Hall"
address: 2202
scan_interval: 1
device_class: motion
#M203 Satel_4_gosia
# - name: "Gosia"
# address: 2203
# scan_interval: 2
# device_class: motion
- name: "przelacznik_465"
address: 2465
scan_interval: 1
device_class: opening
- name: "sonos_466"
address: 2466
scan_interval: 2
device_class: opening
- name: "X34_balkon"
address: 1034
scan_interval: 1
device_class: opening
- name: "Tania taryfa"
address: 2099
scan_interval: 60
lights:
- name: "pom.gospodarcze"
address: 2420
write_type: coil
scan_interval: 5
verify:
- name: "sypialnia"
address: 2421
scan_interval: 1
write_type: coil
verify:
- name: "hall"
address: 2422
write_type: coil
verify:
- name: "Gosia"
address: 2423
write_type: coil
scan_interval: 1
verify:
switches:
# - name: Wyjscie_Y6
# address: 6
# scan_interval: 5
# write_type: coil
# verify:
- name: grzanie_cwu
address: 1
scan_interval: 5
write_type: coil
unique_id: grzanie_cwu
verify:
- name: grzanie_cwu_reczne
unique_id: grzanie_cwu_reczne
address: 2000
scan_interval: 5
write_type: coil
verify:
- name: "Sonos_467"
address: 2467
write_type: coil
scan_interval: 4
verify:
- name: "Tuner_468"
address: 2468
write_type: coil
scan_interval: 2
verify:
- name: "obecn_A_470"
address: 2470
write_type: coil
scan_interval: 10
- name: "obecn_K_471"
address: 2471
write_type: coil
scan_interval: 10
- name: "obecn_Z_472"
address: 2472
write_type: coil
scan_interval: 10
- name: "obecn_G_473"
address: 2473
write_type: coil
scan_interval: 10
- name: "ogrz_gospodarcze"
address: 3131
write_type: coil
scan_interval: 10
verify:
To oczywiście skrót bo mam tego więcej ale powycinałem powtarzające się… są tam zarówno rejestry zawierające temperaturę R, bitowe M, wejścia X i wyjścia Y…
Super wielki dzięki. tego mi było potrzeba.
Wcześniej korzystałem z OpenHAB do wersji 2.5 ale przeskoczyłem na HA bo wydaje mi sie dużo lepiej zorganizowany i dużo więcej integracji.
Edit:
@ArturS Zastanawiam się jeszcze jak tylko zapisać dane z HA do rejestru w Fatek…
Może masz jakiś przykład.
no masz w przykładzie powyżej, np.: tyle że to ustawiasz 0/1 bo to cewka/coil… nie sprawdzałem wartości liczbowych bo nie było mi to potrzebne ale podejrzewam że skoro w dokumentacji jest
write_type string (optional, default: holding)
Type of address (holding/coil or holdings/coils for array call).
to pewnie wystarczy dać “holding” i powinno zadziałać… ale nie sprawdzałem tego