SUPLA Scripts
Pobieranie URLi też przeniosłem do funkcji w Twigu. Dodałem od razu możliwość wyekstrahowania dowolnego elementu strony wyrażeniem regularnym.
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
Dzięki temu rano nam powie jaka będzie temperatura w ciągu dnia. I kilka innych bajerów
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
Kod: Zaznacz cały
{{ getUrl('URL', '#REGEX#') }}
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') }}
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%}
w/w ficzur w 2.9.0-beta.2
A jakby tak pójść dalej
Spiąć to z kalendarzem Google, tak, żeby czytał plan dnia. W ustawieniach kalendarza da się pobrać bez logowania te informacje w pliku
Format tego pliku wygląda mniej więcej tak:
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
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
Jeszcze nie, ale pomysł dobry.
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
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
Pozdrawiam
Wojtek
Wojtek