Po restarcie całej VM zaczęło odczytywać dane z licznika. Ale jeszcze jeden problem. Moc chwilowa podawana jest w jednostkach x10Wh. Zatem potrzebuję pomnożyć wynik x 10. Ale w poniższym 100W pobór pokazuje jako 0,10W. Czyli wynik trzeba pomnożyć x 1000 i później ew. pozbyć się przecinka i liczb po. Kombinuję ze state oraz value_template i ciągle błędy. Podpowiecie co mam nie tak?
The system cannot restart because the configuration is not valid: Invalid config for [modbus]: [value_template] is an invalid option for [modbus]. Check: modbus->modbus->0->sensors->9->value_template. (See /config/configuration.yaml, line 20).
Kurcze, jakie to było proste. A ja czytam dokumentację i na coś takiego nie natrafiłem. Zasugerowałem się że wszędzie używane są te 2 wpisy. Jak uda mi się w końcu dojść rejestry w liczniku to zamieszczę tutaj konfigurację.
Tak, tak, nie mogę jeszcze znaleźć chwilowej mocy oddawanej, ale to może jutro jak słońce będzie. Być może moc chwilowa zmieni znak na ujemny. Zobaczymy.
Ok, czyli czeka mnie szukanie kolejnego “myku” który ujemną przekonwertuje za sensor który da się podpiąć w zakładce energia pod produkcję… Pewnie jest to proste, ale nie dla nowicjusza…
Zmodyfikowałem wpisy powodujące błędy. Licznik nie pokazuje też na której facie odbywa się oddawanie prądu a na której pobór. Prąd jest zawsze ze znakiem dodatnim. To spora wada dla mnie. Mam np.produkcję energii na poziomie 100W, ale wszystkie fazy pokazują ponad 1A przepływu, więc ewidentnie na jednej jest pobór, na drugiej oddanie.
Działający config do wklejenia w configuration.yaml. Id licznika 2, n.8.1, rtu.
modbus:
- name: hub1
type: serial
baudrate: 9600
bytesize: 8
method: rtu
parity: N
port: /dev/ttyUSB0
stopbits: 1
sensors:
- name: U L1
unit_of_measurement: V
unique_id: “L1_napiecie”
device_class: power
slave: 2
address: 0x0
input_type: input
count: 2
data_type: float32
precision: 2
- name: U L2
unit_of_measurement: V
unique_id: “L2_napiecie”
device_class: power
slave: 2
address: 0x2
input_type: input
count: 2
data_type: float32
precision: 2
- name: U L3
unit_of_measurement: V
unique_id: “L3_napiecie”
device_class: power
slave: 2
address: 0x4
input_type: input
count: 2
data_type: float32
precision: 2
- name: I L1
unit_of_measurement: A
unique_id: “L1_prad”
device_class: power
slave: 2
address: 0xC
input_type: input
count: 2
data_type: float32
precision: 2
- name: I L2
unique_id: “L2_prad”
unit_of_measurement: A
device_class: power
slave: 2
address: 0xE
input_type: input
count: 2
data_type: float32
precision: 2
- name: I L3
unique_id: “L3_prad”
unit_of_measurement: A
device_class: power
slave: 2
address: 0x10
input_type: input
count: 2
data_type: float32
precision: 2
- name: Moc pobrana
unique_id: “mocpobrana”
#id: moc_czynna_pobrana
#register_type: read
#icon: mdi:circle-slice-3
device_class: energy
state_class: total_increasing
address: 0x034
unit_of_measurement: "kWh"
data_type: float32
precision: 2
#skip_updates: 60
- name: Moc oddana
unique_id: “mocoddana”
#id: moc_czynna_oddana
#register_type: read
#icon: mdi:circle-slice-3
device_class: energy
state_class: total_increasing
address: 0x036
unit_of_measurement: "kWh"
data_type: float32
precision: 2
#skip_updates: 60
- name: Moc chwilowa
unit_of_measurement: W
unique_id: “mocchwilowa”
device_class: power
slave: 2
address: 0x18
input_type: input
count: 2
data_type: float32
precision: 2
scale: 1000
To moja konfiguracja która pokazywała wartości ujemne na poszczególnych fazach. Wróciłem do wersji w modułem wemos kolegi Marcin.KnD ponieważ nie byłem w stanie obrobić tych danych w nod red bo nie były widoczne jako sensory.
Panowie mogę prosić o prosty łopatologiczny przepis na VCX-1946 + Home Assiatant.
Mam licznik VCX-1946+ połączenie kabelkiem UTP z “Konwerter USB do RS485 modbus profibus terminal na CH340” Instalacja HA wirtualnie na serwerze Esxi, urządzenie USB przypisane do instalacji. Czytam posty o połączeniu licznika przez ESPHome ale to chyba nie ta bajka ja nie mam żadnego urządzania ESP po drodze. Nie chciałbym się doktoryzować z programowania a po prostu dodać licznik do mojego HA . Czy musze dokupić urządzenie na ESP czy wystarczy zestaw który posiadam ?
Ale jaki esphome tu widzisz? Licznik → interfejs → HA. Tydzień temu znajomemu stawiałem taką konfigurację, dokładnie z ostatniego mojego posta - ruszyło od strzała. Po prawidłowym podłączeniu wskazania w HA pojawiają się po 15s. I pamiętać o ustawieniu kanału nr 2, domyślnie licznik jest na kanale 1. ESX-i nie robiłem, ale powinno być tak samo łatwo jak w proxmox.
To nie kanał 1 tylko adres urządzenia w Modbus, każde urządzenie podłaczone do magistrali Modbus musi mieć unikatowy adres (numer). W konfiguracji HA odpowiada za to opcja slave: 1.
@Zbign wytłumaczył wszystko, najprościej jak się da - podłącz wszystkie urządzenia, do pliku configuation.yaml HA wklej na razie tyle:
# Example configuration.yaml entry for a serial connection
modbus:
- name: hub1
type: serial
baudrate: 9600
bytesize: 8
method: rtu
parity: N
port: /dev/ttyUSB1
stopbits: 1
sensors:
- name: Faza 1 napięcie
unit_of_measurement: V
slave: 1
address: 0x000
input_type: input
count: 2
data_type: float32
precision: 1
scale: 1
scan_interval: 5
device_class: voltage
Restart HA i zobacz czy jest encja sensor.hub1_faza_1_napiecie. Jak zadziała uzupełnie resztę konfiguracji.
Panowie super odpaliłem działa rewelacja, zamiast /dev/ttyUSB1 wstawiłem adres bezpośrednia uzyskałem go komendą “ha hardware info” przez ssh. Działa idealnie