Warunki w SUPLA Scripts - pomysły

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
User avatar
fracz
Posts: 1212
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Thu Dec 20, 2018 7:24 pm

Musisz się regexów pouczyć, żeby tam czarować :-D
pochmurno.jpg
pochmurno.jpg (33.91 KiB) Viewed 342 times

Code: Select all

{{ getUrl('https://www.meteoblue.com/pl/pogoda/prognoza/tydzień/katowice_polska_3096472', '#p12_iday.+?title="(.+?)"#s') }}
A tak generalnie to to meteoblue nie jest idealne do pobierania tych danych. Jakieś API by się przydało i wtedy można szaleć. Możesz coś znaleźć :)
wsosniak
Posts: 161
Joined: Sat Jun 02, 2018 8:02 am

Thu Dec 20, 2018 7:27 pm

super ! :) jest coraz lepiej :)
{% …….zmienne ……}
{{
( time() >= '05:30' and time() <='20:00' and (TempMin >=-4 or TempMin <=-11) )
or
( time() >= '0530' and time() <='20:00' and TempMin <=-5 and TempMin >=-10 and TempMax <=1 )
}}

nawet {{time("+15 minutes")}} działa :)
tgaweda
Posts: 28
Joined: Mon Nov 13, 2017 9:21 pm

Thu Dec 20, 2018 8:20 pm

fracz wrote:
Thu Dec 20, 2018 7:24 pm
A tak generalnie to to meteoblue nie jest idealne do pobierania tych danych. Jakieś API by się przydało i wtedy można szaleć. Możesz coś znaleźć :)
może https://www.yr.no/place/Poland/Lesser_P ... recast.xml?

Code: Select all

{{ (getUrl('https://www.yr.no/place/Poland/Lesser_Poland/Kęty/forecast.xml'))}}
edit:
najbliższa prognoza:

Code: Select all

{{(((getUrl('https://www.yr.no/place/Poland/Lesser_Poland/Kęty/forecast.xml', ''))|raw)|split('<time ')[1])|raw}}
i dość na dziś :D

Code: Select all

w najbliższym czasie będzie {{((((getUrl('https://www.yr.no/place/Poland/Lesser_Poland/Kęty/forecast.xml', ''))|split('<temperature unit="celsius" value=')[1]))|replace({' />': ""})|split('"'))[1]}} stopni celsjusza
Last edited by tgaweda on Thu Dec 20, 2018 9:43 pm, edited 4 times in total.
wsosniak
Posts: 161
Joined: Sat Jun 02, 2018 8:02 am

Thu Dec 20, 2018 8:57 pm

fracz wrote:
Thu Dec 20, 2018 7:24 pm
Musisz się regexów pouczyć, żeby tam czarować :-D
W którymś z postów pisałem , że to dla mnie za duże wyzwanie :)
Prognoza pogody aż tak nie musi by c dokładna w tych wyliczeniach bo nawet najlepsza może się mylić i pogoda może być inna w południowych Katowicach a inna w północnych.

a dla mnie to wystarczy (ew zmodyfikuje to w zależności jakie będą odpowiedzi ze strony o tym deszczu) :

{% set rain = getUrl('https://www.meteoblue.com/pl/pogoda/pro ... ka_3096472', '#p12_iday.+?title="(.+?)"#s') %}
{{"deszcz" in rain}}

wielkie dzieki !! teraz juz mam wszystko :)
wsosniak
Posts: 161
Joined: Sat Jun 02, 2018 8:02 am

Thu Dec 20, 2018 9:08 pm

dzięki również za sunsetTime() i sunriseTime() !!! :) tylko trzeba uważać na małe/duże litery , ale dla mnie to nie problem :) chociaż jak wpisałem SunSetTime() …. to się zaciąłem na 2 min zanim się zorientowałem .

@fracz - tak naprawdę to teraz masz problem ! :) no bo cloud-a 2.4 (czyli sceny) nie możesz zrobić bez warunków :) i to jeszcze te warunki muszą być "jadalne" dla normalnych ludzi , którzy , tak jak w obecnych harmonogramach , operują na zasadzie : otwórz jeśli jest "15 min przed zachodem lub wczesniej", zasłoń ....., zaświeć jeżeli …… , zgaś jeżeli ……., otwórz jeżeli zamknieta …… no masz wyzwanie teraz :)
User avatar
fracz
Posts: 1212
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Thu Dec 20, 2018 10:13 pm

Tu już @pzygmunt rozdaje karty :-D będziemy planować jak się v2.3 uspokoi ;-)
User avatar
fracz
Posts: 1212
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Thu Dec 20, 2018 10:19 pm

Jeszcze do pogody - widzę że https://openweathermap.org/api udostępnia sporo i to w jsonie, więc można by to sensownie obsłużyć bez regexow i splitow. Trezba się tam tylko zarejestrować i wygenerować klucz do API. Jak ogarnę czy działa to tak jak sobie wyobrażam to dam znać.
wsosniak
Posts: 161
Joined: Sat Jun 02, 2018 8:02 am

Fri Dec 21, 2018 8:15 am

tgaweda wrote:
Thu Dec 20, 2018 8:20 pm

może https://www.yr.no/place/Poland/Lesser_P ... recast.xml?

Code: Select all

{{ (getUrl('https://www.yr.no/place/Poland/Lesser_Poland/Kęty/forecast.xml'))}}
…………………….
…………………...

Code: Select all

w najbliższym czasie będzie {{((((getUrl('https://www.yr.no/place/Poland/Lesser_Poland/Kęty/forecast.xml', ''))|split('<temperature unit="celsius" value=')[1]))|replace({' />': ""})|split('"'))[1]}} stopni celsjusza
ooo fajne :) to już jest jadalne dla mnie :) na bazie tych trzech przykładów opanowałem bez manuala :) dzieki !!!

i mi pokazuje czy CLoudy, rain ,.... :

{{getUrl('https://www.yr.no/place/Poland/Silesia/ ... recast.xml', '')|split('<symbol number="4" numberEx="4" name=')[1]|split('"')[1]|raw}}
t0mek
Posts: 27
Joined: Sat Dec 02, 2017 11:24 am

Tue Dec 25, 2018 12:49 pm

próbuję odwołać się do odwrotnego stanu czujnika i cos mi to nie działa.
tak wpisywałem:
{{not state(1112).hi}}
{{state(1112).lo}}
I wyświetla mi że warunek nie jest spełniony.
Co robię źle?
Pozdrawiam
Tomek
wsosniak
Posts: 161
Joined: Sat Jun 02, 2018 8:02 am

Tue Dec 25, 2018 2:00 pm

tez podobnie próbowałem ale zamiast "lo" wpisywałem "low" ale to nie działa , musisz tylko używać "hi" lub "not .......hi" . W załączniku masz przykład dla kanału czujnika/sensora mojej bramy ktora teraz jest zamknieta (czasami nie kanału przełącznika !!!) :
Attachments
1.png
1.png (66.05 KiB) Viewed 173 times
Post Reply