Automatyzacja Termostatów

Chciałbym żeby w godzinach
04:00 - 07:00 była utrzymywana temperatura pomieszczenia 22 stopnie
07:00 - 14:00 była utrzymywana temperatura pomieszczenia 20 stopni
14:00 - 21:00 była utrzymywana temperatura pomieszczenia 22 stopnie
21:00 - 04:00 była utrzymywana temperatura pomieszczenia 20 stopni
Było by wszystko super bo to proste i umiałem to ustawić za pomocą kafelków
Godzina → zadana temperatura → Termostat


Ale wraz z upływem czasu zaobserwowałem że termostat nie otwiera się w pełni czyli jeżeli mam w pomieszczeniu 21 stopni, a zadana temperatura ma 22 to głowica otwiera delikatny przepływ. A więc źle ponieważ zależy mi na jak najszybszym osiągnięciu 22 stopni więc powinna otworzyć się w 100 % a gdy osiągnie wymaganą temperaturę powinna się zakręcić, więc wymyśliłem że potrzebuje automatyzacji która gdy nie będzie zadanej temperatury 20/22 to głowica ma ustawić się na 30 stopni (ponieważ wtedy otwiera się na 100 %) natomiast jeżeli osiągnie wymaganą temperaturę 20/22 to wtedy powinna głowica ustawić się zgodnie z zadaną temperaturą. Zrobiłem coś takiego ale to nie działa

Funkcja

let vt1 = flow.get('Zadana') || 22; // temperatura zadana
let vt2 = parseFloat(msg.payload);   // temperatura aktualna

let lastTemp = flow.get('LastTemp') || 0;

// Oblicz docelową temperaturę dla termostatu
let newTemp = (vt2 < vt1) ? 30 : 22;

// Wyślij tylko jeśli nowa wartość różni się od ostatnio wysłanej
if (newTemp !== lastTemp) {
    flow.set('LastTemp', newTemp);
    msg.payload = { "occupied_heating_setpoint": newTemp };
    return [msg, msg];
} else {
    return null; // nic nie wysyłaj
}

Zadana

// Funkcja Node-RED
let temperaturaZadana = 22;
flow.set('Zadana', temperaturaZadana); // zapis do flow
msg.payload = temperaturaZadana;       // przekazanie dalej
return msg;

20

msg.payload = {
    "occupied_heating_setpoint": 20,
}
return msg;

Temp Bufor

Proszę o pomoc.

Ostatni obrazek - to co właściwie otrzymuje na wyjściu current state Bufor?
Dwa razy nadpisuje payload, który jest używany w funkcji.

Tak jest to temp bufor i jest podłączony do zewnetrznego czujnika temperatury

Pokaż msg.payload z debug.

nie mam debug … wszystko widoczne na obrazku

W jakim sensie - wywala bezpieczniki… czy co?
Po to jest węzeł debug aby sprawdzić co jest nie tak.
Jest parę niezrozumiałych miejsc

Węzły inject wykonują się tylko raz o określonej godzinie więc te sprawdzenia również - może to?

jest podwójne msg ponieważ idzie na dwie głowice,
to jest sztywno 20 stopni ponieważ kiedy śpie albo nie ma mnie w domu nie potrzebuje żeby pomieszczenie było grzane i wystarczy żeby byla utrzymana w nim temperatura 20 stopni. Nie działa bo to się nie automatyzuje jak osiągne temperature 22 stopni bo dogrzeje pomieszczenie klimatyzacją to nie zmienia wartości na 22 tylko zostaje w miejscu, zdarza się że wariuje i daje 30 stopni a po sekundzie ustawia na 22, oraz temp bufor nie aktualizuje temperatury na bierząco w czasie rzeczywistym jak zadam mu o odpowiedniej godzinie temperature to tylko wtedy zczytuje temperature z czujnika później nie odświeża tego automatycznie nie umie tego wyjaśnić po prostu nie działa nie mam pojęcia, 20 stopni idzie o odpowiedniej godzinie bezpośrednio do głowicy z pominięciem funkcji itp

więc o jakimś cyklicznym sprawdzaniu nie może być mowy :slight_smile:

ok … nie było - zastanowię się

1 polubienie

Więc jak to poprawnie zautomatyzować bo już nie mam na to pomysłu, a chciałbym żeby to działało, no chyba że to olać i zautomatyzować klimatyzacje żeby uruchamiała się na grzanie pomieszczenia o konkretnej godzinie

Dziękuje za pomoc działa wszystko tak jak powinno :slight_smile:

Robione na kolanie więc coś jeszcze wyjdzie.
Zwróć uwagę czy zbyt często głowica się nie przestawia… bo szybko zje baterie i mechanizm głowicy. Szczególnie gdy temp.pom. będzie blisko zadanej - brak histerezy.
W ogóle czemu nie korzystasz z funkcji BOOST głowicy?

Oprócz tego co napisał @RobinI30 , dołożę :slight_smile: Sterowanie klimatyzatorem bez potwierdzenia zmian , nie jest dobrym pomysłem, oprócz dyskomfortu , (brzęczyk) jeśli jest, powinieneś zweryfikować to co wysłałeś do klimy i nie wysyłać ponownie jeśli parametry są ok.

Switch prawidłowo przesyła do klimatyzacji informację o konieczności jej włączenia lub wyłączenia, co jest widoczne na załączonym zrzucie ekranu. Mechanizm ten działa poprawnie. Niestety okazało się, że muszę zakupić czujniki temperatury Sonoff SNZB-02D, ponieważ stosowane dotychczas czujniki Aqara nie umożliwiają pobierania bieżących odczytów za pomocą komendy /get. Czujniki Sonoff są już zamówione i powinny dotrzeć jutro, co pozwoli usprawnić całą automatyzację.
Obecnie jestem prawie zadowolony z działania systemu, z naciskiem na prawie. Czujniki Aqara wysyłają aktualną temperaturę w nieregularnych odstępach, wtedy, „kiedy same uznają to za stosowne”. Tymczasem opisywana automatyzacja wymaga dostarczania danych w czasie rzeczywistym. W efekcie klimatyzacja potrafi przegrzać pomieszczenie, zamiast jedynie je dogrzać.

Dużą pomoc okazał mi @RobinI30 naprawdę jestem mu wdzięczny bo siedziałem nad tym 3 dni

To jest wynik ustawiania 26 st :slight_smile: Czy myślisz, że jak ustawisz 26 zamiast 21 będzie szybciej ? Nie będzie , będzie cieplej . Chcesz szybciej włącz większy nawiew , wtedy zwiększysz wydajność. Grzeję się klimą 4 rok, może to nie powód żeby się wypowiadać autorytatywnie, ale jakieś doświadczenie już mam.

1 polubienie

Klimatyzacja wyłączy się automatycznie, gdy temperatura w pomieszczeniu osiągnie 22°C.


Problem pojawia się przy monitorowaniu temperatury za pomocą czujników Aquara. Czujniki te wysyłają dane w sposób nieregularny, co utrudnia uzyskanie miarodajnych wyników. Na przykład temperatura z salonu została przesłana przez czujnik 25 minut temu, a z łazienki aż godzinę temu, co rodzi wątpliwości co do aktualności danych.

Niestety, system Aquara nie pozwala na wymuszenie natychmiastowej transmisji danych za pomocą komendy /get, podczas gdy czujniki Sonoff taką funkcjonalność posiadają. Z tego powodu zdecydowałem się na zakup czujników Sonoff, które umożliwiają bieżące odczyty temperatury. Dodatkowo, na moim osiedlu ogrzewanie sieciowe jest bardzo kosztowne cena wynosi 213 zł/GJ. Posiadam również podzielnik ciepła, dlatego zależy mi na możliwie szybkim i krótkotrwałym wykorzystywaniu sieci grzewczej, gdyż płacę jedynie za faktycznie dostarczone ciepło do kaloryferów.

Jak wszystkie bateryjne, po co mają częściej wysyłać jeśli temperatura lub wilgotność nie zmieniała się znacząco. Dla Ciebie też nie powinno stanowić to problemu skoro nie wysyłają zmiany stanu to znaczy, że temperatura jest w miarę stała. Po co info i skoki temperatury z 20,1 do 20,2 do 20,3 ??? Regulujesz temperaturę do 2 miejsc po przecinku ?

Myślałem, że o komfort - tu muszę Cię rozczarować i fizyki nie oszukasz.
Aby ogrzać 1m3 powietrza o 1C potrzeba w ok 1,2J więc co byś nie zrobi wychodzi tyle samo. Czy wolno małą mocą, czy szybko dużą.
Do ogrzania musisz dostarczyć wymaganą ilość energii - to jesttak jak gdybyś chciał oszczędzać na wodzie napełniając wannę szybciej :slight_smile:

@MariuszAK… też miałem takie przekonanie :slight_smile: ale w internetach piszą, że ludzie z aqara mają podobne problemy ( jakaś optymalizacja zużycia baterii).
Podobno algorytm reguluje szybkość wysyłania proporcjonalnie do szybkości zmian temperatury - co zauważyłem u @Sebastian1

Wcześniej korzystałem z ustawień, które można określić jako prowizoryczne w porównaniu z obecnymi. Dzięki optymalizacji zużycia udało mi się zejść z 1800 J do 616 J, co przełożyło się na zwrot w wysokości 1800 zł za ogrzewanie. Jeśli chcesz, mogę przedstawić rozliczenie.


Moje rozwiązanie nie jest więc nieprzemyślane w tym roku doszła również klimatyzacja, co prawdopodobnie spowoduje wyższy rachunek za prąd, szacuję wzrost o około 100 zł miesięcznie. Jednocześnie, jeśli obniżę zużycie ogrzewania na rzecz klimatyzacji, otrzymam jeszcze większy zwrot za ogrzewanie. Mimo to nadal będę na plusie, ponieważ w tym roku miałem również podwyżkę ryczałtu za ogrzewanie o 100 zł miesięcznie.

właśnie ustawiłem na 0 miejsc po przecinku z 2 zobaczymy co z tego wyjdzie, dzięki za pomysł

Czujniki sonoff niczego nie zmienią


a tu wykres z dziś z informacją, która pewnie Cię zainteresuje , brak raportów w zaznaczonym przedziale

Klimatyzacja ustawiona na stałą temp 20 st i wystarczy.