Witam Wszystkich jestem nowy w temacie HA i modbusa. Mam licznik OR-WE-504 po modbus i odczytuje wszystkie pola za pomocą kodu w configuration.yaml:
- name: "Licznik Volty"
unit_of_measurement: V
device_class: voltage
slave: 1
address: 0
scale: 0.1
#count: 1
precision: 1
input_type: holding
data_type: uint16
- name: "Licznik Nateżenie"
unit_of_measurement: A
device_class: current
slave: 1
address: 1
scale: 0.1
# count: 1
precision: 1
input_type: holding
data_type: uint16
- name: "Licznik Częstotliwość"
unit_of_measurement: Hz
device_class: frequency
slave: 1
address: 2
scale: 0.1
# count: 1
precision: 1
input_type: holding
data_type: uint16
- name: "Licznik Moc Czynna"
unit_of_measurement: W
device_class: energy
slave: 1
address: 3
scale: 1
# count: 1
precision: 1
input_type: holding
data_type: uint16
- name: "Licznik Moc Bierna"
unit_of_measurement: var
device_class: reactive_power
slave: 1
address: 4
scale: 0.1
# count: 1
precision: 1
input_type: holding
data_type: uint16
- name: "Licznik Moc Pozorna"
unit_of_measurement: VA
device_class: apparent_power
slave: 1
address: 5
scale: 1
# count: 1
precision: 1
input_type: holding
data_type: uint16
Pola mam o takiej treści:
address | Value | Holding Registers from 0 to 15. |
---|---|---|
0 | Voltage | 0 Napięcie (0,1V), |
1 | current | 1 Natężenie (0,1A), |
2 | frequency | 2 Częstotliwość (0,1Hz), |
3 | active power | 3 Moc czynna (1W), |
4 | reactive power | 4 Moc bierna (1var), |
5 | apparent power | 5 Moc pozorna (1VA), |
6 | power factor | 6 Współczynnik mocy (1000), |
7,8 | active energy | 7 i 8 Energia czynna (1Wh), Decimal Long - little endian |
9,A | reactive energy | 9 i A Energia bierna (1varh), Decimal Long - little endian |
E | baud rate | E Prędkość transmisji: |
1-1200 | ||
2-2400 | ||
3-4800 | ||
4-9600 | ||
F | address | F Adres |
Niech mi ktoś podpowie (wklei) jak ja mam wyciągnąć dane z rejestrów 7 i 8. Nie mam bladego pojęcia jak to ugryźć i złączyć do poprawnego odczytu. Z góry dzięki za pomoc.
Edit:
Dadaję kod do pozycji zużycie z licznika - dodatkowo można dodać do dashboardu Energia
- name: "Licznik Energia Zużyta"
unit_of_measurement: kWh
state_class: total_increasing
device_class: energy
slave: 1
address: 7
scale: 0.001
count: 2
precision: 2
# input_type: holding
data_type: int32
Poszukuję jeszcze jak zmienić z linuxa address z 1 na jakiś inny. Może ktoś ma jakiś skrypt lub program?