Zajebiste - dziekuje - wszystko wiadomo
niestety nie umiem tego wrzucic do mojego yaml bo mam killka sensorów
Tu masz dużo info. https://github.com/piwko28/smart-home-ebus-adapter/tree/master/homeassistant
To nie moje ale na tym się wzorowałem i działa.
czyli jak dobrze rozumiem to mam wkleic do configuration.yaml
homeassistant:
packages:
ebus:
climate: !include ebus/climate.yaml
automation: !include ebus/automations.yaml
sensor: !include ebus/sensors.yaml
binary_sensor: !include ebus/binary-sensors.yaml
input_number: !include ebus/input-numbers.yaml
a reszte plików wgrać do folderu ebus
Na to wychodzi. Ja mam to trochę inaczej bo dla niektórych rzeczy nie mam include tylko wpisy bezpośrednio w configuration.yaml. ale tak jest mniej przejrzyście.
Panowie, Mam plik configuration.yaml takiej postaci:
default_config:
# Text to speech
tts:
- platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
mqtt: !include mqtt_include.yaml
sensor:
- platform: time_date
display_options:
- 'date_time_iso'
- platform: systemmonitor
resources:
- type: disk_use_percent
arg: '/'
- type: memory_use_percent
- type: processor_use
- type: network_in
arg: enp4s0
- type: network_out
arg: enp4s0
- type: last_boot
- type: swap_use_percent
- platform: template
sensors:
dom_aktualna_moc:
device_class: power
friendly_name: "Dom Aktualna moc"
value_template: >-
{{ ((states('sensor.electricity_meter_power_active_phase_1')|float + states('sensor.electricity_meter_power_active_phase_2')|float + states('sensor.electricity_meter_power_active_phase_3')|float))|round(0) }}
unit_of_measurement: "W"
- platform: template #Ciśnienie wody 1 bar = 790analog range
sensors:
cisnienie_wody_hydrofornia:
friendly_name: Ciśnienie Wody hydrofornia
unit_of_measurement: "bar"
value_template: "{{(1.4*(states('sensor.kontroler_piec_temperature_5')) | float (0) / 1024) | round (2) }}"
- platform: template #Ciśnienie wody2 1019 hPa = 164 analog range
sensors:
cisnienie_wody_hydrofornia2:
friendly_name: Ciśnienie Wody hydrofornia2
unit_of_measurement: "hPa"
value_template: "{{(1*(states('sensor.depth_sensor_2')) | float (0) / 3)| round (2) }}"
- platform: template #głebokość wody tara
sensors:
woda_glebokosc_garaz_tara:
friendly_name: Woda głębokość 1 karcher tara
unit_of_measurement: 'l'
value_template: "{{ (-1|float(0)| round(0) + states('sensor.cisnienie_wody_hydrofornia2')|float(0)| round(2) - states('sensor.dom_pressure')|float(0)| round(2)) | round(1)*10 }}"
- platform: template #głebokość wody #przeliczamy ciśnienie na %(205 hpa to full)
sensors:
woda_glebokosc_garaz:
friendly_name: Woda głębokość 1 karcher
unit_of_measurement: "%"
value_template: "{{(37*(states('sensor.depth_sensor_2')) | float (0) / 1) | round (0) }}"
- platform: template #głebokość wody tara
sensors:
woda_glebokosc_garaz_tara2:
friendly_name: Woda głębokość 1 karcher tara2
unit_of_measurement: 'l'
value_template: "{{(3700*(states('sensor.depth_sensor_2')) | float (0) / 1) | round (0) }}"
- platform: template
sensors:
fronius_energia_zuzyta_bezposrednio:
friendly_name: 'Zużyta bezpośrednio'
unit_of_measurement: 'W'
value_template: "{{ ((states('sensor.SofarSolarMQTT_Aktualna_generowana_moc_kW') | float ) - (states('sensor.dom_aktualna_moc') | float )) | round(2) }}"
icon_template: mdi:counter
- platform: template
sensors:
fronius_energia_zuzyta_dom:
friendly_name: 'Zużycie dom'
unit_of_measurement: 'W'
value_template: "{{ ((states('sensor.fronius_energia_zuzyta_bezposrednio') | float ) + (states('sensor.dom_aktualna_moc') | float )) | round(2) }}"
icon_template: mdi:counter
binary_sensor:
- platform: ping
host: 192.168.1.121 #adres ip falownika
name: Falownik_Sofar
count: 7
scan_interval: 10
utility_meter:
pv_produkcja_sloneczna:
name: Produkcja z energii słonecznej
source: sensor.SofarSolarMQTT_wygenerowane_kw_dzis
cycle: yearly
pv_uzycie_z_sieci:
name: Użycie energii z sieci
source: sensor.SofarSolarMQTT_dzienne_uzycie_energii_z_sieci
cycle: yearly
pv_produkcja_do_sieci:
name: Produkcja do sieci
source: sensor.SofarSolarMQTT_dzienna_produkcja_do_sieci
cycle: yearly
http:
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
frontend:
themes: !include_dir_merge_named themes
extra_module_url:
- /local/community/custom-brand-icons/custom-brand-icons.js
influxdb:
host: ************
port: 8086
database: homeassistant
username: homeassistant
password: ********
max_retries: 3
default_measurement: stat
jak dodać to co jest poniżej ??
- name: "Vaillant Palnik"
unique_id: Vaillant_Palnik
state_topic: "ebusd/bai/Flame"
payload_on: "on"
payload_off: "off"
off_delay: 120
icon: mdi:fire
- name: "Vaillant stan pompy wody"
unique_id: Vaillant_stan_pompy_wody
state_topic: "ebusd/bai/WP"
payload_on: "on"
payload_off: "off"
off_delay: 120
icon: mdi:pump
- name: "Zapotrzebowanie na ciepłą wodę"
unique_id: Vaillant_Zapotrzebowanie_na_ciepłą_wodę
state_topic: "ebusd/bai/HwcDemand"
payload_on: "on"
payload_off: "off"
off_delay: 120
icon: mdi:hand-water
- name: "Vaillant Pompa Cyrkulacyjna"
unique_id: Vaillant_Pompa_Cyrkulacyjna
state_topic: "ebusd/bai/CirPump"
payload_on: "on"
payload_off: "off"
off_delay: 120
sensor:
- name: Vaillant cisnienie wody
unique_id: Vaillant_cisnienie_wody
state_topic: "ebusd/bai/WaterPressure"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: Bar
icon: mdi:sine-wave
- name: Vaillant temperatura zewnetrzna
unique_id: Vaillant_temperatura_zewnetrzna
state_topic: "ebusd/bai/OutdoorstempSensor"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "°C"
- name: Vaillant Temperatura Salon
unique_id: Vaillant_temperatura_salon
state_topic: "ebusd/700/z1RoomTemp"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "°C"
- name: Vaillant Temperatura CWU
unique_id: Vaillant_Temperatura_CWU
state_topic: "ebusd/bai/StorageTemp"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "°C"
- name: Vaillant Zadana Temperatura CWU
unique_id: Vaillant_Zadana_Temperatura_CWU
state_topic: "ebusd/bai/StorageTempDesired"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "°C"
- name: Vaillant Temperatura Powrotu
unique_id: Vaillant_Temperatura_Powrotu
state_topic: "ebusd/bai/ReturnTemp"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "°C"
- name: Vaillant Temperatura Zasilania
unique_id: Vaillant_Temperatura_Zasilania
state_topic: "ebusd/bai/FlowTemp"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "°C"
- name: Vaillant Zadana Temperatura Zasilania
unique_id: Vaillant_Zadana_Temperatura_Zasilania
state_topic: "ebusd/bai/FlowTempDesired"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "°C"
- name: Vaillant Max Temperatura CWU
unique_id: Vaillant_Max_Temperatura_CWU
state_topic: "ebusd/bai/StorageTempMax"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "°C"
- name: Vaillant Obroty Wentylatora
unique_id: Vaillant_Obroty_Wentylatora
state_topic: "ebusd/bai/FanSpeed"
value_template: "{{ value.split(';')[0] }}"
unit_of_measurement: "RPM"
icon: mdi:gauge
- name: Vaillant Błędy
unique_id: Vaillant_Błędy
state_topic: "ebusd/bai/currenterror"
- name: Vaillant Zawór Gazu
unique_id: Vaillant_Zawór_Gazu
state_topic: "ebusd/bai/ExternGasvalve"
icon: mdi:valve
value_template: >
{% if value=='240' %}
Zamknięty
{% else %}
Otwarty
{% endif %}
- name: Vaillant Pozycja Zaworu Trójdrożnego
unique_id: Vaillant_Pozycja_Zaworu_Trójdrożnego
state_topic: "ebusd/bai/PositionValveSet"
value_template: >
{% set position= value.split(';')[0] %}
{% if position=='0' %}
Ogrzewanie
{% else %}
Zasobnik
{% endif %}
icon: mdi:valve
- name: Vaillant aktualna moc
unique_id: Vaillant_aktualna_moc
state_topic: "ebusd/bai/ModulationTempDesired"
unit_of_measurement: "%"
- name: CWU zużycie energii
unique_id: Vaillant_CWU_zużycie_energii
state_topic: "ebusd/bai/PrEnergyCountHwc1"
- name: Zadana Temperatura Pokojowa
unique_id: Vaillant_Zadana_Temperatura_Pokojowa
state_topic: "ebusd/700/z1ActualRoomTempDesired"
unit_of_measurement: "°C"
- name: prenergysumhc1
state_class: total_increasing
state_topic: 'ebusd/bai/PrEnergySumHc1'
- name: prenergysumhwc1
state_class: total_increasing
state_topic: 'ebusd/bai/PrEnergySumHwc1'
- name: "Cwu m3"
unit_of_measurement: "m³"
device_class: 'gas'
state_class: total_increasing
state_topic: 'ebusd/bai/PrEnergySumHwc1'
payload_available: true
payload_not_available: false
value_template: >
"{{ value.split(';')[0] | int }}" / 628544,715 )|round(3) }}
input_select:
central_heating_operation_mode:
name: CH Operation Mode
options:
- "Automatyczny"
- "Noc"
- "Dzień"
- "Wyłączony"
central_heating_temporary_mode:
name: CH Temporary Mode
options:
- "Brak"
- "Party"
- "1 Dzień w domu"
- "1 Dzień poza domem"
- "Wietrzenie"
input_number:
central_heating_heat_curve:
name: CH Heat Curve
min: 0.20
max: 4.00
step: 0.1
mode: box
central_heating_set_day_temp:
name: CH Set Day Temperature
min: 5
max: 30
step: 1
unit_of_measurement: "°C"
central_heating_set_night_temp:
name: CH Set Night Temperature
min: 5
max: 30
step: 1
unit_of_measurement: "°C"
hot_water_temp_desired:
name: Hot Water Temperature Desired
min: 35
max: 65
step: 1
mode: slider
unit_of_measurement: "°C
Zapewne do pliku mqtt_include.yaml
?
(pamiętając o zgodnych wcięciach, bo zapewne przy kopiowaniu użarło spację w pierwszej linii drugiej wklejki, jakkolwiek generalnie “piętra” wcięć muszą się zgadzać, więc przyjrzyj się strukturze tamtego pliku)
Czyli widać, że nie ładuje Ci pliku konfiguracyjnego sterownika “36f00” tylko sam piec “bai”. Część parametrów możesz odczytać z samego pieca więc masz jakiś punkt startu.
Ja mam to ustawione lokalnie i lokalny plik do sterownika, skonfigurowany pod siebie.
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0603;HW=9102", loaded "vaillant/bai.308523.inc", "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=B7V00;SW=0422;HW=5503", loaded "vaillant/15.b7v.csv"
Za radą nie pamiętam kogo, próbowałem lokalnie linkować 350, ale nic sensownego mi nie pokazuje, chyba umieszczałem to wyżej.
A i sam BAI mi ładuje raz:
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0518;HW=7401", loaded "vaillant/bai.308523.inc" ([HW=7401]), "vaillant/08.bai.csv"
a raz jako:
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0518;HW=7401", loaded "vaillant/bai.0010006101.inc" ([PROD='']), "vaillant/08.bai.csv"
jak pisałem tutaj HA i sterowanie kotłem gazowym Vaillant VC 206/5-5 - #103 przez mtj80.
I mam pytanie czy jak nie mam sterownika, to czy mogę sterować bezpośrednio piecem?
gdzie wprowadzasz tą komedne mam ebusd i widzi piec ale 720 juz nie
Hej można sterować piecem bez sterownika poprzez parmetr SetModeOverride.
Zobacz tu .
Musisz w tym celu odłaczyć sterownik od pieca i zostawić sam EBUSD, inaczej sterownik będzie podawał też swoje wartości co 10 minut.
Cześć,
widziałem ten wątek i próbowałem wg niego zrobić, to dostaję:
ebusctl w -c bai SetModeOverride "0;65;45;-;-;0;0;0;-;0;0;0"
ERR: element not found
ebusctl find
bai AccessoriesOne = no data stored
bai AccessoriesTwo = no data stored
bai ACRoomthermostat = no data stored
bai APCComStatus = 0
bai APCLegioProtection = no data stored
bai averageIgnitiontime = no data stored
bai BlockTimeHcMax = no data stored
bai BoilerType = no data stored
bai ChangesDSN = no data stored
bai CirPump = no data stored
bai CounterStartattempts1 = 0
bai CounterStartattempts2 = 0
bai CounterStartAttempts3 = 0
bai CounterStartAttempts4 = 0
bai currenterror = no data stored
bai DateTime = nosignal;07:16:16;-.-.-;-
bai dcfState = no data stored
bai DCFTimeDate = no data stored
bai DCRoomthermostat = no data stored
bai DeactivationsIFC = no data stored
bai DeactivationsTL = no data stored
bai DeltaFlowReturnMax = no data stored
bai DisplayMode = 161
bai DSN = no data stored
bai DSNOffset = no data stored
bai DSNStart = no data stored
bai EBusHeatcontrol = no data stored
bai EbusSourceOn = no data stored
bai EbusVoltage = no data stored
bai errorhistory = no data stored
bai ExternalFaultmessage = no data stored
bai externalFlowTempDesired = 90.00
bai externalHwcSwitch = no data stored
bai ExternGasvalve = no data stored
bai ExtFlowTempDesiredMin = 10.00
bai ExtStorageModulCon = no data stored
bai extWP = no data stored
bai FanHours = 1009
bai FanMaxSpeedOperation = no data stored
bai FanMinSpeedOperation = no data stored
bai FanPWMSum = no data stored
bai FanPWMTest = no data stored
bai FanSpeedOffsetMax = no data stored
bai FanSpeedOffsetMin = no data stored
bai FanStarts = 22247
bai FloorHeatingContact = no data stored
bai FlowsetHcMax = no data stored
bai FlowsetHwcMax = no data stored
bai FlowSetPotmeter = no data stored
bai FlowTemp = 53.50;ok
bai FlowTempDesired = 10.00
bai FlowTempMax = 70.25
bai Fluegasvalve = no data stored
bai FluegasvalveOpen = no data stored
bai HcHours = 517
bai HcPumpMode = post run
bai HcPumpStarts = 9111
bai HcStarts = 8500
bai HcUnderHundredStarts = 34
bai HeatingSwitch = no data stored
bai HoursTillService = 3010
bai HwcDemand = no data stored
bai HwcHours = 368
bai HwcImpellorSwitch = no data stored
bai HwcPostrunTime = 80
bai HwcSetPotmeter = no data stored
bai HwcStarts = 80600
bai HwcSwitch = no data stored
bai HwcTemp = -13.50;cutoff
bai HwcTempDesired = 0.00
bai HwcTempMax = 65.00
bai HwcTypes = no data stored
bai HwcUnderHundredStarts = 26
bai HwcWaterflow = no data stored
bai HwcWaterflowMax = no data stored
bai InitialisationEEPROM = no data stored
bai IonisationVoltageLevel = no data stored
bai maintenancedata_HwcTempMax = 0.00
bai maxIgnitiontime = no data stored
bai minIgnitiontime = no data stored
bai Mode = standby
bai ModulationTempDesired = 32.0
bai OutdoorstempSensor = -60.44;cutoff
bai OverflowCounter = yes
bai ParamToken = no data stored
bai PartloadHcKW = no data stored
bai PartloadHwcKW = no data stored
bai PartnumberBox = no data stored
bai PositionValveSet = no data stored
bai PowerValue = 20 07 52 12 64 16
bai PrAPSCounter = 0
bai PrAPSSum = no data stored
bai PrEnergyCountHc1 = 1887253
bai PrEnergyCountHc2 = 0
bai PrEnergyCountHc3 = 0
bai PrEnergyCountHwc1 = 1355587
bai PrEnergyCountHwc2 = 0
bai PrEnergyCountHwc3 = 0
bai PrEnergySumHc1 = 353492207
bai PrEnergySumHc2 = 0
bai PrEnergySumHc3 = 0
bai PrEnergySumHwc1 = 357847703
bai PrEnergySumHwc2 = 0
bai PrEnergySumHwc3 = 0
bai ProductionByte = no data stored
bai PrVortexFlowSensorValue = 0
bai PumpHours = 1918
bai PumpHwcFlowNumber = no data stored
bai PumpHwcFlowSum = no data stored
bai RemainingBoilerblocktime = no data stored
bai ReturnRegulation = no data stored
bai ReturnTemp = -1.81;cutoff
bai ReturnTempMax = 0.00
bai SDFanSpeed = no data stored
bai SDFlame = no data stored
bai SDFlameSensingASIC = no data stored
bai SDGasvalve3UC = no data stored
bai SDGasvalve = no data stored
bai SDGasvalveASICFeedback = no data stored
bai SDGasvalveUC = no data stored
bai SDGasvalveUCFeedback = no data stored
bai SDIgnitor = no data stored
bai SDSTLWithNTC = no data stored
bai SDTemplimiter = off
bai SDTRT = no data stored
bai SDVolatileLockout = no data stored
bai SDVolatileLockoutIFCGV = no data stored
bai SecondPumpMode = 2
bai SerialNumber = no data stored
bai SetFactoryValues = no data stored
bai SHEMaxDeltaHwcFlow = no data stored
bai SHEMaxFlowTemp = 0.00
bai SolarPostHeat = no data stored
bai Statenumber = no data stored
bai Status01 = 42.0;42.0;-;-;38.0;off
bai Status02 = auto;60;38.0;70;49.0
bai Status16 = (ERR: invalid position for 3108b5040116 / 00)
bai Status = (ERR: invalid position for 3108b5110103 / 00)
bai Storageloadpump = no data stored
bai StorageLoadPumpHours = 1204
bai StorageloadPumpStarts = 57113
bai StorageLoadTimeMax = no data stored
bai StoragereleaseClock = no data stored
bai StorageTemp = 40.19;ok
bai StorageTempDesired = 55.00
bai StorageTempMax = 52.25
bai TargetFanSpeed = no data stored
bai TargetFanSpeedOutput = no data stored
bai TempDiffBlock = 0
bai TempDiffFailure = 0
bai TempGradientFailure = 0
bai TempMaxDiffExtTFT = 0.00
bai Testbyte = no data stored
bai TimerInputHc = no data stored
bai ValveMode = 0
bai ValveStarts = 20020
bai VortexFlowSensor = (ERR: invalid position for 3108b509030dd500 / 00)
bai WarmstartDemand = no data stored
bai WarmstartOffset = no data stored
bai WaterHcFlowMax = no data stored
bai WaterPressure = no data stored
bai WaterpressureBranchControlOff = no data stored
bai WaterpressureMeasureCounter = 71
bai WaterpressureVariantSum = no data stored
bai WP = no data stored
bai WPPostrunTime = 2
bai WPSecondStage = no data stored
nie pokazuje mi SetMode
@arkop mam zrobiony alias dla dockera:
alias ebusctl="docker exec -it $(docker ps | grep ebusd | awk '{print $1}') ebusctl"
Musisz najpierw wyedytować odpowiedni dla Twojego pieca plik BAI, prawdopodobnie ten generyczny bai.308523.inc i dodać odpowiednie wpisy:
https://github.com/john30/ebusd-configuration/issues/170
Na twoim miejscu, jeżeli masz sterownik, dążyłbym do jego uruchomienia w HA i zarządzania piecem poprzez zarządzanie ustawieniami sterownika.
Cześć
Czy jest ktoś z pompą ciepła Vaillant i HA z adapterem ebusd?
Vaillant_geoTHERM_plus VWS 62-2
vrnetDIALOG 860/2 (GPRS system)
Remote panel: VR 90
ebusd 3
raspberry pi 4B
Home Assistant Core na SSD
Jak widać działa moduł i są encje.
Tylko gdzie i co wstawić żeby można było zmieniać wartości np. temperaturę czy krzywą grzewczą itp.
Tutaj moje rozwiązanie tego tematu.
Praktycznie wszystko co tutaj powyżej opisane.
Jedynie wykonałem sam elektronikę, na podstawie oryginalnej.
Czy pisząc “powyżej opisane” masz na myśli cały wątek czy mój wpis?
Czy mogę użyć Twojej konfiguracji w celach testowych lub adaptacji?
Nie mogę znaleźć odpowiedniego pliku *.bai dla swojej pompy ciepła-przejrzałem wszystkie pliki i fc nie wydaje mi się odpowiednie (dedykowane).
Fragmenty Twojej konfiguracji wklajam do pliku “mqtt-hassio.cfg” i tylko to zostawiam w nim?
HA mam na RPi 4B postawione jako OS i mam trochę inną (widoczną) strukturę folderow/plików
Z jakim piecem sie komunikujesz???
Pompa ciepła
Vaillant_geoTHERM_plus VWS 62-2
vrnetDIALOG 860/2 (GPRS system)
Remote panel: VR 90
ebusd 3
raspberry pi 4B
Home Assistant Core na SSD
Witam . Mam pytanie odnośnie regulacji termostatu MQTT HVAC. Mam zainstalowany ebus adapter + ebusd na HA komunikuję sie z kotłem i otrzymuje info o stanach parametrów . Utworzyłem termostat którym mogę sterować parametry ogrzewania ,wszystko działa. Jedynie z czym mam mały problem, to brak możliwości zmiany temperatury dziennej powyżej temp. nocnej ! w jaki sposób mogę to zmienić ?.
Wpis konfiguracji yaml .
- climate:
name: "Parter"
max_temp: 30
min_temp: 5
precision: 0.1
temp_step: 0.5
modes:
- "auto"
- "heat"
- "cool"
- "off"
mode_state_template: >-
{% set values = { 'auto':'auto', 'day':'heat', 'night':'cool', 'off':'off'} %}
{% set state = value_json["opmode"].value %}
{{ values[state] if state in values.keys() else 'off' }}
mode_state_topic: "ebusd/700/z2OpMode"
mode_command_topic: "ebusd/700/z2OpMode/set"
mode_command_template: >-
{% set values = { 'auto':'auto', 'heat':'day', 'cool':'night', 'off':'off'} %}
{{ values[value] if value in values.keys() else 'off' }}
temperature_low_state_topic: "ebusd/700/z2NightTemp"
temperature_low_state_template: '{{value_json["tempv"].value}}'
temperature_low_command_topic: "ebusd/700/z2NightTemp/set"
temperature_high_state_topic: "ebusd/700/z2DayTemp"
temperature_high_state_template: '{{value_json["tempv"].value}}'
temperature_high_command_topic: "ebusd/700/z2DayTemp/set"
current_temperature_topic: "ebusd/700/z2RoomTemp"
current_temperature_template: '{{value_json["tempv"].value}}'
uwaga techniczna odnośnie używania forum
Nie jeden odwrotny apostrof, nie dwa, a trzy i to w osobnych liniach - zobacz na poprawkę powyżej.