Procesy z życia wzięte - Ogrzewanie

To akurat jest proste ,wystarczy :

end: "{{ now().replace(hour=0, minute=0, second=0) }}"
duration:
  days: 60

Ale chodzi mi od danej daty do danej lub od danego
nr dnia roku do danego. Czy w grafanie tak idzie od danej daty do danej czy tylko last ?.

Masz Absolute time range From To czyli możesz ustawić jaki czas chcesz. Po wybraniu From
Wyświetla ci się kalendarz tak samo dla To

No właśnie ta grafana. Miałem ją kiedyś do wykresów i troche mi zasoby zjadała i zrezygnowałem.

Ciekawe jaki jest zakres historii w Bazie Danych.
Pewnie z Bazy Danych można to wyciągnąć
https://community.home-assistant.io/t/get-temperature-from-yesterday/146494/13

Zmierzam do tego aby np: Tworzę pomocnika date time .Wprowadzam date początkową , i wyświetla ile w danym okresie rozliczeniowym działał piec.

Edit:
W sumie udało się dojść do celu inaczej. Czujnik od samego początku do teraz . Później encja z atrubutu i wyświetlenie w historii od daty do daty.

  - platform: history_stats
    name: Ogrzewanie łącznie
    entity_id: switch.sonoff_1000e3267e
    state: 'on'
    type: time
    start: "{{ 0 }}"
    end: "{{ now() }}"

  - platform: template
    sensors:
      czas_ogrzewania:
        friendly_name: "Czas łączny ogrzewania"
        value_template: "{{ state_attr('sensor.ogrzewanie_lacznie', 'value') }}"

@Rafał_Kasperski edytuj Swoje posty

1 Like

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

1 Like

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.