Witam. Dopiero zaczynam przygodę z HA wiec prosze o odpowiedzi bardziej dla amatora.
Posiadam RPI4 i na nim HA. Do portu USB po przedluzaczu 2 metrowym jest wpiete urzadzenie Koordynator Bramka Zigbee 3.0 USB CC2652P. Bede poslugiwal sie screenami bo niewiem co zalaczyc i skad. To jest widok dashboardu
I tyle. O ile wylaczanie grzanie dziala tak wlaczanie nie dziala z automatu. Jezeli wywolam automatyzacje recznie to grzejnik sie wlaczy. Czyli wnioskuje jakby tracilo sie polaczenie miedzy koordynatorem a urzadzeniem. Zauwazyłem ze jesli tez zresetuje HA calkowicie i spelnione sa warunki to automat tez zadziala ale np tylko dla jednego grzejnika. Niewiem jak to ogarnac wiec prosze o pomoc. Moze ten koordynator jest do bani i trzeba go wymienic na inny. Dodam ze wszystko jest nowe.
Wiec robie drugi sposob jak piszesz. Dopisalem i wyglada to 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
climate:
- platform: generic_thermostat
name: "Termostat Salon Final"
heater: climate.grzejnik_salon
target_sensor: sensor.czujnik_salon_temperatura
min_temp: 16
max_temp: 26
ac_mode: false
target_temp: 21
cold_tolerance: 0.2
hot_tolerance: 0.2
initial_hvac_mode: "heat"
precision: 0.1
i dostaje blad
Błędy konfiguracji
Error loading /config/configuration.yaml: while parsing a block collection
in “/config/configuration.yaml”, line 15, column 5
expected , but found ‘?’
in “/config/configuration.yaml”, line 16, column 5
jakąś spację dodałeś albo usunełeś przed zapisaniem upewnij się jeśli używasz File Editor że ten zancznik jest na zielono a nie czerwono przed zapisaniem:
Faktycznie jakas spacja sie wdarla czy cos. Zrobilem cala reszte jak napisales i termostat wlaczyl sie od razu po zapisaniu automatyzacji w biurze. Czy ta automatyzacja steruje wszystkimi termostatami na raz? I pytanie dwa czy on bierze biezaca temperature z czujnika z salony jak w pliku configuration.yaml
target_sensor: sensor.czujnik_salon_temperatura
bo nie bardzo rozumiem jak zadzialal termostat w biurze po napisaniu tego kodu.
no tylko ja robilem sposob 2 Generic Thermostat. No i przeciez nie w kazdym pokoju bedzie ta sama tmp. Gdy w salonie osiagnie 21 to wylaczy mi wszystkie termostaty?
Czy ta automatyzacja (termostat) steruje wszystkim na raz?
Nie. Ten konkretny kod który masz w configuration.yaml tworzy jeden konkretny wirtualny termostat który jest “przypięty” tylko do tych dwóch urządzen które tam są wpisane:
Jeśli masz drugi grzejnik w biurze (climate.grzejnik_biuro), to ten kod nie ma prawa nim sterować.
Możliwe są trzy scenariusze:
W biurze masz ustawioną jakąś inną automatyzację (może tę starą, którą pokazywałeś na screenach?), która zareagowała na restart systemu.
Głowica w biurze ma własny harmonogram wbudowany przez producenta (w Z2M).
Po prostu zbieg okoliczności – głowica w biurze akurat postanowiła zaktualizować swój stan w momencie restartu HA.
Skąd on bierze temperaturę?
Tak dokładnie tak jak napisałeś: target_sensor: sensor.czujnik_salon_temperatura To oznacza, że ten nowy wirtualny termostat całkowicie ignoruje to co mierzy głowica. Interesuje go tylko i wyłącznie odczyt z czujnika który masz na ścianie/półce w salonie. @pietryk jeśli chcesz drugi tai wirtualny termostat to możesz dac taki kod, tylko zastąp sensor i termostat swoimi bo nie wiem jaki mają identyfikator:
Faktycznie masz racje Automatyzacja Grzejnik_biuro_on zostala uruchomiona 28 minut temu. Tylko jak patrze to ta nautomatyzacja co napisales nie byla nigdy uruchomiona.
Zarówno Better Thermostat jak i Termostat Ogólny można skonfigurować w UI, czemu koledze każecie edytować plik konfiguracyjny i wpisywać wszystko ręcznie?
Ja mówię o samym termostacie, nie o automatyzacjach, których masz całkiem pokaźną listę…
Bo o ile rozumiem ingerencję w pracę termostatu głowicy przez automatyzacje, to nie rozumiem tworzenia termostatu ogólnego (i to jeszcze ręcznie w configuration.yaml), skoro TRVZB go eksponuje
Climate
This climate device supports the following features: occupied_heating_setpoint, local_temperature, local_temperature_calibration, system_mode, running_state.
i jeszcze bardzo fajna głowica - pozwala na skorzystanie z czujnika zewnętrznego"
External temperature (numeric)
The value of an external temperature sensor. Note: synchronisation of this value with the external temperature sensor needs to happen outside of Zigbee2MQTT… Value can be found in the published state on the external_temperature_input property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {“external_temperature_input”: “”}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {“external_temperature_input”: NEW_VALUE}. The minimal value is 0 and the maximum value is 99.9. The unit of this value is °C.
Czyli powinno zadziałać zrobienie automatyzacji:
alias: "Synchronizacja temperatury: Sonoff TRVZB"
description: "Wysyła temperaturę z czujnika zewnętrznego bezpośrednio do głowicy Sonoff"
trigger:
- platform: state
entity_id: sensor.twoj_czujnik_temperatury # Tu podaj encję swojego termometru
not_to:
- unknown
- unavailable
action:
- service: mqtt.publish
data:
topic: zigbee2mqtt/NAZWA_TWOJEJ_GLOWICY/set # Tu nazwa z Z2M
payload: >
{"external_temperature_input": {{ trigger.to_state.state | float }}}
Może nie rozumiem czegoś i gadam bez sensu, ale po co to tworzenie termostatu ogólnego… ?
@Marcin4 masz trochę racji że technicznie rozwiązanie z synchronizacją temperatury przez MQTT jest „czystsze” i w pełni wykorzystuje potencjał Sonoff TRVZB. To świetna uwaga dla bardziej zaawansowanych użytkowników.
Dlaczego jednak zaproponowałem Generic Thermostat w YAML?
Dla początkującego to pewniejszy start: Kolega @pietryk dopiero co zaczyna przygodę z HA. Metoda z mqtt.publish i payloadem w JSON jest super ale dla nowicjusza to kolejny poziom abstrakcji gdzie łatwo o błąd w składni którego HA mu nie podpowie tak prosto jak w przypadku configuration.yaml.
Pełna kontrola: GT tworzy nową encję klimatyzacji która jest odporna na ewentualne kaprysy samego firmwareu głowicy. To HA decyduje grzejemy a nie algorytm wbudowany w urządzenie co na początku ułatwia debugowanie.
Edukacja: Przejście przez edycję pliku i zrozumienie jak sensor łączy się z wykonawcą to świetna lekcja podstaw.
Zgadzam się natomiast że docelowo – twoja metoda z synchronizacją jest najlepszą drogą żeby nie mnożyć bytów w systemie.
Co do twojego pytania o spację: w nazwach encji (ID) nigdy nie używamy spacji. Musi być sensor.czujnik_salon_temperatura (z podkreślnikiem). Spacja tam to gwarantowany błąd konfiguracji!
Automatyzację ustawiłeś wzorowo temat (topic) i payload na Twoich screenach wyglądają poprawnie. Jednak masz rację w swoich przypuszczeniach – musisz teraz „powiedzieć” głowicy, żeby przestała słuchać swojego wewnętrznego czujnika.
Zrób dokładnie to co pokazałeś na swoim ostatnim screenie z Z2M
W sekcji Temperature sensor zmień zaznaczenie z internal na external.
Po tej zmianie głowica odblokuje funkcję przyjmowania danych zewnętrznych i powinna zacząć wyświetlać temperaturę, którą wysyłasz jej z czujnika w Biurze (te 20,7°C).