Inteligentny dom, super sprawa, choć wczoraj spotkała mnie nie miła niespodzianka. Okazało się że zerwały się "wieszaki" w rolecie (dobrze że tylko w jednej). Do tej pory używałem harmonogramu z Supli który zamykał/otwierał o danych porach dnia rolety w całym domu. Wczoraj napadało tyle śniegu od strony zachodniej, że roleta już się nie zamknęła do końca i uległa uszkodzeniu. Dlatego piszę ten post aby inne osoby które sterują roletami automatycznie wzięli parę rzeczy pod uwagę. Myślę, że trzeba będzie harmonogram rolet "przenieść" do aplikacji kolegi Fracz, aby w zależności od temperatury na zewnątrz podejmował decyzję czy roletę uruchamiać czy nie?
Pytanko do kolegi Fracz, jak bardzo można budować skomplikowane warunki aby uwzględniać:
- godzinę zamknięcia/otwarcia
- prędkość wiatru
- kierunek wiatru
- opady deszczu/śniegu
- sprawdzenie temperatury na zewnątrz
- jeśli temp < 0.5 to nic nie rób
- jeśli temp > 0.5 to zamknij/otwórz
itp
Automatyka, harmonogram, warunki pogodowe
Roleta powinna mieć wbudowane zabezpieczenie przed przeciążeniem, ( ja na cloud mam ustawione czasy o kilka s większe niż całkowity czas otwarcia/zamknięcia) niezależne od systemu sterowania. Jakie masz silniki w roletach? Wiesz na zewnątrz może być -20 ale śniegu nie będzie itd
niestety nie mam silników przeciążeniowych tylko zwykłe. Druga rzecz, że takie silniki są o wiele droższe więc wymiana nie wchodzi w grę. Silniki przeciążeniowe działają tylko w dół jeśli jest przeszkoda np. stojąca doniczka ale w górę już nie ma zabezpieczenia więc jak roleta przymarznie do parapetu to i tak zerwie wieszaki.
Dużo wskazówek znajdziesz w wątku : "Warunki w SUPLA Scripts - pomysły" viewtopic.php?p=31347#p31347
Ja miałem podobny problem przymarzania rolet od strony północno zachodniej kiedy były opady deszcz/sniegu i temperatura ponizej -2.
Rozwiązałem to w scenie tak , takim warunkiem :
czyli :
- odczytuje przewidywaną temperature min
- odczytuje przewidywane opady
i :
- jeśli rolety są zamknięte
- jest jest dzień (u mnie to jest : 2,5 godziny przed wschodem słońca , do godziny 22:00,
- jest odpowiednia temepratura ( min >=-2 lub <=-11 - ustaliłem to tak empirycznie u mnie )
- jest temperatura minimalna w zakresie <=-3 i >=-10 i NIE ma opadów
to otwieram te rolety (w przeciwnym, wypadku NIE otwieram tych rolet)
na bazie tego mojego przykładu możesz zbudować scenę o podobnym działaniu dla siebie (tylko kierunek wiatru musiałbyś jeszcze odczytać, ale też sie chyba da )
Niestety jest "mały" problem tej sceny na razie nie uruchomisz w harmonogramie ( o czym zresztą wspominałem @fracz-owi, zeby podczas implementacji scen w cloud v2.4, pamietał o tym żeby sceny z warunkami dało się uruchamiać w harmonogramach). Ja tą scene odpalam wtedy kiedy podjeżdzam pod dom.
Ja miałem podobny problem przymarzania rolet od strony północno zachodniej kiedy były opady deszcz/sniegu i temperatura ponizej -2.
Rozwiązałem to w scenie tak , takim warunkiem :
Kod: Zaznacz cały
{% set TempMin = getUrl('https://www.meteoblue.com/pl/pogoda/prognoza/tydzień/katowice_polska_3096472', '#tab_temp_min".*?>\s*(.+?C)#s')|number_format %}
{% set rain = getUrl('https://www.meteoblue.com/pl/pogoda/prognoza/tydzień/katowice_polska_3096472', '#_iday.+?title="(.+?)"#s') %}
{{ state(18038).shut == 100 and state(18028).shut == 100 and state(18034).shut == 100 and
( time("+150 minutes") >= sunriseTime() and time() <='22:00' and (TempMin >=-2 or TempMin <=-11))
or
( time("+150 minutes") >= sunriseTime() and time() <='22:00' and TempMin <=-3 and TempMin >=-10 and ("deszcz" in rain)=='' and ("opad" in rain)=='' and ("Opad" in rain)=='')
}}
- odczytuje przewidywaną temperature min
- odczytuje przewidywane opady
i :
- jeśli rolety są zamknięte
- jest jest dzień (u mnie to jest : 2,5 godziny przed wschodem słońca , do godziny 22:00,
- jest odpowiednia temepratura ( min >=-2 lub <=-11 - ustaliłem to tak empirycznie u mnie )
- jest temperatura minimalna w zakresie <=-3 i >=-10 i NIE ma opadów
to otwieram te rolety (w przeciwnym, wypadku NIE otwieram tych rolet)
na bazie tego mojego przykładu możesz zbudować scenę o podobnym działaniu dla siebie (tylko kierunek wiatru musiałbyś jeszcze odczytać, ale też sie chyba da )
Niestety jest "mały" problem tej sceny na razie nie uruchomisz w harmonogramie ( o czym zresztą wspominałem @fracz-owi, zeby podczas implementacji scen w cloud v2.4, pamietał o tym żeby sceny z warunkami dało się uruchamiać w harmonogramach). Ja tą scene odpalam wtedy kiedy podjeżdzam pod dom.
dosyć fajną stroną jest (przykład dla Katowic) : https://www.yr.no/place/Poland/Silesia/ ... recast.xml
gdzie możesz sobie odczytać aktualną pogodę (łącznie z kierunkiem wiatru) :
Kierunek wiatru : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<windDirection')[1]|split('"')[1]|raw}}
Prędkość wiatru : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<windSpeed')[1]|split('"')[1]|raw}}
Temperatura : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<temperature')[1]|split('"')[3]|raw}}
Ciśnienie : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<pressure')[1]|split('"')[3]|raw}}
Opday lub ich brak : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<symbol number=')[1]|split('"')[5]|raw}}
jak i prognozę (tu przykład na 3 godz do przodu) :
Kierunek wiatru : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<windDirection')[2]|split('"')[1]|raw}}
Prędkość wiatru : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<windSpeed')[2]|split('"')[1]|raw}}
Temperatura : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<temperature')[2]|split('"')[3]|raw}}
Ciśnienie : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<pressure')[2]|split('"')[3]|raw}}
Opday lub ich brak : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<symbol number=')[2]|split('"')[5]|raw}}
gdzie możesz sobie odczytać aktualną pogodę (łącznie z kierunkiem wiatru) :
Kierunek wiatru : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<windDirection')[1]|split('"')[1]|raw}}
Prędkość wiatru : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<windSpeed')[1]|split('"')[1]|raw}}
Temperatura : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<temperature')[1]|split('"')[3]|raw}}
Ciśnienie : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<pressure')[1]|split('"')[3]|raw}}
Opday lub ich brak : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<symbol number=')[1]|split('"')[5]|raw}}
jak i prognozę (tu przykład na 3 godz do przodu) :
Kierunek wiatru : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<windDirection')[2]|split('"')[1]|raw}}
Prędkość wiatru : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<windSpeed')[2]|split('"')[1]|raw}}
Temperatura : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<temperature')[2]|split('"')[3]|raw}}
Ciśnienie : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<pressure')[2]|split('"')[3]|raw}}
Opday lub ich brak : {{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<symbol number=')[2]|split('"')[5]|raw}}
no to będzie zabawa, już sprawdzam dla mojej miejscowości przewidywaną pogodę. Choć mam termometr na zewnątrz wiec też można by porównywać wyniki przewidywane z aktualnymi. Jedynie myślę jak zrobić to, aby np. o wschodzie słońca odsłonił rolety właśnie od warunków pogodowych. Jeśli warunki są złe to rolety zamknięte, to fajnie by było za godzinę sprawdzić czy przypadkiem już warunki się nie zmieniły na lepsze że można te rolety podnieść. Wiesz, żona i jej kwiatki
te klimaty nie są mi obce
a tak na poważnie:
też bardzo chciałbym w supli móc wywołać scenę fracz-a o wschodzie , zachodzie słońca ale .... na tą chwilę w supli (w cloudzie lub skryptach) się nie da. Może @fracz w wersji v2.4 da nam taką możliwość? zobaczymy . Oby
Jednym z pośrednich rozwiązań tego problemu jest wywołanie scen fracz-a z poziomu IFTTT korzystając z triggera WEATHER : if WEATHER UNDERGROUND -> SUNRISE IN YOUR LOCATION then WEBHOOK (SCENA FRACZ-A)- ale to taka proteza (ale działa)
Gdybyś coś wymyślił innego w tym temacie to daj znać, chętnie skorzystam
To moje dzisiejsze kombinacje. Można by wszystko na polski przetłumaczyć tylko, że sporo mają tych stanów pogody
Z tego LONG TERM można by pobierać pogodę praktycznie co godzinę lub odczytać pogodę na wieczór o godzinie 8 rano
Kod: Zaznacz cały
{% set array = {'N':'północny','NNE':'północny,północno-wschodni','NE':'Północno-wchodni','ENE':'wschodni,północno-wschodni','E':'wchodni','ESE':'wschodni,południowo-wchodni','SE':'południowo-wchodni','SSE':'południowy,południowo-wchodni','S':'południowy','SSW':'południowy,południowo-zachodni','SW':'południowo-zachodni','WSW':'zachodni,południowo-zachodni','W':'zachodni','WNW':'zachodni,północno-zachodni','NW':'północno-zachodni','NNW':'północny,północno-zachodni',
'N':'północny'}%}
Prędkość wiatru: {{getUrl('http://www.yr.no/place/Poland/Lower_Silesia/Mrozów/forecast.xml', '')|split('<windSpeed')[1]|split('"')[1]|raw}} metra na sekundę.
Kierunek wiatru: {{array[getUrl('http://www.yr.no/place/Poland/Lower_Silesia/Mrozów/forecast.xml', '')|split('<windDirection')[1]|split('"')[3]|raw]}}.
Temperatura: {{getUrl('http://www.yr.no/place/Poland/Lower_Silesia/Mrozów/forecast.xml', '')|split('<temperature')[1]|split('"')[3]|raw}} stopni celcjusza,
Ciśnienie atmosferyczne: {{getUrl('http://www.yr.no/place/Poland/Lower_Silesia/Mrozów/forecast.xml', '')|split('<pressure')[1]|split('"')[3]|raw}} hektopaskali.
{% set opad = getUrl('http://www.yr.no/place/Poland/Lower_Silesia/Mrozów/forecast.xml', '')|split('<precipitation')[1]|split('"')[1]|raw %}{% if (opad)== 0 %} Brak opadów.{% else %} Opady {{opad}} milimetrów {{getUrl('http://www.yr.no/place/Poland/Lower_Silesia/Mrozów/forecast.xml', '')|split('<symbol number=')[1]|split('"')[5]|raw}}
{% endif %}
Hej,
Próbuję zrobić warunek opadami deszczu, wiatrem i temperaturą dla zraszaczy
Prognozę chcę brać stąd, tym warunkiem:
{{getUrl('https://www.yr.no/place/Poland/Greater_ ... recast.xml', '')|split('<symbol number=')[1]|split('"')[5]|raw}}
Nie wiem do końca jak wykorzystać to sprawdzenie opadów, jak skonstruować warunek pod to, że ma włączyć pompę i kanał z sonoff ch4 a po upływie np. 20 minut kolejny kanał sonoff 4ch i na końcu wszystko wyłączyć . Wtedy móglbym analogicznie dorobić dla wiatru i temperatury.
Później chcę uruchamiać scenę linkiem przez crontaba z raspberry o zadanej godzinie i wiedzieć czy zapowiadany jest deszcz w danym dniu itd. i ma włączyć zraszacze na np. 20 minut.
Próbuję zrobić warunek opadami deszczu, wiatrem i temperaturą dla zraszaczy
Prognozę chcę brać stąd, tym warunkiem:
{{getUrl('https://www.yr.no/place/Poland/Greater_ ... recast.xml', '')|split('<symbol number=')[1]|split('"')[5]|raw}}
Nie wiem do końca jak wykorzystać to sprawdzenie opadów, jak skonstruować warunek pod to, że ma włączyć pompę i kanał z sonoff ch4 a po upływie np. 20 minut kolejny kanał sonoff 4ch i na końcu wszystko wyłączyć . Wtedy móglbym analogicznie dorobić dla wiatru i temperatury.
Później chcę uruchamiać scenę linkiem przez crontaba z raspberry o zadanej godzinie i wiedzieć czy zapowiadany jest deszcz w danym dniu itd. i ma włączyć zraszacze na np. 20 minut.
chcę wykorzystać coś co już ktoś tutaj wykonał ale nie wiem jak to zastosować w scenie...
viewtopic.php?f=9&t=4535
i
tylko jak wszystko daje do warunku to warunek mam zawsze spełniony hm.
viewtopic.php?f=9&t=4535
i
Kod: Zaznacz cały
{% set start =0 %}
{% set end= 24 %}
{% set wart_zalaczenia =10 %}
{%set i=0%}
{% set suma = 0%}
{% for item in prognoza %}
{% if i>=start and i<=end %}
{% set suma=suma+item.opad %}
{%endif%}
{%endfor %}
{{ suma >wart_zalaczenia }}
tylko jak wszystko daje do warunku to warunek mam zawsze spełniony hm.