SUPLA Scripts

User avatar
michael
Posts: 841
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Thu Nov 08, 2018 9:10 am

U mnie śmiga. Stare jak i nowe warunki działają "od strzału" :D
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
fracz
Posts: 1450
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Thu Nov 08, 2018 12:17 pm

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

Code: Select all

{{ 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

Code: Select all

{{ 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:

Code: Select all

{% 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
User avatar
michael
Posts: 841
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Thu Nov 08, 2018 12:35 pm

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
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
michael
Posts: 841
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Thu Nov 08, 2018 12:55 pm

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

Code: Select all

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

Code: Select all

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
Kabel ucięty na miarę zawsze jest za krótki...
Komar000
Posts: 30
Joined: Mon Feb 12, 2018 9:28 am

Wed Nov 14, 2018 12:29 pm

Da się jakoś w odpowiedzi sceny wyciągnąć informację jaki profil jest aktualnie na termostacie aktywny?
User avatar
fracz
Posts: 1450
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Wed Nov 14, 2018 1:17 pm

Jeszcze nie, ale pomysł dobry.
User avatar
michael
Posts: 841
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Wed Nov 14, 2018 1:18 pm

Pomysł nawet bardzo dobry :D
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
fracz
Posts: 1450
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Mon Nov 19, 2018 9:04 am

supla.fracz.com może nie działać przez ~30 minut - upgrade serwera. A miało być zaplanowane... :roll:
User avatar
wojtas567
Posts: 1603
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Mon Nov 19, 2018 9:13 am

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
User avatar
fracz
Posts: 1450
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Mon Nov 19, 2018 9:21 am

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