SUPLA Scripts

Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

U mnie śmiga. Stare jak i nowe warunki działają "od strzału" :D
:mrgreen: :mrgreen: :mrgreen:
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Pobieranie URLi też przeniosłem do funkcji w Twigu. Dodałem od razu możliwość wyekstrahowania dowolnego elementu strony wyrażeniem regularnym.

Kod: Zaznacz cały

{{ getUrl('URL', '#REGEX#') }}
To co ma się wyświetlić w odpowiedzi, powinno być w pierwszej grupie wyrażenia.

Przykładowo, żeby pokazać maksymalną temperaturę na dziś w Paczkowie ze strony https://www.meteoblue.com/pl/pogoda/pro ... ka_3089566

Kod: Zaznacz cały

{{ getUrl('https://www.meteoblue.com/pl/pogoda/prognoza/tydzień/paczków_polska_3089566', '#tab_temp_max".*?>\s*(.+?C)#s') }}
Dzięki temu rano nam powie jaka będzie temperatura w ciągu dnia. I kilka innych bajerów :lol:

Kod: Zaznacz cały

{% set maxTempToday = getUrl('https://www.meteoblue.com/pl/pogoda/prognoza/tydzień/paczków_polska_3089566', '#tab_temp_max".*?>\s*(.+?C)#s')|number_format%}
{% set tempNow = state(7011).temperature|number_format(1) %}

Teraz jest {{tempNow }}°C
Dzisejsza maksymalna temperatura: {{maxTempToday }}°C
Amplituda to {{tempNow - maxTempToday }}°C
{% if tempNow - maxTempToday > 10 %}
  Różnica będzie duża, więc ubierz sie na cebulkę.
{% endif %}

{% set weekday = 'now'|date('N') %}
{% if maxTempToday  > 15 and weekday == 7 %}Jest niedziela i będzie ciepło. Jedź na wycieczkę!{%endif%}
{% if weekday < 5 %}Do piątku zostało tylko {{ 5 - weekday }} dni.{%endif%}
Mam świadomość, że wyrażenia regularne wykraczają poza zakres umiejętności normalnego człowieka, ale zawsze możecie zapytać ;-)

w/w ficzur w 2.9.0-beta.2
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

Przepisałem testowe wyrażenie dla swojego miasta i zadziałało :) Faktycznie te wyrażenia mogą sprawiać problem, ale póki co nie mam jeszcze pomysłu coby tu zaczerpnąć ciekawego... pomyślimy :D
:mrgreen: :mrgreen: :mrgreen:
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

A jakby tak pójść dalej :P
Spiąć to z kalendarzem Google, tak, żeby czytał plan dnia. W ustawieniach kalendarza da się pobrać bez logowania te informacje w pliku

Kod: Zaznacz cały

basic.ics
Format tego pliku wygląda mniej więcej tak:

Kod: Zaznacz cały

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar xxxxxxxxxxxxxx//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:WspĂłlny
X-WR-TIMEZONE:Europe/Warsaw
BEGIN:VTIMEZONE
TZID:Etc/UTC
X-LIC-LOCATION:Etc/UTC
BEGIN:STANDARD
TZOFFSETFROM:+0000
TZOFFSETTO:+0000
TZNAME:GMT
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Warsaw
X-LIC-LOCATION:Europe/Warsaw
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART:20181123T073000Z
DTEND:20181123T083000Z
DTSTAMP:20181108T124853Z
UID:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CREATED:20181105T134113Z
DESCRIPTION:
LAST-MODIFIED:20181105T134113Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Tutaj tytul wydarzenia
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:EMAIL
DESCRIPTION:This is an event reminder
SUMMARY:Alarm notification
ATTENDEE:mailto:konto@gmail.com
TRIGGER:-P1D
END:VALARM
END:VEVENT
:mrgreen: :mrgreen: :mrgreen:
Komar000
Posty: 31
Rejestracja: pn lut 12, 2018 9:28 am

Da się jakoś w odpowiedzi sceny wyciągnąć informację jaki profil jest aktualnie na termostacie aktywny?
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Jeszcze nie, ale pomysł dobry.
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

Pomysł nawet bardzo dobry :D
:mrgreen: :mrgreen: :mrgreen:
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

supla.fracz.com może nie działać przez ~30 minut - upgrade serwera. A miało być zaplanowane... :roll:
Awatar użytkownika
wojtas567
Posty: 2209
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

Mam pytanie czy możesz uwzględnić w następnych zmianach (poprawkach) żeby temperaturę odczytywało powyżej 1000 st :) wystarczy 1100.
Bo widzę że w aplikacji ciśnienie ładnie się zmienia na wartościach 1030 i wyżej, ale na scryptach brak danych.
Nie trzeba będzie wyświetlać w kPa i mnożyć przez 10 :D
Pozdrawiam
Wojtek
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Skrypty nie mają żadnego takiego ograniczenia. Przynajmniej ja nic o nim nie wiem
Zablokowany

Wróć do „SUPLA Scripts”