Sterownik zaworu trójdrożnego - temat rozwojowy "zima nadchodzi"

Stary 10 letni sterownik zaworu trójdrożnego powoli odmawia posłuszeństwa.
Próbuje coś sklecić w node-red.
Obecne założenia, mozliwość ustawienia temperatury zadanej np. 30 stopni i histerezy np. 1 stopień.
Wersja testowa uruchomiona na “komparatorze” @RobinI30 z lekka zmianą by np. 1 stopniowa histereza przy 30 stopniach była w granicach 29,5 do 30,5.
Zima się rozkręca, temat rozwojowy, jakie sugestie i propozycje możecie polecić by ten sterownik działał poprawnie, może ktoś coś już uruchomił i podzieli się swoim sterownikiem?


sterownik3drogowy.json (5,0 KB)

Najlepiej gdybyś napisał co posiadasz, czy chcesz wymienić całość łacznie z zaworem i siłowmikiem?
Rozwiązanie zależy od rodzaju zaworu (siłownika).

popraw na - “komparatorze”

Lepszy rozwiązaniem będzie zrobienie autonomicznego sterownika i zadawanie z HA tylko temperatury.
Możesz kupić gotowca jak nie czujesz się na siłach robić to sam.
https://allegro.pl/oferta/sonoff-wifi-beznapieciowy-piec-ds18b20-8175760538

Obecnie sterownik mam S.P.D.T i tylko sterownik chcę podmienić. Zależy mi na 2 przekaźnikach, układ wykonawczy czyli przekaźniki i termometr ds18b20 mam już na Sonoff DUAL R2 wgrany przez ESPHome.
2

Dwa przekaźniki osobne na “grzanie” i “chłodzenie” pozwolą mi by w histerezie siłownik stał w miejscu a nie jak na 1 przekaźniku raz w lewo, raz w prawo - jeżeli błędnie rozumuję proszę o sprostowanie.

Zastanawiam się czy Thermostat Climate Controller — ESPHome
z grzaniem i chłodzeniem nie rozwiązał by w całości problemu?

Na jednym będzie działać, gdy “mądrze” będziesz sterował przekaźnikiem.
Rys.4 wej.6 - gdy styk przekaźnika zwarty zawór się otwiera i w skrajnym położeniu silnik się zatrzymuje. Wyłączasz przekaźnik silnik powraca w drugie skrajne położenie.

Może szwankuje sam zawór a nie sterownik - tak nie powinno być.

…to możesz już to sterować z poziomu NR

Ten ESPHome termostat wygląda na lepsze rozwiązanie, działał by niezależnie … tak myślę.

wykorzystałem termostat chłodzenie-grzanie w esphome (przeniosłem projekt na moduł NodeMCU v2 ESP8266), spełnia swoja funkcję, profilaktycznie ustawiłem interlock 200 ms na obydwa przekaźniki, czas odpytywania czujnika temperatury 1sekunda

switch:
  - platform: gpio
    pin: D6
    name: "${device_name_lower}_GRZANIE"
    id: sw01
    icon: "mdi:electric-switch"
    inverted: true
    interlock: [sw02]
    interlock_wait_time: 200ms    
  - platform: gpio
    pin: D7
    name: "${device_name_lower}_CHLODZENIE"
    id: sw02
    icon: "mdi:electric-switch"
    inverted: true
    interlock: [sw01]
    interlock_wait_time: 200ms

dallas:
  - pin: GPIO14
    update_interval: 1s

sensor:  
  - platform: dallas
    address: 0x6601191a34b36428
    name: "${device_name_lower}_temp_01"
    id: "dallas_01"

climate:
  - platform: thermostat
    name: "Thermostat Climate Controller"
    sensor: dallas_01
    min_cooling_off_time: 1s
    min_cooling_run_time: 1s
    min_heating_off_time: 1s
    min_heating_run_time: 1s
    min_idle_time: 1s
    heat_deadband: 0.0
    heat_overrun: 0.0
    cool_deadband: 0.0
    cool_overrun: 0.0
    cool_action:
      - switch.turn_on: sw01
    heat_action:
      - switch.turn_on: sw02
    idle_action:
      - switch.turn_off: sw01
      - switch.turn_off: sw02
    default_preset: Home
    preset:
      - name: Home
        default_target_temperature_low: 29 °C
        default_target_temperature_high: 30 °C
        mode: HEAT_COOL