Powiadomienie nt. temat jakości powietrza i ciśnienia atmosferycznego

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
User avatar
michael
Posts: 675
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Fri Jan 04, 2019 10:30 am

Powiadomienie nt. temat jakości powietrza i ciśnienia atmosferycznego z czujników ulokowanych w wielu miastach Polski

Dzięki nowym skryptom i pomocy kolegi @fracz takie coś "ukulałem" :D

Instrukcja:
Wchodzimy na stronę:
https://panel.syngeos.pl/sensor/pm10

Wybieramy interesujący nas czujnik na mapie Polski. Następnie w pasku adresu, który wygląda tak:

Code: Select all

https://panel.syngeos.pl/sensor/pm10?device=187
spisujemy numer za device= i umieszczamy go w poniżej przedstawionym kodzie w pierwszej linijce.

Code: Select all

{% set loadSensors = getUrl('https://api.syngeos.pl/api/public/data/device/187') | jsonDecode.sensors%}
{% set sensorPm10 = (loadSensors[4].data[0].value)|number_format(1) %}

{% if sensorPm10  < 20 %}Powietrze jest całkiem czyste{%endif%}
{% if sensorPm10  > 20 and sensorPm10 <60 %}Powietrze dobre. Możesz wyjść z domu{%endif%}
{% if sensorPm10  > 60 and sensorPm10 <100 %}Powietrze umiarkowane. Zostań w domu{%endif%}
{% if sensorPm10  > 100 and sensorPm10 <140 %}Powietrze dostateczne. Lepiej zostań dziś w domu{%endif%}
{% if sensorPm10  > 140 and sensorPm10 <200 %}Powietrze złe, lepiej zostań dziś w domu{%endif%}
{% if sensorPm10  > 200 %}Powietrze fatalne. Zagrożenie dla zdrowia, lepiej zostań w domu.{%endif%}
. 
{% set cisnienie = (loadSensors[2].data[0].value)|number_format(1) %} 
Ciśnienie atomosferyczne {{cisnienie}} hPa
Przykładowy efekt powiadomienia:

Code: Select all

Powietrze dobre. Możesz wyjść z domu. Ciśnienie atomosferyczne 996.9 hPa
ps. jakby ktoś potrzebował innych informacji, to z tej strony łatwo też wyciągnąć takie dane jak temperatura, wilgotność oraz wartość czujnika PM2.5
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
wojtas567
Posts: 1258
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Fri Jan 04, 2019 10:51 am

A próbowałeś pobrać te dane bezpośrednio z WIOŚ-a? będą aktualniejsze.
Wydaje mi się, że Ci mają dużo czujników, API też mają https://airly.eu/map/pl/
Pozdrawiam
Wojtek
User avatar
michael
Posts: 675
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Fri Jan 04, 2019 10:56 am

Nie próbowałem, ale te co podałem to są na bieżąco. Nie sprawdzałem jakie jest odświeżanie, ale strzelam z tego co zauważyłem jak testowałem odczyty, że co 10 minut przynajmniej.

Na tą stronkę co mi podesłałeś zerknę :D
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
wojtas567
Posts: 1258
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Fri Jan 04, 2019 11:34 am

michael wrote:
Fri Jan 04, 2019 10:56 am
odczyty, że co 10 minut przynajmniej.
Z tego co sprawdzałem to na oficjalnych stronach czy aplikacji aktualizacje są co godzinę
Przed dwunastą jak wchodziłem to miałem dane z 10.00.
Pozdrawiam
Wojtek
wsosniak
Posts: 160
Joined: Sat Jun 02, 2018 8:02 am

Fri Jan 04, 2019 11:43 am

michael wrote:
Fri Jan 04, 2019 10:30 am
Powiadomienie nt. temat jakości powietrza i ciśnienia atmosferycznego z czujników ulokowanych w wielu miastach Polski
Extra ! Ci ci mają blisko te czujniki od domu to mają stacje pogodową "za darmo" :)

Pozwoliłem sobie , na bazie Twojego przykładu, zrobić dla siebie (może inni skorzystają) :

{% set loadSensors = getUrl('https://api.syngeos.pl/api/public/data/device/187') | jsonDecode.sensors%}
{% set temp1 = (loadSensors[0].data[0].value)|number_format(1) %}
{% set wilg1 = (loadSensors[1].data[0].value)|number_format(1) %}
{% set cisn1 = (loadSensors[2].data[0].value)|number_format(1) %}
{% set pm25 = (loadSensors[3].data[0].value)|number_format(1) %}
{% set pm10 = (loadSensors[4].data[0].value)|number_format(1) %}

Aktualne dane :
temperatura : {{temp1}} °C,
wilgotność : {{wilg1}} %,
ciśnienie : {{cisn1}} hPa,
PM2.5 : {{pm25}} µg/m³ ({{100*pm25/25}} %),
PM10 : {{pm10}} µg/m³ ({{100*pm10/50}} %)
-----------------------------------------
{% if pm10 < 20 %}Powietrze jest całkiem czyste{%endif%}
{% if pm10 > 20 and pm10 <60 %}Powietrze dobre. Możesz wyjść z domu{%endif%}
{% if pm10 > 60 and pm10 <100 %}Powietrze umiarkowane. Zostań w domu{%endif%}
{% if pm10 > 100 and pm10 <140 %}Powietrze dostateczne. Lepiej zostań dziś w domu{%endif%}
{% if pm10 > 140 and pm10 <200 %}Powietrze złe, lepiej zostań dziś w domu{%endif%}
{% if pm10 > 200 %}Powietrze fatalne. Zagrożenie dla zdrowia, lepiej zostań w domu.{%endif%}
Attachments
1.png
1.png (36.4 KiB) Viewed 395 times
User avatar
michael
Posts: 675
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Fri Jan 04, 2019 11:49 am

No i super :D
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
michael
Posts: 675
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Fri Jan 04, 2019 11:54 am

wojtas567 wrote:
Fri Jan 04, 2019 11:34 am
michael wrote:
Fri Jan 04, 2019 10:56 am
odczyty, że co 10 minut przynajmniej.
Z tego co sprawdzałem to na oficjalnych stronach czy aplikacji aktualizacje są co godzinę
Przed dwunastą jak wchodziłem to miałem dane z 10.00.
Zweryfikowałem to i odczyty dla Wojkowic mam co 3-4 minuty. Może to zależy od stacji dla konkretnej miejscowości.
Jak to mawiają:
"U mnie działa"
:lol:
Kabel ucięty na miarę zawsze jest za krótki...
wsosniak
Posts: 160
Joined: Sat Jun 02, 2018 8:02 am

Fri Jan 04, 2019 11:59 am

@fracz - przy okazji tworzenia tej sceny "stacji pogodowej" znalazłem drobny błąd (już kiedyś mi sie to zdarzyło ale uznałem że cos mi się przewidziało) : stworzyłem scenę gdzie cały ten skrypt z mojego poprzedniego postu wrzuciłem do ODPOWIEDZ sceny. Potem chciałem to potestować dla różnych lokalizacji (nie tylko @michael-a , ale mojej , ...... i innych) i wszedłem do sceny (EDYTUJ) , zmieniłem ID lokalizacji na moją i zrobiłem ZAPISZ SCENĘ i ...... nie uwzględnił mi tej zmiany. Wszedłem ponownie przez EDYTUJ, zmieniłem ID , ZAPISZ SCENĘ , i teraz uwzględnił zmiany. Ponowna edycja .... znowu nie uwzględnia zmiany ID , ponowna ... uzwglednia zmiany ID, ...... i jak widać co drugi raz mi te zmiany w odpowiedzi zapisuje
User avatar
fracz
Posts: 1210
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Fri Jan 04, 2019 12:09 pm

@michael, Brawo :-)

@wsosniak, próbowałem to już naprawić kilka razy, za cholerę nie wiem dlaczego tak się dzieje :(
User avatar
elhenio
Posts: 40
Joined: Tue Jan 02, 2018 1:30 pm

Fri Jan 04, 2019 12:16 pm

@fracz, jakiś czas temu (wydaje mi się, że wersja rc2 lub 4) jak testowałem różne warianty też podobny miałem problem jak kolega @wsosniak.
Po drugiej edycji lub ponownym zalogowaniu dopiero przyjmowało nowe dane. Dzisiaj nic takiego się nie działo a zrobiłem kilka zmian w skrypcie z parametrami pogodowymi od @wsosniak

PS raz mi nie przyjęło zmian!!! przed chwilą.
Pozdrawiam
elhenio
-----------------------------------------------------------------------------------------------------------------------
Nie wystarczy zdobywać mądrości, trzeba jeszcze z niej korzystać.
Post Reply