licznik DTS-1946 do...
 
Powiadomienia
Wyczyść wszystko

UWAGAStrona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.

W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉

Za niedogodności z góry przepraszam, admin

Kontakt

Pytanie licznik DTS-1946 domoticz integracja?!

4 Wpisów
2 Użytkownicy
0 Reactions
512 Wyświetleń
EleMaster
(@elemaster)
Wpisów: 27
Praktykant
Autor tematu
 

Cześć.

Śledziłem ogólnie tematy licznika dwu-kierunkowego, aby zrobić sobie odczyty i sprawdzać "ukochany Tauron". Poczytałem pobieżnie licznik + konwenter RS485 do tego np. Wemos D1 mini i szafa gra. Oczywiście poczytałem o ESPHome i tak się zdarzyło, że w głowie czytałem ESPEasy. Były dni allegro ceny niższe i kupiłem co w temacie czyli DTS-1946 z modbus. Chciałem doczytać szczegóły i klops -> ESPHome to dodatek do HA, a ja mam Domoticza i zostałem na lodzie.

PYTANIE: Czy da się jakoś ruszyć temat tego licznika na domoticzu. Szukałem lecz nic sensownego nie znalazłem; tylko integracje dla SDM630.

 
Dodane : 13/04/2024 8:15 pm
EleMaster
(@elemaster)
Wpisów: 27
Praktykant
Autor tematu
 

Do czegoś doszedłem.

1) Dzięki tematowi: Domoticz i ESPHome dowiedziałem się, że można postawić ESPHome bez HA. Mam go już w dokerze.

2) Dzięki tematowi o pluginie do domoticza: Python Plugin: MqttMapper z GITHub FlyingDomotic / domoticz-mqttmapper-plugin można to ponoć spiąć w całość. 

Pytanie czy to faktycznie jest możliwe do zrobienia, czy się da i jak to będzie wyglądać ze stabilnością. W sumie mam niecałe 2 tyg. by sprawdzić. Podpowiedzi mile widziane gdyby ktoś ogarniał/przetestował/używał któreś z tych dwóch w/w rzeczy. Lub nawet obydwie 🙂

 
Dodane : 14/04/2024 9:18 am
pawell32
(@pawell32)
Wpisów: 1336
Guru
 

Dodane przez: @elemaster

Dzięki tematowi: Domoticz i ESPHome dowiedziałem się, że można postawić ESPHome bez HA. Mam go już w dokerze.

nie rozumiem, co masz w dockerze? esphome to oprogramowanie układowe dla esp8266, esp32.

nie znam tego licznika, potwierdzają w sieci, że esphome czyta dane. Możesz dane do Domoticz przesłać po mqtt, rzecz jasna z pluginem. W Domoticz musi trafić na IDX.

Wgraj esphome, na końcu dopisz co uruchomi webserver:

web_server:
  local: true
zobaczysz jak to czyta, a następnie plugin jak zaciąga do Domoticz.
 
Dodane : 15/04/2024 6:51 am
EleMaster
(@elemaster)
Wpisów: 27
Praktykant
Autor tematu
 

Dodane przez: @pawell32

Dodane przez: @elemaster

Dzięki tematowi: Domoticz i ESPHome dowiedziałem się, że można postawić ESPHome bez HA. Mam go już w dokerze.

nie rozumiem, co masz w dockerze? esphome to oprogramowanie układowe dla esp8266, esp32.

ESPHome to cały system (przecież wiesz) i jego mam w dokerze. Aby pisać, kompilować i wgrywać wsady do ESP.

 

Na chwilę obecną (kilka tyg. temu :)) ruszyło z takimi ustawieniami:
BTW w projektowaniu jest obudowa na Wemosa RS485 zasilacz itp. na szynę DIN - będzie jak będzie 🙂

Sprzętowy serial na Wemos D1 mini:
D7 RX
D6 TX

Ustawienia w liczniku:
ADDR: 2
Baud: 9600
Data: n.8.1
PROT: rTU

A skrypt konfiguracyjny jest taki (szkoda, że nie można zawijać):

esphome:
name: licznik-vcx
friendly_name: Licznik-VCX
platform: ESP8266
board: d1_mini

# Enable Home Assistant API
api:
encryption:
key: "XXXXXX"

ota:
password: "XXXXXX"

# Example configuration entry
wifi:
ssid: "XXXXXX"
password: "XXXXXX"

# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Licznik-Vcx_AP"
password: "XXXXXX"

#captive_portal:

web_server:
local: true

# Example configuration entry
mqtt:
broker: XXXXXX
username: homeassistant
password: "XXXXXX"

logger:
level: DEBUG
baud_rate: 0

uart:
id: mod_bus
#tx_pin: D6
#rx_pin: D7
tx_pin: GPIO3
rx_pin: GPIO1
baud_rate: 9600
parity: NONE
data_bits: 8
stop_bits: 1

modbus:
#flow_control_pin: 23
send_wait_time: 200ms
id: mod_bus_vcx

modbus_controller:
- id: vcx
## the Modbus device addr
address: 0x2
modbus_id: mod_bus_vcx
command_throttle: 100ms
setup_priority: -10
update_interval: 5s

sensor:
- platform: modbus_controller
id: faza_l1_napiecie
name: "Faza L1 napięcie"
state_class: measurement
register_type: read
address: 0x200
unit_of_measurement: "V"
value_type: S_WORD
accuracy_decimals: 2
# skip_updates: 60
filters:
- multiply: 0.1
- platform: modbus_controller
id: faza_l2_napiecie
name: "Faza L2 napięcie"
state_class: measurement
register_type: read
address: 0x201
unit_of_measurement: "V"
value_type: S_WORD
accuracy_decimals: 2
# skip_updates: 60
filters:
- multiply: 0.1
- platform: modbus_controller
id: faza_l3_napiecie
name: "Faza L3 napięcie"
address: 0x202
state_class: measurement
unit_of_measurement: "V"
register_type: read
value_type: S_WORD
accuracy_decimals: 2
# skip_updates: 60
filters:
- multiply: 0.1
- platform: modbus_controller
id: czestotliwosc
name: "Częstotliwość"
register_type: read
state_class: measurement
address: 0x219
unit_of_measurement: "Hz"
value_type: S_WORD
accuracy_decimals: 2
# skip_updates: 60
filters:
- multiply: 0.01
- platform: modbus_controller
id: faza_l1_prad
name: "Faza L1 prąd"
register_type: read
state_class: measurement
address: 0x206
unit_of_measurement: "A"
value_type: S_WORD
accuracy_decimals: 3
# skip_updates: 60
filters:
- multiply: 0.001
- platform: modbus_controller
id: faza_l2_prad
name: "Faza L2 prąd"
register_type: read
state_class: measurement
address: 0x207
unit_of_measurement: "A"
value_type: S_WORD
accuracy_decimals: 3
# skip_updates: 60
filters:
- multiply: 0.001
- platform: modbus_controller
id: faza_l3_prad
name: "Faza L3 prąd"
register_type: read
state_class: measurement
address: 0x208
unit_of_measurement: "A"
value_type: S_WORD
accuracy_decimals: 3
# skip_updates: 60
filters:
- multiply: 0.001
- platform: modbus_controller
id: faza_l1_moc_czynna
name: "Faza L1 moc czynna"
register_type: read
state_class: measurement
address: 0x209
unit_of_measurement: "W"
value_type: S_WORD
# accuracy_decimals: 2
# skip_updates: 60
#filters:
# - multiply: 10
- platform: modbus_controller
id: faza_l2_moc_czynna
name: "Faza L2 moc czynna"
register_type: read
state_class: measurement
address: 0x20A
unit_of_measurement: "W"
value_type: S_WORD
# accuracy_decimals: 2
# skip_updates: 60
#filters:
# - multiply: 10
- platform: modbus_controller
id: faza_l3_moc_czynna
name: "Faza L3 moc czynna"
register_type: read
state_class: measurement
address: 0x20B
unit_of_measurement: "W"
value_type: S_WORD
# accuracy_decimals: 2
# skip_updates: 60
#filters:
# - multiply: 10
- platform: modbus_controller
id: calkowita_moc_czynna
name: "Całkowita moc czynna"
register_type: read
state_class: measurement
address: 0x20C
unit_of_measurement: "kW"
value_type: S_WORD
accuracy_decimals: 3
# skip_updates: 300
filters:
- multiply: 0.001
- platform: modbus_controller
id: moc_czynna_pobrana
name: "Moc czynna pobrana"
register_type: read
icon: mdi:circle-slice-3
device_class: energy
state_class: total_increasing
address: 0x034
unit_of_measurement: "kWh"
value_type: FP32
accuracy_decimals: 1
skip_updates: 60
# filters:
# - multiply: 0.01
- platform: modbus_controller
id: moc_czynna_oddana
name: "Moc czynna oddana"
register_type: read
icon: mdi:circle-slice-3
device_class: energy
state_class: total_increasing
address: 0x036
unit_of_measurement: "kWh"
value_type: FP32
accuracy_decimals: 1
skip_updates: 60
# filters:
# - multiply: 0.01
- platform: modbus_controller
id: faza_l1_cos
name: "Faza L1 cosφ"
register_type: read
state_class: measurement
address: 0x215
unit_of_measurement: ""
value_type: S_WORD
accuracy_decimals: 2
skip_updates: 5
filters:
- multiply: 0.001
- platform: modbus_controller
id: faza_l2_cos
name: "Faza L2 cosφ"
register_type: read
state_class: measurement
address: 0x216
unit_of_measurement: ""
value_type: S_WORD
accuracy_decimals: 2
skip_updates: 5
filters:
- multiply: 0.001
- platform: modbus_controller
id: faza_l3_cos
name: "Faza L3 cosφ"
register_type: read
state_class: measurement
address: 0x217
unit_of_measurement: ""
value_type: S_WORD
accuracy_decimals: 2
skip_updates: 5
filters:
- multiply: 0.001

Trzeba brać pod uwagę parametry: update_interval: 5s
Czas nie może być mniejszy niż (send_wait_time: 200ms + command_throttle: 100ms) * ilość odpytywanych sensorów. Czyli na przykładzie wyżej: 200+100*16=4800 ms czyli prawie 5s; jeśli czas będzie za mały to będzie wywalać błędy.

 

 

 

 
Dodane : 20/05/2024 12:02 pm
Udostępnij: