Warunki w SUPLA Scripts - pomysły

mihu
Posty: 159
Rejestracja: śr lut 28, 2018 6:00 pm

która to opcja?
Załączniki
brama.jpg
brama.jpg (59.32 KiB) Przejrzano 3802 razy
plnuker
Posty: 97
Rejestracja: ndz gru 30, 2018 10:11 pm

plnuker pisze: czw sty 31, 2019 2:07 pm kombinował ktoś z parsowaniem jsona z

http://api.wunderground.com/api/XXXXAPI ... owice.json ?

w odpowiedzi leci:

{
"response": {
"version":"0.1",
"termsofService":"http://www.wunderground.com/weather/api/d/terms.html",
"features": {
"conditions": 1
}
}
, "current_observation": {
"image": {
"url":"http://icons.wxug.com/graphics/wu2/logo_130x80.png",
"title":"Weather Underground",
"link":"http://www.wunderground.com"
},
"display_location": {
"full":"Katowice, Poland",
"city":"Katowice",
"state":"SL",
"state_name":"Poland",
"country":"PL",
"country_iso3166":"PL",
"zip":"00000",
"magic":"267",
"wmo":"12560",
"latitude":"50.25999832",
"longitude":"19.02000046",
"elevation":"278.9"
},
"observation_location": {
"full":"Katowice, ",
"city":"Katowice",
"state":"",
"country":"PL",
"country_iso3166":"PL",
"latitude":"50.28",
"longitude":"19.01",
"elevation":"919 ft"
},
"estimated": {
},
"station_id":"IKATOWIC68",
"observation_time":"Last Updated on January 31, 2:45 PM CET",
"observation_time_rfc822":"Thu, 31 Jan 2019 14:45:18 +0100",
"observation_epoch":"1548942318",
"local_time_rfc822":"Thu, 31 Jan 2019 14:45:25 +0100",
"local_epoch":"1548942325",
"local_tz_short":"CET",
"local_tz_long":"Europe/Warsaw",
"local_tz_offset":"+0100",
"weather":"Scattered Clouds",
"temperature_string":"38.1 F (3.4 C)",
"temp_f":38.1,
"temp_c":3.4,
"relative_humidity":"51%",
"wind_string":"From the South at 1.1 MPH Gusting to 2.5 MPH",
"wind_dir":"South",
"wind_degrees":189,
"wind_mph":1.1,
"wind_gust_mph":"2.5",
"wind_kph":1.8,
"wind_gust_kph":"4.0",
"pressure_mb":"1001",
"pressure_in":"29.56",
"pressure_trend":"0",
"dewpoint_string":"22 F (-6 C)",
"dewpoint_f":22,
"dewpoint_c":-6,
"heat_index_string":"NA",
"heat_index_f":"NA",
"heat_index_c":"NA",
"windchill_string":"38 F (3 C)",
"windchill_f":"38",
"windchill_c":"3",
"feelslike_string":"38 F (3 C)",
"feelslike_f":"38",
"feelslike_c":"3",
"visibility_mi":"4.3",
"visibility_km":"7.0",
"solarradiation":"142",
"UV":"1.0","precip_1hr_string":"0.07 in ( 2 mm)",
"precip_1hr_in":"0.07",
"precip_1hr_metric":" 2",
"precip_today_string":"0.06 in (2 mm)",
"precip_today_in":"0.06",
"precip_today_metric":"2",
"icon":"partlycloudy",
"icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif",
"forecast_url":"http://www.wunderground.com/global/stations/12560.html",
"history_url":"http://www.wunderground.com/weatherstat ... IKATOWIC68",
"ob_url":"http://www.wunderground.com/cgi-bin/fin ... ,19.005272",
"nowcast":""
}
}

jak w Twig wyciąnąc wartosci z atrybutu np

"weather":"Scattered Clouds",
"temp_c":3.4,
Zeby można było zrobić warunek. Oczywiście bardziej koszernie niz regexp ;)
sam sobie odpowiem :
{{(getUrl('http://api.wunderground.com/api/tuwpisz ... owice.json', '#"temp_c":([0-9.]+)#s'))}}
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

A miało być bardziej koszernie niz regexp :P
TTomasz
Posty: 22
Rejestracja: czw sty 17, 2019 7:10 pm

Witam Panowie
Mam pytanie - dla was to pewnie banalna sprawa ;)

Ogólnie chodzi mi o to aby wychodząc z domu nie biegać po całym domu i sprawdzać czy światła są wyłączone.
Myślałem aby np dwukrotnym szybkim zapaleniem i zgaszeniem światła w wiatrolapie zgasić światło w całym domu.
Może macie pomysł na coś takiego i jak wtedy opisać warunek ?
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Przy wyjściu z domu zrób sobie przycisk który odpali scenę. Poszukaj Supla button po forum.
Awatar użytkownika
slawek
Posty: 2465
Rejestracja: pn mar 14, 2016 11:48 pm
Lokalizacja: Biała Podlaska

Jeśli urządzenia będą tego samego rodzaju - wystarczy stworzyć grupę i kliknąć z apki
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
wsosniak
Posty: 718
Rejestracja: sob cze 02, 2018 8:02 am

może się komuś przyda :
dzisiaj (dopiero dzisiaj) zwijałem lampki świateczne w ogórdku. W skryptach to miałem ustawione tak że zapalały mi się wtedy kiedy na zewnątrz było ciemno . Dołożyłem taki warunek aby zapalały mi jest tylko wtedy kiedy jest pomiędzy 15 grudnia a 10 lutego (może wtedy mnie to zmusi żeby je wcześniej zwinąć za rok :) no i nie ma sensu włączać teraz już automatycznie prądu w gniazdku w ogródku ) :

{% set MiesDzien= 'now'|date('m')*100 + 'now'|date('j')*1 %}
{{(time() <= sunriseTime() or time() >=sunsetTime()) and (MiesDzien <= 210 or MiesDzien >= 1215) }}
Awatar użytkownika
PuteR
Posty: 1421
Rejestracja: śr gru 06, 2017 10:07 am

wsosniak pisze: sob mar 09, 2019 5:06 pm może się komuś przyda :
dzisiaj (dopiero dzisiaj) zwijałem lampki świateczne w ogórdku. W skryptach to miałem ustawione tak że zapalały mi się wtedy kiedy na zewnątrz było ciemno . Dołożyłem taki warunek aby zapalały mi jest tylko wtedy kiedy jest pomiędzy 15 grudnia a 10 lutego (może wtedy mnie to zmusi żeby je wcześniej zwinąć za rok :) no i nie ma sensu włączać teraz już automatycznie prądu w gniazdku w ogródku ) :

{% set MiesDzien= 'now'|date('m')*100 + 'now'|date('j')*1 %}
{{(time() <= sunriseTime() or time() >=sunsetTime()) and (MiesDzien <= 210 or MiesDzien >= 1215) }}
możesz podać całość warunku, chodzi mi o część gdzie światło zapala sięgdy na zewnątrz robi się ciemno :]
wsosniak
Posty: 718
Rejestracja: sob cze 02, 2018 8:02 am

napisałem w moim poście "W skryptach to miałem ustawione tak że zapalały mi się wtedy kiedy na zewnątrz było ciemno"
a powinienem napisać "W skryptach to miałem ustawione tak że zapalały mi się wtedy kiedy przychodziłem do domu a na zewnątrz było ciemno

i to czy jest ciemno mówi Ci to :
time() <= sunriseTime() or time() >=sunsetTime()

i tak jak napisałem powyżej, daną scenę nie uruchamiam wtedy kiedy jest ciemno , tylko wtedy kiedy przychodzę do domu , mówie "ok google , i'm home" i wtedy przez IFTTT wywołuje się scena otwarcia domu ktora zawiera kilka podscen , jedną z nich jest zapalanie oświetlenia w ogórdku. I ta scena zapala mi światło w ogórdku kiedy własnie spełniony jest ten warunek :
1) jest ciemno czyli "time() <= sunriseTime() or time() >=sunsetTime()" i
2) jest okres pomiędzy 15 grudnia a 10 lutym : "MiesDzien <= 210 or MiesDzien >= 1215"

A jesli ty tylko chcesz zapalać swiatło dokładnie wtedy kiedy jest ciemno to:
- albo w cloud tworzysz harmonogram włączenia danego kanału (lub grupy kanałów) wtedy kiedy jest zachód słońca
- albo w IFTTT możesz stworzyc aplet ktory w momecie kiedy jest sunset, wywoła scenę z supla scripts
- albo najprościej jest (bez supli) , jak zamontujesz włącznik swiatła z czujnikiem zmierzchu
ciekawy_zycia
Posty: 42
Rejestracja: śr mar 06, 2019 8:35 am

Z tego co przetestowalem to w warunki ponizej beda zwracal inne dane chociaz z pozoru wygladaja tak samo:
1. warunek nie jest spelniony dla kodu:
{% set a=1%}
{{a>2}}

2. Wrunek jest spelniony dla kodu:
{% set a=1%}
{{a>2}}

Roznica polega na tym ze w punkcie drugim po } jest "spacja". To bardzo utrudnia wykrycie bledow, szczegolnie chce sie zastosowac wciecia, czy mozna to poprawic ? Ulatwi to pisanie bardziej skaplikowanego kodu.
ODPOWIEDZ

Wróć do „SUPLA Scripts”