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

Fri Jan 04, 2019 12:21 pm

Przyglądnę się temu jeszcze raz. Mnie też to wkurza
User avatar
wojtas567
Posts: 1259
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Fri Jan 04, 2019 12:29 pm

Nie do wszystkich stacji to pasuje u mnie ciśnienie wychodzi 1.1 taką wartość mam przy C6H6
stacja nr 94 i faktycznie u mnie aktualizacja jest odległą ale jak wszedłem na sąsiednią to prawie na żywo.
Pozdrawiam
Wojtek
wsosniak
Posts: 161
Joined: Sat Jun 02, 2018 8:02 am

Fri Jan 04, 2019 12:44 pm

wojtas567 wrote:
Fri Jan 04, 2019 12:29 pm
Nie do wszystkich stacji to pasuje u mnie ciśnienie wychodzi 1.1 taką wartość mam przy C6H6
stacja nr 94 i faktycznie u mnie aktualizacja jest odległą ale jak wszedłem na sąsiednią to prawie na żywo.
Rzeczywiście. Jak widac (https://api.syngeos.pl/api/public/data/device/94) ta Twoja lokalizacja wogóle nie ma pomiaru temperatuty i wilgotnosci . Za to ma szczegółowy pomiar zawartości innych syfów w powietrzu :) (każdy musi to pod siebie juz skonfigurować)
User avatar
michael
Posts: 675
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Fri Jan 04, 2019 12:49 pm

noooooo fakt! :)
Tego nie zauważyłem. W takim razie cały ten kod trzeba traktować jako przykład. Tutaj każdy czujnik jest pod innym numerem niż w przypadku naszych lokalizacji.
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
wojtas567
Posts: 1259
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Fri Jan 04, 2019 1:00 pm

Drogą dedukcji po wartościach da się dojść :)
dla Olsztyna:

Code: Select all

{% set loadSensors = getUrl('https://api.syngeos.pl/api/public/data/device/94') | jsonDecode.sensors%}
{% set co = (loadSensors[0].data[0].value)|number_format(1) %}
{% set pm10 = (loadSensors[1].data[0].value)|number_format(1) %}
{% set c6h6 = (loadSensors[2].data[0].value)|number_format(1) %}
{% set no2 = (loadSensors[3].data[0].value)|number_format(1) %}
{% set pm25 = (loadSensors[4].data[0].value)|number_format(1) %}
{% set o3 = (loadSensors[5].data[0].value)|number_format(1) %}
{% set so2 = (loadSensors[6].data[0].value)|number_format(1) %}
{% set caqi = (loadSensors[7].data[0].value)|number_format(1) %}

Aktualne dane : 
PM2.5 : {{pm25}} µg/m³ ({{100*pm25/25}} %), 
PM10 : {{pm10}} µg/m³ ({{100*pm10/50}} %)
CO : {{co}} µg/m³, 
C6H6 : {{c6h6}}µg/m³, 
O3 : {{o3}} µg/m³, 
NO2 : {{no2}} µg/m³,
SO2 : {{so2}} µg/m³, 
CAQI : {{caqi}} 

-----------------------------------------
{% 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%}
Pozdrawiam
Wojtek
wsosniak
Posts: 161
Joined: Sat Jun 02, 2018 8:02 am

Fri Jan 04, 2019 1:11 pm

wojtas567 wrote:
Fri Jan 04, 2019 1:00 pm
Drogą dedukcji po wartościach da się dojść :)
albo otwierasz strone , np Twoją : https://api.syngeos.pl/api/public/data/device/94'
i szukasz ciągu "name" (CTRL + F) , i po kolei masz poszczególne elementy array-a od [0] , [1] ...... [7]
Attachments
1.png
1.png (305.39 KiB) Viewed 134 times
User avatar
fracz
Posts: 1211
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Fri Jan 04, 2019 2:14 pm

Dane z tego API można sobie przekleić np tu https://jsonformatter.curiousconcept.com/ i poformatować - łatwiej wtedy to analizować.

Można tam nawet wkleić od razu adres URL.
wsosniak
Posts: 161
Joined: Sat Jun 02, 2018 8:02 am

Fri Jan 04, 2019 5:14 pm

fracz wrote:
Fri Jan 04, 2019 2:14 pm
Dane z tego API można sobie przekleić np tu https://jsonformatter.curiousconcept.com/ i poformatować - łatwiej wtedy to analizować.

Można tam nawet wkleić od razu adres URL.
oooo rewelka :) Jak widać co jest pod czym ....... to np mozna bardziej się uniezależnić od rodzaju czujnika :) :

{% set loadSensors = getUrl('https://api.syngeos.pl/api/public/data/device/94') | jsonDecode.sensors%}
{% set s1name = (loadSensors[0].name) %}
{% set s1val = (loadSensors[0].data[0].value) %}
{% set s2name = (loadSensors[1].name) %}
{% set s2val = (loadSensors[1].data[0].value) %}

{{s1name}} = {{s1val}}
{{s2name}} = {{s2val}}

..... itd
User avatar
fracz
Posts: 1211
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Fri Jan 04, 2019 6:58 pm

To może tak.

Code: Select all

{% set loadSensors = getUrl('https://api.syngeos.pl/api/public/data/device/94') | jsonDecode.sensors%}
{% for sensor in loadSensors %}
{{sensor.name}}: {{ sensor.data[0].value}}{{sensor.unit}},
{% endfor %}
wojkowice.png
wojkowice.png (21.16 KiB) Viewed 73 times
andrzejano
Posts: 189
Joined: Wed Aug 30, 2017 8:47 am

Fri Jan 04, 2019 7:09 pm

Czy mogłbym prosić o przykład dla https://airly.eu/map/pl/#50.09520,18.58779 czy da się?
Post Reply