A powiedz mi kabel rj45 do polaczenia particle’a z elfinem masz przerobiony tak jak do połączenia reku z elfinem? Chodzi o te żyły
Czyli tak jak tutaj?
Pzdr
A powiedz mi kabel rj45 do polaczenia particle’a z elfinem masz przerobiony tak jak do połączenia reku z elfinem? Chodzi o te żyły
Czyli tak jak tutaj?
Pzdr
pomoże ktoś, please??
No zarób sobie wtyczki(dwie) tak samo jak w ethernet wtedy nie będzie problemu.
Tylko muszą mieć takie samo ułożenie kabelków
Niby nie powinny być wszystkie kabelki zarobione tylko te które są używane, ale zawsze tak robiłem i nigdy problemów nie widziałem. Jeśli ma ktoś jakieś argumenty dlaczego tak nie robić to chętnie poczytam.
Czyli zarobić tak samo, jak w przypadku połączenia z rekuperatorem?
Tak możesz izyć nawet gotowego kabla jak nie chcesz się męczyć (trzeba mieć trochę wprawy, aby zrobić to za pierwszym razem😉)
Co do tego ile kabli czy tylko te używane czy można wszystkie to tak można wszystkie i zawsze tak robiłem, ale tu są przeciwskazania których nie doświadczyłem:
Zwiększone ryzyko zakłóceń
Nieużywane pary (pomarańczowa, zielona, brązowa) mogą zbierać szumy elektromagnetyczne i przenosić je bliżej pary A/B, co w dłuższych kablach lub w środowisku z dużą ilością zakłóceń (np. blisko kabli 230 V) może powodować sporadyczne błędy CRC, timeouty lub niestabilną komunikację.
Możliwość przypadkowego zwarcia lub kolizji
Jeśli w przyszłości kabel zostanie uszkodzony lub wpięty do innego urządzenia, dodatkowe połączenia mogą stworzyć nieoczekiwane pętle masy lub zwarcia.
Brak jakiejkolwiek korzyści
pełne podłączenie 8 żył nie zwiększa niezawodności, zasięgu ani prędkości transmisji Modbus RTU – wręcz przeciwnie, komplikuje instalację bez żadnego zysku.
Ale być może jeśli na jakąś większą odległość ciągniesz skrętkę to może jakieś zakłócenia będą.
Dzieki, ja w sumie 1.5m na strychu odleglosc miedzy particlem a modbusem/reku, wiec krótki kabel wystarczy
Pomożecie z Particlem? obrobilem kabel jak przy rekuperatorze, ktory polaczony jest z Elfinem EW11. Tutaj tez ogarnalem taki sam kabel i tez Elfina.
Patrzylem na zlacza w Particlu to mam RJ45 wolne takie porty:
Port Air++ jest wpiety kabel miedzy particlem a modbus dividerem, gdyz mam panel do sterowania w garazu (reku i particel)
Jak to wpiąć? rozumiem, ze protokoł to ma byc wybrany Modbus, tak jak w przypadku rekuperatora?
EDIT:
ok, okazuje sie ze powinno byc chyba wpiete w port AirB (modbus) w particle, mam tak wpiete, ale nie widze zeby pakiety byly odbierane/wysylane. moze byc wina kabla? IP mi pobral normalnie bez problemu…
EDIT 2:
przelozylem kable ten co mam spiety reku z rs485(elfin) i dalej to samo, wiec wina nie lezy w kablu
Pakiety nadal nie sa odbierane:
A tutaj konfig z reku, gdzie pakiety odbieram normalnie
TAKIE USTAW:
. Pamiętaj, że Modbus RTU to magistrala szeregowa.
A masz jakąś integrację HA która czyta zapytania czy przez WWW?
dzieki, bawilem sie tymi parametrami ale nic nie pomoglo, wyglada na to ze pewnie particle probuje nadawac na tym samym ID co reku - ma sens to co piszesz, tylko jak to przestawic?
jesli chodzi o HA, to mam tylko prostego yamla z konfiguracja modbusa do reku, ale zeby cos tam wiecej dodawac to najpierw w elifnie powinienem widziec ze wogole jest jakas komunikacja, a tutaj to lezy i swieci sie tylko ta zielona diodka
Adres Modbus zmienia się zazwyczaj bezposrednio z poziomu panelu sterowania (AirL).
1111, 1234, a jak nie to sprawdź w instrukcj.1 to ustaw Particle na 2.Sprawdź też czy modbus w Particle nie jest ustawiony w tryb Główny )Master) zamiast Podrzędny(Slave). elfin oczekuje że particle będzie Slave (Peripheral).
elfin to tylko przejściówka. On nie odpytuje sam z siebie. Liczniki ruszą dopiero gdy HA wyśle zapytanie do Elfina, a ten przekaże je dalej.
hej
podeslalbys yamla? chodzi mi najbardizej o particle’a zeby zobaczyc czy ruszy
dzieki, ide sprawdzic menu serwisowe - kody znam, bo kiedys mi padl EEPROM
ale na gwaranacji wymienili
Ok, cos tutaj potrzeba przestawic ?
Masz dwa różne urządzenia na magistrali, które mają już przypisane różne adresy, co jest dobrą wiadomością.
Problem leży w tym, że Elfin to urządzenie pasywne w trybie “TCP Server”. Liczniki Sent/Received Frames w Elfinie ruszą tylko wtedy gdy HA wyśle do niego zapytanie.
Wklej taki yaml do configuration.yaml:
modbus:
- name: "particle_hub"
type: tcp
host: 192.168.18.37
port: 8899 # Sprawdź jaki port masz w Elfinie (zazwyczaj 8899 lub 502)
sensors:
- name: "Particle Stan"
slave: 30 # To jest to Slave ID ze zdjęcia
address: 0 # Przykładowy rejestr sprawdź w dokumentacji
input_type: holding
unit_of_measurement: "µg/m³"
Ja mam wyciągnięte chyba wszystko z Particle:
# packages/particle.yaml
modbus:
- type: tcp
host: 192.168.4.42
port: 8899
name: particle
timeout: 5
delay: 2
sensors:
- name: "Particle+ PM2.5 in"
address: 51
data_type: int16
scale: 1
scan_interval: 10
slave: 30
unit_of_measurement: "µg/m³"
- name: "Particle+ PM2.5 out"
address: 50
data_type: int16
scale: 1
scan_interval: 10
slave: 30
unit_of_measurement: "µg/m³"
- name: "Particle+ fan speed"
address: 64
data_type: int16
scale: 1
scan_interval: 10
slave: 30
unit_of_measurement: "%"
- name: "Particle+ pre filter"
address: 4114
data_type: int16
scale: 1
scan_interval: 60
slave: 30
unit_of_measurement: "%"
- name: "Particle+ HEPA filter"
address: 4115
data_type: int16
scale: 1
scan_interval: 60
slave: 30
unit_of_measurement: "%"
- name: "Particle+ Operational"
address: 41
data_type: int16
scan_interval: 1
slave: 30
- name: "Particle+ błąd typ E"
address: 8192
data_type: int16
scan_interval: 1
slave: 30
- name: "Particle+ błąd typ S"
address: 8193
data_type: int16
scan_interval: 1
slave: 30
- name: "Particle+ nastawa"
scan_interval: 5
data_type: int16
unit_of_measurement: "µg/m³"
slave: 30
address: 54
input_type: holding
switches:
- name: "Particle+ ON/OFF"
scan_interval: 1
slave: 30
address: 16
command_on: 1
command_off: 0
verify:
- name: "Particle+ Tryb pracy MAN/AUTO"
scan_interval: 1
slave: 30
address: 17
command_on: 1
command_off: 0
verify:
template:
- sensor:
- name: "Particle+ PM2.5 out (stats)"
unique_id: particle_pm25_out_stats
unit_of_measurement: "µg/m³"
device_class: pm25
state_class: measurement
availability: >
{{ states('sensor.particle_pm2_5_out') not in ['unknown','unavailable','none','None'] }}
state: >
{{ states('sensor.particle_pm2_5_out') | float }}
- name: "Particle+ PM2.5 in (stats)"
unique_id: particle_pm25_in_stats
unit_of_measurement: "µg/m³"
device_class: pm25
state_class: measurement
availability: >
{{ states('sensor.particle_pm2_5_in') not in ['unknown','unavailable','none','None'] }}
state: >
{{ states('sensor.particle_pm2_5_in') | float }}
hej
dzieki, ja wkleilem caly fragment poprzednio udostepniony dot. Particle’a, rouzmiem ze IP, to mam podac ten ktory DNS przydzielil do Elfina zgadza sie? jesli tak, to w tym wypadku to nie bedzie 192.168.18.37, tylko …18.46
port mam 505 w tym elfinie do particle’a, w reku port ustawilem 502 dla elfina
nie wiem, nadal nic nie jest przesylane, tutaj caly moj yaml z configurations, moze cos Ci sie rzuci, co jest nie tak?
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
# REKUPERATOR MODBUS
modbus:
- type: tcp
host: 192.168.18.8
port: 502
name: reku
timeout: 5
delay: 2
sensors:
- name: "Rekuperator Temperatura Czerpnia"
slave: 10
address: 16
input_type: input
scan_interval: 29
data_type: int16
unit_of_measurement: °C
scale: 0.1
precision: 1
- name: "Rekuperator Temperatura Nawiew"
slave: 10
address: 17
input_type: input
scan_interval: 29
data_type: int16
unit_of_measurement: °C
scale: 0.1
precision: 1
- name: "Rekuperator Temperatura Wywiew"
slave: 10
address: 18
input_type: input
scan_interval: 29
data_type: int16
unit_of_measurement: °C
scale: 0.1
precision: 1
- name: "Rekuperator Temperatura za FPX"
slave: 10
address: 19
input_type: input
scan_interval: 29
data_type: int16
unit_of_measurement: °C
scale: 0.1
precision: 1
- name: "Rekuperator Temperatura PCB"
slave: 10
address: 22
input_type: input
data_type: int16
scan_interval: 59
unit_of_measurement: °C
scale: 0.1
precision: 1
- name: "Rekuperator Strumień nawiew"
slave: 10
address: 256
input_type: holding
scan_interval: 2
data_type: int16
unit_of_measurement: m3/h
scale: 1
precision: 1
- name: "Rekuperator Strumień wywiew"
slave: 10
address: 257
input_type: holding
scan_interval: 2
data_type: int16
unit_of_measurement: m3/h
scale: 1
precision: 1
- name: "Rekuperator lato zima"
scan_interval: 11
data_type: int16
slave: 10
address: 4209
input_type: holding
- name: "Rekuperator Bypass"
scan_interval: 11
data_type: int16
slave: 10
address: 4320
input_type: holding
- name: "Rekuperator tryb pracy"
scan_interval: 6
data_type: int16
slave: 10
address: 4208
input_type: holding
- name: "Rekuperator speedmanual"
scan_interval: 5
data_type: int16
unit_of_measurement: "%"
slave: 10
address: 4210
input_type: holding
- name: "Rekuperator fpx flaga"
scan_interval: 29
data_type: int16
unit_of_measurement: ""
slave: 10
address: 4192
input_type: holding
- name: "Rekuperator FPX tryb"
scan_interval: 29
data_type: int16
unit_of_measurement: ""
slave: 10
address: 4198
input_type: holding
- name: "Rekuperator Alarm"
scan_interval: 63
slave: 10
data_type: int16
address: 8192
input_type: holding
unit_of_measurement: ""
- name: "Rekuperator Error"
scan_interval: 63
slave: 10
address: 8193
data_type: int16
input_type: holding
unit_of_measurement: ""
- name: "Rekuperator FPX zabezpieczenie termiczne"
scan_interval: 63
slave: 10
address: 8208
data_type: int16
input_type: holding
unit_of_measurement: ""
- name: "Rekuperator Awaria Wentylatora Nawiewu"
scan_interval: 63
slave: 10
address: 8222
data_type: int16
input_type: holding
unit_of_measurement: ""
- name: "Rekuperator Awaria Wentylatora Wywiewu"
scan_interval: 63
slave: 10
address: 8223
data_type: int16
input_type: holding
unit_of_measurement: ""
- name: "Rekuperator Awaria CF Nawiewu"
scan_interval: 63
slave: 10
address: 8330
data_type: int16
input_type: holding
unit_of_measurement: ""
- name: "Rekuperator Awaria CF Wywiewu"
scan_interval: 63
slave: 10
address: 8331
data_type: int16
input_type: holding
unit_of_measurement: ""
- name: "Rekuperator Wymiana Filtrów"
scan_interval: 63
slave: 10
address: 8444
data_type: int16
input_type: holding
unit_of_measurement: ""
binary_sensors:
- name: "Rekuperator Silownik bypassu"
scan_interval: 21
slave: 10
address: 9
- name: "Rekuperator Potwierdzenie pracy"
scan_interval: 1
slave: 10
address: 11
switches:
- name: "Rekuperator Wietrzenie"
scan_interval: 1
slave: 10
address: 4224
command_on: 7
command_off: 0
verify:
- name: "Rekuperator Pusty Dom"
scan_interval: 5
slave: 10
address: 4224
command_on: 11
command_off: 0
verify:
- name: "Rekuperator bypass"
scan_interval: 7
slave: 10
address: 4320
command_on: 0
command_off: 1
verify:
- name: "Rekuperator Kominek"
scan_interval: 5
slave: 10
address: 4224
command_on: 2
command_off: 0
verify:
- name: "Rekuperator Okna"
scan_interval: 5
slave: 10
address: 4224
command_on: 10
command_off: 0
verify:
- name: "Rekuperator ON/OFF"
scan_interval: 5
slave: 10
address: 4387
command_on: 1
command_off: 0
verify:
- name: "Rekuperator mode"
scan_interval: 1
slave: 10
address: 4208
command_on: 0
command_off: 1
verify:
- name: "Rekuperator zima"
scan_interval: 7
slave: 10
address: 4209
command_on: 1
command_off: 0
verify:
utility_meter:
rekuperator_odzysk_energii_godzina:
source: sensor.rekuperator_odzyskana_energia
cycle: hourly
rekuperator_odzysk_energii_dzien:
source: sensor.rekuperator_odzyskana_energia
cycle: daily
rekuperator_odzysk_energii_miesiac:
source: sensor.rekuperator_odzyskana_energia
cycle: monthly
rekuperator_odzysk_energii_rok:
source: sensor.rekuperator_odzyskana_energia
cycle: yearly
template:
sensor:
- name: "Rekuperator Sprawność"
unique_id: "sensor.rekuperator_sprawnosc"
icon: "mdi:percent"
unit_of_measurement: "%"
state: >-
{% if is_state('binary_sensor.rekuperator_silownik_bypassu', 'off') %}
{% set t1 = states('sensor.rekuperator_temperatura_czerpnia') | float %}
{% set t2 = states('sensor.rekuperator_temperatura_nawiew') | float %}
{% set t3 = states('sensor.rekuperator_temperatura_wywiew') | float %}
{{ (((t2 - t1) / (t3 - t1)) * 100|float) | round(2, default=0) }}
{% else %}
0
{% endif %}
- name: "Rekuperator Wysterowanie Nawiew"
unique_id: "sensor.rekuperator_wysterowanie_nawiew"
icon: "mdi:percent"
unit_of_measurement: "%"
state: >
{% set flowN = states('sensor.rekuperator_strumien_nawiew') | float %}
{{ ((flowN * 100) / 400 |float) | round(2, default=0) }}
- name: "Rekuperator Wysterowanie wywiew"
unique_id: "sensor.rekuperator_wysterowanie_wywiew"
icon: "mdi:percent"
unit_of_measurement: "%"
state: >
{% set flowW = states('sensor.rekuperator_strumien_wywiew') | float %}
{{ ((flowW * 100) / 400|float) | round(2, default=0) }}
- name: "Rekuperator Odzyskana Moc"
unique_id: "sensor.rekuperator_odzyskana_moc"
icon: "mdi:counter"
unit_of_measurement: "W"
state: >-
{% if is_state('binary_sensor.rekuperator_silownik_bypassu', 'off') %}
{% set strumienN = states('sensor.rekuperator_strumien_nawiew') | float %}
{% set tcz = states('sensor.rekuperator_temperatura_czerpnia') | float %}
{% set tn = states('sensor.rekuperator_temperatura_nawiew') | float %}
{% if states('sensor.rekuperator_temperatura_czerpnia')|float < states('sensor.rekuperator_strumien_nawiew')|float %}
{{ ((((tn - tcz) * strumienN * 1200) / 3600)|float) | round(2, default=0) }}
{% else %}
{{ (((((tn - tcz) * strumienN * 1200) / 3600) * -1)|float) | round(2, default=0) }}
{% endif %}
{% else %}
0
{% endif %}
sensor:
- platform: integration
source: sensor.rekuperator_odzyskana_moc
name: rekuperator_odzyskana_energia
unit_prefix: k
round: 3
# Particle+ MODBUS
- type: tcp
host: 192.168.18.46
port: 505
name: particle
delay: 2
timeout: 5
sensors:
- name: Particle+ PM2.5 out
address: 50
count: 1
data_type: int16
device_class: pm25
input_type: holding
scale: 1
scan_interval: 10
slave: 30
unit_of_measurement: µg/m³
state_class: measurement
unique_id: particle_pm2.5
- name: Particle+ fan speed
address: 64
scan_interval: 5
data_type: int16
unit_of_measurement: '%'
slave: 30
input_type: holding
unique_id: particle_fanspeed
- name: Particle+ pre filter
address: 4114
scan_interval: 3600
data_type: int16
unit_of_measurement: '%'
slave: 30
input_type: holding
unique_id: particle_prefilter
- name: Particle+ HEPA filter
address: 4115
scan_interval: 3600
data_type: int16
unit_of_measurement: '%'
slave: 30
input_type: holding
unique_id: particle_hepafilter
- name: Particle+ Operational
slave: 30
address: 41
scan_interval: 1
input_type: holding
unique_id: particle_operarational
switches:
- name: Particle+ ON/OFF
address: 16
slave: 30
write_type: holding
command_on: 1
command_off: 0
verify:
unique_id: particle_onoff
dzieki, ja nie moge zmusic tego particle’a do dzialania…wpiete masz w port AirB w Particle, tak?
moze cos sie Wam rzuci, co jest nie tak?
tutaj konfig rs285(elfin) do Particle’a:
a tutaj dzialajacy od rekuperatora:
Próbuję zrozumieć topologię połączeń, ale nie dociera to do mnie.
Rozumiem, że cały swój osprzęt masz modbus RTU (łączony przez RS485) i po to kupowałeś Modbus Divider.
A teraz się okazuje, że masz dwa Elfiny??
Możesz narysować schemat jak to połączyłeś? i gdzie masz RS485, a gdzie Ethernet?
ok,
ID reku w modbusie: 10
ID particle’a w modbusie: 30
Porty sprawdzę jak będę w domu.
Mam 2 elfiny podłączone do HA.
Modbus Divider jest po to żeby działał AIR++ (wykrywa 2 urządzenia i możesz przełączać między nimi) Najważniejsze żeby były 2 różne ID bo inaczej nie zadziała.
ok dzieki, tak IDki reku i particle’a oraz IP elfinow mam rozne. Co do portu w Particle to mam wolne tylko AirB i AirS, ale z tego co wyczytalem to tylko AirB jest komunikacyjny (MODBUS) jak podlaczylem do AirS to nawet zasilanie nie dalo…