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
Można i tak
ale to można też wyklikać w menu Ustawień HA
(System → Sprzęt → hamburger menu → Cały sprzęt)
Super, tego nie wiedziałem 1h szukałem jak namierzyć to w CLI
Jak macie ustawiony DTS-1946-4P lub podobny bo mi bardzo zawyża
Jak bardzo zawyża ?
Pamiętaj że jest to tylko wskaźnik.
Przed instalacją swojego VCX-a sprawdzałem jak jest dokładny porównując ze wskazaniami sprzętów którymi dysponuję tzn. gniazdko z wyświetlaczem i pomiarem, amperomierz, woltomierz. W pomiarze mocy wychodziły mi różnice 1-2%, więc uznałem, że jest dobrze i nic nie koryguję.
No i jestem w konsternacji - spisałem wczoraj licznik 8.02 / 10:38 dziś 9.02 8:53
PGE - DTS
11,8 - 11,8 Oddana
12,5 - 12,9 Pobrana
To jak to możliwe, że od 24.12 pobrałem 620,6kWh?
Przecież choinka tyle nie zjadła ![]()
Mam 3 takie zainstalowane, wszystkie się pokrywają z licznikiem PGE z dokładnością do 3%. Im mniejszy pobór prądu tym rozbieżności mogą być większe ze względu na rozdzielczość i dokładność pomiaru prądów na granicy błędu pomiarowego. Ze sposobu jak to opisałeś nic nie wynika. Podajesz odczyt ponad dobowy i odnosisz się do okresu 2-miesięcznego. Poza tym nie wiemy czego używasz i być może tyle zużyłeś. To raptem ~15 kwh na dobę, nic nadzwyczajnego w okresie zimowym.
EDIT:
Nie do końca rozumiem co chciałeś przekazać i źle zrozumiałem Twoje liczby, stąd wykasowałem część posta.
Wydawało mi się, że to nie możliwe żebym 420kWh przepalił w miesiąc, nie mam pompy itp. Napisałem tutaj, ale potem spisałem licznik. Wychodzi na to, że gdzieś to poszło! a ja już odtrąbiłem, że mam winowajcę, sorki za zawracanie…
Witam, też mam 3 takie w szeregu, jak je ustawić aby można było je odczyta? W sensie jak na licznikach ustawić kolejne adresy?
Mam taki licznik i w opcjach jest wybór adresu, zmienić na kolejne . Domyślnie jest 0001
Po niedawnej aktualizacji HA konfiguracja licznika w configuration.yaml stała się błędna, pokazując jakieś bzdetne błędy w logach i odczyty licznika nie działają.
Aby to naprawić należy wykasować linie count: 2
Restart HA i licznik dalej żyje.
Dzień dobry, mam bardzo podobny licznik jak tu opisywany przez @Zbign choć logo bardziej APV to model tak samo L3F1946-P, rejestry do odczytu również od 0, format Big Endian float, czyli sklejając 4 bajty z 0 i 1 widzę 230.1V, licznik daje się czytać przez skaner OK więc jest ustawiony jak w konfiguracji 9600/8E1, jakiś najtańszy konwerter USB-RS485, wartości są prawdopodobne choć na razie testy na biurku i żarówka tradycyjna na jednej fazie. Serwer HA mam na Synology, podłączyłem pod virtualkę HA tego dongla, wykrywa jako /dev/ttyUSB0, próbowałem również przez id, w żadnej kombinacji nie dochodzę by pokazały się jakieś sensory związane z licznikiem.
W trakcie pisania posta ten problem rozwiązałem dzięki temu tematowi i innym podobnym na tym forum:
- name: hubModbus1
type: serial
baudrate: 9600
bytesize: 8
method: rtu
parity: E
port: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
stopbits: 1
sensors:
- name: APV_U_L1
unit_of_measurement: V
unique_id: “APV_L1_napiecie”
device_class: power
slave: 2
address: 0x0
input_type: input
data_type: float32
precision: 2
- name: APV_U_L2
unit_of_measurement: V
unique_id: “APV_L2_napiecie”
device_class: power
slave: 2
address: 0x2
input_type: input
data_type: float32
precision: 2
- name: APV_U_L3
unit_of_measurement: V
unique_id: “APV_L3_napiecie”
device_class: power
slave: 2
address: 0x4
input_type: input
data_type: float32
precision: 2
- name: APV_I_L1
unit_of_measurement: A
unique_id: “APV_L1_prad”
device_class: power
slave: 2
address: 0xC
input_type: input
data_type: float32
precision: 2
- name: APV_I_L2
unique_id: “APV_L2_prad”
unit_of_measurement: A
device_class: power
slave: 2
address: 0xE
input_type: input
data_type: float32
precision: 2
- name: APV_I_L3
unique_id: “APV_L3_prad”
unit_of_measurement: A
device_class: power
slave: 2
address: 0x10
input_type: input
data_type: float32
precision: 2
- name: APV_Energia_pobrana
unique_id: “APV_Energia_pobrana”
#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: APV_Energia_oddana
unique_id: “APV_Energia_oddana”
#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: APV_Moc chwilowa
unit_of_measurement: W
unique_id: “APV_mocchwilowa”
device_class: power
slave: 2
address: 0x18
input_type: input
data_type: float32
precision: 2
scale: 1000
Teraz zastanawiam się czy jest sens prowadzić kabel do miejsca gdzie będzie licznik, na PC mam w WIN programik Tibbo, w ESP mogę wgrać program ESP Link, :
W Tibbo wybierałem wolny port COM, TCP lub UDP, IP i port, pojawiał się ten COM i działał jak lokalny. Można tak zrobić w tej konfiguracji YAML? Mam konwerter RS485 mający tryb auto, nie potrzeba sterować kierunkiem, jest też typowo jak dla ESP na 3.3V. Widzę też, że Tasmota ma taką opcję TCP to UART bridge, może to byłoby lepsze, przy okazji można podłączyć jakiś LCD czy czujnik temperatury.
Podpowiecie coś?
Ogarnąłem to jednak z ESPHome, pozdrowienia dla Twórców, nie mogli użyć tych samych nazw zmiennych co innych, musieli wymyśleć swoje! Może ktoś skorzysta:
esphome:
name: esphomelicznikapv
friendly_name: ESPHomeLicznikAPV
esp8266:
board: d1_mini
# Enable logging
logger:
level: DEBUG
baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key: "bbbbbbbbbbb"
ota:
- platform: esphome
password: "bbbbb"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esphomelicznikapv"
password: !secret wifi_APpassword
captive_portal:
uart:
id: uart_bus_ESP_APV
tx_pin: GPIO1
rx_pin: GPIO3
baud_rate: 9600
data_bits: 8
parity: EVEN
stop_bits: 1
modbus:
#flow_control_pin: 23
send_wait_time: 200ms
id: mod_bus_ESP
modbus_controller:
- id: ESP_APV
## the Modbus device addr
address: 0x2
modbus_id: mod_bus_ESP
command_throttle: 100ms
setup_priority: -10
update_interval: 10s
sensor:
- platform: modbus_controller
id: ESP_APV_U_L1
name: "ESP_APV_U_L1_napiecie"
state_class: measurement
icon: mdi:sine-wave
register_type: read
address: 0x0
unit_of_measurement: "V"
value_type: FP32
accuracy_decimals: 2
- platform: modbus_controller
id: ESP_APV_U_L2
name: "ESP_APV_U_L2_napiecie"
state_class: measurement
icon: mdi:sine-wave
register_type: read
address: 0x2
unit_of_measurement: "V"
value_type: FP32
accuracy_decimals: 2
- platform: modbus_controller
id: ESP_APV_U_L3
name: "ESP_APV_U_L3_napiecie"
address: 0x4
state_class: measurement
unit_of_measurement: "V"
register_type: read
icon: mdi:sine-wave
value_type: FP32
accuracy_decimals: 2
- platform: modbus_controller
id: czestotliwoscL1
name: "CzestotliwoscL1"
register_type: read
state_class: measurement
icon: mdi:sine-wave
address: 0x32
unit_of_measurement: "Hz"
value_type: FP32
accuracy_decimals: 2
- platform: modbus_controller
id: ESP_APV_I1_prad
name: "ESP_APV_I1_prad"
register_type: read
state_class: measurement
icon: mdi:current-ac
address: 0xC
unit_of_measurement: "A"
value_type: FP32
accuracy_decimals: 3
- platform: modbus_controller
id: ESP_APV_I2_prad
name: "ESP_APV_I2_prad"
register_type: read
state_class: measurement
icon: mdi:current-ac
address: 0xE
unit_of_measurement: "A"
value_type: FP32
accuracy_decimals: 3
- platform: modbus_controller
id: ESP_APV_I3_prad
name: "ESP_APV_I3_prad"
register_type: read
state_class: measurement
icon: mdi:current-ac
address: 0x10
unit_of_measurement: "A"
value_type: FP32
accuracy_decimals: 3
- platform: modbus_controller
id: ESP_APV_Energia_pobrana
name: "ESP_APV_Energia_pobrana"
register_type: read
icon: mdi:transmission-tower
device_class: energy
state_class: total_increasing
address: 0x34
unit_of_measurement: "kWh"
value_type: FP32
accuracy_decimals: 2
- platform: modbus_controller
id: ESP_APV_Energia_oddana
name: "ESP_APV_Energia_oddana"
register_type: read
icon: mdi:solar-power
device_class: energy
state_class: total_increasing
address: 0x36
unit_of_measurement: "kWh"
value_type: FP32
accuracy_decimals: 2
- platform: modbus_controller
id: ESP_APV_Moc_chwilowa
name: "ESP_APV_Moc_chwilowa"
register_type: read
state_class: measurement
icon: mdi:home-lightning-bolt
address: 0x18
unit_of_measurement: "W"
value_type: FP32
accuracy_decimals: 2
filters:
- multiply: 1000
- platform: modbus_controller
id: ESP_APV_Moc_chwilowaL1
name: "ESP_APV_Moc_chwilowaL1"
register_type: read
state_class: measurement
icon: mdi:home-lightning-bolt
address: 0x12
unit_of_measurement: "W"
value_type: FP32
accuracy_decimals: 2
filters:
- multiply: 1000
- platform: modbus_controller
id: ESP_APV_Moc_chwilowaL2
name: "ESP_APV_Moc_chwilowaL2"
icon: mdi:home-lightning-bolt
register_type: read
state_class: measurement
address: 0x14
unit_of_measurement: "W"
value_type: FP32
accuracy_decimals: 2
filters:
- multiply: 1000
- platform: modbus_controller
id: ESP_APV_Moc_chwilowaL3
name: "ESP_APV_Moc_chwilowaL3"
icon: mdi:home-lightning-bolt
register_type: read
state_class: measurement
address: 0x16
unit_of_measurement: "W"
value_type: FP32
accuracy_decimals: 2
filters:
- multiply: 1000
- platform: modbus_controller
id: ESP_APV_PowerFactorL1
name: "ESP_APV_PowerFactorL1"
icon: mdi:angle-acute
register_type: read
state_class: measurement
address: 0x2A
unit_of_measurement: ""
value_type: FP32
accuracy_decimals: 2
- platform: modbus_controller
id: ESP_APV_PowerFactorL2
name: "ESP_APV_PowerFactorL2"
register_type: read
state_class: measurement
icon: mdi:angle-acute
address: 0x2C
unit_of_measurement: ""
value_type: FP32
accuracy_decimals: 2
- platform: modbus_controller
id: ESP_APV_PowerFactorL3
name: "ESP_APV_PowerFactorL3"
register_type: read
state_class: measurement
icon: mdi:angle-acute
address: 0x2E
unit_of_measurement: ""
value_type: FP32
accuracy_decimals: 2
Tak to wygląda:
Dzięki za gotowca, ale na moim klonie D1mini zadziałało dopiero na drugim uarcie.
zostawiam dla potomnych:
tx_pin: GPIO15
rx_pin: GPIO13
No w sumie to on nie ma drugiego UART, ale na każdym możesz mieć software’owy, tak jak to zrobiłeś. Z biegiem czasu dochodzę do wniosku, że to kilku, kilkunastu encji to ESP8266 jeszcze jako tako, ale jak by czytać więcej z tego licznika niż pokazałem, to jednak lepiej użyć ESP32. Jak gadałem z innym urządzeniem to co parę minut ESP się resetuje, jak usunę połowę rejestrów to działa, raczej brakuje mu więc RAM. Na ESP32 problemu nie ma, można mu wrzucić dużo więcej. Nawet taki mały ESP32 C3 super mini za 6zł od chińczyka wciąga nosem Wemos D1 MINI z ESP8266.
@Kacza
Dla ESP8266/8285 to jest de facto wciąż UART0 tyle, że w alternatywnej konfiguracji (na tych pinach może działać w aplikacji użytkownika, ale nie w bootloaderze), za to UART1 (który ma tylko TX) nie podlega remapowaniu.
Programowy UART w tym MCU to każda inna kombinacja oprócz tej powyższej oraz standardowej (TX=GPIO1 + RX=GPIO3). Będzie programowy również gdy zamienimy miejscami funkcje TX z RX (w każdej z tych 2 lokalizacji).
Bardzo sprytne rozwiązanie na ominięcie konfliktu z mostkiem do USB.
To działa naprawdę działa w wersji 10.5, napisałem do Zbign wiadomość bo w wersji 17.3 nie działa Moc oddana Moc pobrana co z tym zrobić?Co dopisać co usunąć tak jak napisałeś że count: 2 usunąć i reszta ok ale Moc oddana i pobrana juź nie działa wersja 17.3
Energia jest typu long (long integer, liczba całkowita 32 bity) prawdopodobnie U_DWORD (nie wiem na 100% bo nie mam takiego licznika, w dokumentacji - link niżej masz wszystkie możliwe typy danych, ale np. liczba ze znakiem signed integer jest bez sensu w tym zastosowaniu, edit - inne źródło potwierdza, że chodzi o unsigned), a nie float (zmiennoprzecinkowa 32-bity) FP32 tak jak napięcie czy prąd, więc inny typ danych musisz użyć.
DTS1946-4P-INSTRUKCJA-KOMUNIKACJI-Modbus-PL.zip (640,8 KB)
źródło
Jestem tu nowy nie wszystko kapuję wszystko czytam z waszych wątków i do tej pory nie było problemów ,mam starą wersję postawioną na proxmox i dalej z niej korzystam,ale wszystko się zmienia i nie mogę pewnych rzeczy dodać do wersji 10.5 więc zdecydowałem o postawieniu 17.3 na proxmoxie i tak kombinuję aż zacznie działać.Czyli kolego szopen piszesz żeby dodać zamiast folat zastapić unsigned?
Wyskakuja takie błedy?Ostrzeżenia w konfiguracji
Invalid config for 'modbus' at configuration.yaml, line 62: value must be one of [<DataType.CUSTOM: 'custom'>, <DataType.FLOAT16: 'float16'>, <DataType.FLOAT32: 'float32'>, <DataType.FLOAT64: 'float64'>, <DataType.INT16: 'int16'>, <DataType.INT32: 'int32'>, <DataType.INT64: 'int64'>, <DataType.STRING: 'string'>, <DataType.UINT16: 'uint16'>, <DataType.UINT32: 'uint32'>, <DataType.UINT64: 'uint64'>] for dictionary value 'modbus->0->sensors->3->data_type', got 'INT32'
taki wpis zrobiłem
- name: Częstotliwość
unique_id: “herce”
device_class: frequency
slave: 1
address: 0x032
unit_of_measurement: “Hz”
data_type: INT32
precision: 2- name: Moc pobrana
unique_id: “mocpobrana”
device_class: energy
state_class: total_increasing
address: 0x034
unit_of_measurement: “kWh”
data_type: INT32
precision: 2 - name: Moc oddana
unique_id: “mocoddana”
device_class: energy
state_class: total_increasing
address: 0x036
unit_of_measurement: “kWh”
data_type: INT32
precision: 2
- name: Moc pobrana
zmieniłem na u-dword: float32
takie błedy
Ostrzeżenia w konfiguracji
Invalid config for 'modbus' at configuration.yaml, line 62: 'U_DWORD' is an invalid option for 'modbus', check: modbus->0->sensors->3->U_DWORD
Wali błedami cały czas jestem rozczarowany wersją 17.3 stawiam inną 14 zobaczę co będzie jak bedzie działać to zostanę przy niej a jak nie to będę skazany na 10.5 .Ja korzystam z waszych gotowców i działało teraz coś pozmieniali i nie działa jest kicha
Kolego mógłbyś podać gotowca dla sprawdzenia bo ja nie wiem co gdzie wpisać tylko do moc pobrana i moc oddana herce sobie odpuszczę chyba że zadziała
Pokaż tego yamla , który działał wcześniej.
Nie będziemy do początku rozkminiać zgodności typów z dokumentacją licznika.
Przy nazewnictwie typów trzymaj sìę dokumentacji “homeassistant modbus data type”. Trzymanie się starej wersji tylko dlatego, że nie potrafisz to zły pomysł
Kolego to działa oprócz Moc pobrana Moc oddana
Loads default set of integrations. Do not remove.
default_config:
Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
Text to speech
tts:
- platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
Example configuration.yaml entry for a serial connection
modbus:
- name: modbus_hub
type: serial
baudrate: 9600
bytesize: 8
method: rtu
parity: N
port: /dev/serial/by-id/usb-1a86_USB2.0-Ser_-if00-port0
stopbits: 1
sensors:- name: U L1
unit_of_measurement: V
unique_id: “L1_napiecie”
device_class: power
slave: 2
address: 0x0
input_type: input
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
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
data_type: float32
precision: 2 - name: Moc pobrana
unique_id: “mocpobrana”
device_class: energy
state_class: total_increasing
address: 0x034
unit_of_measurement: “kWh”
data_type: float32
precision: 2 - name: Moc oddana
unique_id: “mocoddana”
device_class: energy
state_class: total_increasing
address: 0x036
unit_of_measurement: “kWh”
data_type: float32
precision: 2 - name: Moc chwilowa
unit_of_measurement: W
unique_id: “mocchwilowa”
device_class: power
slave: 2
address: 0x18
input_type: input
data_type: float32
precision: 2
scale: 1000 - name: P L1
unit_of_measurement: W
unique_id: “L1_moc”
device_class: power
slave: 2
address: 0x12
input_type: input
data_type: float32
precision: 2
scale: 1000 - name: P L2
unique_id: “L2_moc”
unit_of_measurement: W
device_class: power
slave: 2
address: 0x14
input_type: input
data_type: float32
precision: 2
scale: 1000 - name: P L3
unique_id: “L3_moc”
unit_of_measurement: W
device_class: power
slave: 2
address: 0x16
input_type: input
data_type: float32
precision: 2
scale: 1000
- name: U L1
Example
Example configuration.yaml entry
configuration.yaml entry
jak dodać obrazek zdjecie bo nie wiem może nie mogę bo nowy jestem?
No masz rację idzie nowe trzeba by się przesiąść ale jak się nie wie to jest problem,a będzie się zmieniać i stare już nie wystarcza celna uwaga dzięki

