Procesy z życia wzięte - Ogrzewanie

Tu masz jak zrobić kartę z zakresem czasu
https://forum.arturhome.pl/t/karta-wykres-czujnikow-zakres-czasu/2353

1 polubienie

Witam kolejny po obejrzeniu filmów ma problem::slight_smile:

alias: 'wyłącz grzanie powzej 21 stopni  '
description: podczas tworzenia
trigger:
  - platform: device
    device_id: fa7b8292238adb05af98447e532e0c8a
    domain: climate
    entity_id: climate.grzejnik_sypialnia
    type: current_temperature_changed
    below: 0
    for:
      hours: 0
      minutes: 15
      seconds: 0
      milliseconds: 0
    above: 21
condition: []
action:
  - device_id: fa7b8292238adb05af98447e532e0c8a
    domain: select
    entity_id: select.grzejnik_sypialnia_force
    type: select_option
    option: close
mode: single

Mam zrobioną cała kartę do sterowania jak z filmiku nr 2 o ogrzewaniu i próbuje dostosować automatyzacje w HA’
Potrzebowałbym teraz aby wartość " above: 21 z automatyzacji " była taka jaką ustawie.
Mam pomocnika input_number.temperatura w którym wybieram jaka temperatura ma być docelowa .
Mam wyliczaną obecna temperatura którą przechowuje w sensor.current_temperature
wymysliłem takie coś

value_template: "{{ ( input_number.temperatura |float) =< (sensor.current_temperature| float) }}"

i tu moja wiedza się skończyła nie mam pojęcia jak to spiąć

Witam nie mogę edytować poprzedniego wpisu wiec pisze dalej

alias: wyłącz grzanie powyzej ustawionej temperatury
description: podczas tworzenia
trigger:
  - platform: template
    value_template: '"{{ ( "input_number.temperatura ") < ("sensor.current_temperature" )}}"'
condition: []
action:
  - device_id: fa7b8292238adb05af98447e532e0c8a
    domain: select
    entity_id: select.grzejnik_sypialnia_force
    type: select_option
    option: close
mode: single

i to działa ,jak obecna temperatura będzie wyższa niż ustawiona .
Problem mam taki czy w tym da się zrobić aby w innym przypadku grzało czy musze odwrotny warunek wstawić w innej automatyzacji ?

Tu masz przykłady. https://community.home-assistant.io/t/help-with-automation-trigger-when-sensor-temp-is-higher-lower-than-weather/59957/9
Brakuje ci jeszcze warunku przez jaki okres automatyzacja ma sprawdzać temperaturę sensor.current_temperature bo teraz przy zmianie o 1 stopień w górę czy w dół automatyzacja będzie ci skakała z on na off i odwrotnie ( zimny zmienny wiatr). Czyli warunek, jeżeli temperatura sensor.current_temperature jest mniejsza od input_number.temperatura przez jakiś okres czasu to wtedy close

alias: wyłącz grzanie powyzej ustawionej temperatury
description: podczas tworzenia
trigger:
  - platform: time_pattern
    minutes: '10'
condition:
  - condition: or
    conditions:
      - condition: template
        value_template: >-
          "{{ ( "input_number.temperatura ") < ("sensor.current_temperature"
          )}}"
      - condition: state
        entity_id: input_boolean.tryb_ogrzewania
        state: 'off'
        for:
          hours: 0
          minutes: 9
          seconds: 0
          milliseconds: 0
action:
  - device_id: fa7b8292238adb05af98447e532e0c8a
    domain: select
    entity_id: select.grzejnik_sypialnia_force
    type: select_option
    option: close
mode: single

tylko nie wiem gdzie w tej automatyzacji wpisać aby w innym warunku grzał

@artpc ,

Po wielkokrotnym obejrzeniu Twojego filmu Ogrzewanie - część 2 mam pytanie o poniższą sekcję:

U mnie wygląda ona bliźniaczo, ale dodaję wizualne powiadomienie na dashboardzie o włączeniu grzejnika:

Na ile poznałem już Node-RED’a, to zgodnie z tą ścieżką, Twój grzejnik włączy się ZAWSZE po KAŻDEJ zmianie encji input_number, niezależnie od kierunku zmiany. A co, jeśli wykilkasz sobie na grzejniku temperaturę NIŻSZĄ od obecnie panującej w pomieszczeniu? Zgodnie ze schematem grzejnik znów się włączy… a przecież powinien się WYŁĄCZYĆ a moja kontrolka wizualna powinna zgasnąć (zmienić kolor). Ale z powyższego powodu nie ma jak zgasnąć… :wink:

Pyt. 1: Jak należałoby obsłużyć w Node-RED taki przypadek?

Przy okazji następujące pytanie eksperckie:
Pyt.2: czy i w jaki sposób można sparametryzować podproces?
Jak widać na moim przykładzie, identyczny mechanizm ustawiania grzejnika chcę powtórzyć dla każdego z pomieszczeń odrębnie ale wg identycznego przebiegu. Czy da się zuniwersalizować tę sekcję aby można było ją wstawiać (wywoływać) dla zmiennych typu: encja climate.grzejnik_X…Z, encja input_number.grzejnik_X…Z, input_boolean.grzejnik_X…Z?


Na razie próbuję ogarnąć przypadek z pyt. 1. i wymyśliłem, że:

  • po ustawieniu jakiejkolwiek temperatury grzejnik nie będzie włączany, ustawią się jedynie jego parametry pracy (pierwszy proces na poniższym obrazku)
  • za włączanie i wylączanie grzejnika odpowiadać będzie inny proces (to ten drugi z obrazka), w którym sprawdzam obecność kogoś w pokoju (minimum 2 minuty), następnie ogarniam szeregowo wszystkie okna w tym pomieszczeniu, jeszcze raz ustawiam grzejnik (nie wiem czy potrzebny jest ten krok, skoro “górny” proces to załatwia; dopuszczam jednak możliwość, że nikt z użytkowników nie zmieni ustawień grzejnika, więc może to krok bardziej “przypominawczy”), a następnie włączam grzejnik i wymuszam zapalenie się jego kontrolki na dashboardzie.

Z resztą podobnie ogarniam przypadki użycia klimy jako:

  • źródła miłego chłodu w lecie przy temp > 25
  • sposobu na jesienno-wiosenne dogrzanie pomieszczenia, gdy ogrzewanie główne już nie hula.

Pozostaje do rozstrzygnięcia pytanie eksperckie…

Mam problem w tym że dla encji light jest błąd

  - platform: history_stats
    name: Ogrzewanie dzisiaj
    entity_id: light.sonoff_a48001c923
    state: 'on'
    type: time
    start: '{{ now().replace(hour=0, minute=0, second=0) }}'
    end: '{{ now() }}'

Platform error light.history_stats - No module named ‘homeassistant.components.history_stats.light’

Jak to naprawić ? Bo już nie mam pomysłów.

Ta encja to przekaźnik beznapięciowy Sonoff bez możliwości zmiany oprogramowania.

Tu nie chodzi o zmianę firmware, tylko o definicję encji w integracji (mam akurat inną taką integrację, w której się nie daje zmienić domeny encji, ale kojarzę, że w niektórych można; być może z poziomu aplikacji producenta, bo w oficjalnej integracji eWeLink nie widzę takich możliwości, ale nie używam tego, więc wiele więcej nie pomogę - w razie czego stwórz sobie dodatkową encję w template).

Z poziomu Ewelink nie ma zbyt wielu opcji. Zmiany typu nie ma.

Witam,
Mam problem z dodaniem termostatu, robię wszystko jak na filmie Procesy z życia wzięte - Ogrzewanie - część 2 ale za chiny ludowe nie mogę zrobić takiej samej karty tzn nie działa opcja style
zainstalowałem lovelace-mod-card

wrzucam screena


Miałem podobną zagadkę, chyba poprawiło się jak dodałem button-card lub card-mod.

card-mod wprowadza obsługę css. A jak zrobić by czas działania ogrzewania był w godzinach i minutach ? Na innej zakładce pokazuje mi poprawnie a na termostacie ogrzewanie pracowało 0.8h

trzeba wyciągnąć wartość np tak:
state_attr(‘sensor.ogrzewanie_dzisiaj’,‘value’) }}

tnx po wyczyszczeniu cache przegladarki poszlo

WItam. Moj pierwszy post.

Ja nie widzę w json ogrzewanie gdzie sprawdzana jest aktualna temperatura. W tym momencie działa mi to tak ze jezeli kocioł wlaczony to wyłącz jeżeli wyłączony to włącz.

Mam problem z procesem (temat Ogrzewanie) w logach widzę takie błędy

Hej, mam taki komunikat przy Current State:
“Call-service error. extra keys not allowed @ data[‘value’]”
Znalazłem kilka porad co wkleić w polu data, albo jak usunąć pole “data” w edtorze yaml, ale nic nie pomogło. To jest ostatni nod w pliku Artura “włącz piec” i wygląda on tak:

[
{
“id”: “23a01b3899a60492”,
“type”: “api-call-service”,
“z”: “7467bb337a7845f8”,
“name”: “Włącz piec”,
“server”: “bf1cdba.1929828”,
“version”: 3,
“debugenabled”: false,
“service_domain”: “switch”,
“service”: “turn_on”,
“entityId”: “switch.dmuchawa_okap”,
“data”: “”,
“dataType”: “json”,
“mergecontext”: “”,
“mustacheAltTags”: false,
“outputProperties”: [],
“queue”: “none”,
“x”: 1470,
“y”: 1040,
“wires”: [
[]
]
},
{
“id”: “bf1cdba.1929828”,
“type”: “server”,
“name”: “Home Assistant”,
“version”: 2,
“addon”: true,
“rejectUnauthorizedCerts”: true,
“ha_boolean”: “y|yes|true|on|home|open”,
“connectionDelay”: true,
“cacheJson”: true,
“heartbeat”: false,
“heartbeatInterval”: 30
}
]

Dodam, że jak uruchomię noda bezpośrednio z timestamp, to działa bez problemu. Poradzicie coś?

może zrób screena jak leci proces, jakoś tego nie widzę

To nad kreską to poprawione przez Artura subflow do wyliczania zimny/ciepłych pokoi z tego postu: Procesy z życia wzięte - Ogrzewanie - #101 przez artur

a nod który mnie interesuje dałem z kółko. Czy potrzebujesz export całego flow?

Edit:
Trochę posprzątałem.
Z nodem “wyliczanie 1” działa (ale źle wylicza pokoje, dlatego Arturo to poprawił), a z nodem “wyliczanie 2” mam ten błąd, więc podejrzewam że problem tkwi właśnie w tym nodzie “wyliczanie 2”. Porzucam json + screen. Poprzedni post możesz zignorować, ponieważ nic nie wnosi oprócz bałaganu :wink:


ogrzewanie - uproszczona wersja.json (22,2 KB)

@mobopx edytuj Swoje posty - nie pisz jednego pod drugim!!

Cześć, migruję z Domoticza na HA i nie mogę poradzić sobie z moim flow do ogrzewania (mianowicie chodzi mi o histerezę temperatur)… Jestem początkujący w node-red. Chciałbym aby to działało tak:

Ustalam zadaną temperaturę. Na tej podstawie wyliczam wartości temperatury kiedy ogrzewanie ma się włączać a kiedy wyłączać. Pomiędzy jest bezczynność (albo się wychładza albo ogrzewa). Chodzi o to aby switch nie uruchamiał się co skok o 0,1 stopnia.

Próbuję nodem funkcji, ale jak dodaję ten warunek histerezy to niestety przestaje działać i wyrzuca błąd typu: “ReferenceError: TempON is not defined (line 7, col 14)”. Poniżej moje próby uruchomienia…

grzanie.json (5,4 KB)

Wierzę w wasze doświadczenie, że ktoś mnie popchnie dalej :slight_smile: