Pobierane wartości:
- Temperatura i wilgotność
- Ciśnienie
- Wartość PM1
- Wartość PM2,5 oraz procent normy
- Wartość PM10 oraz procent normy
-------
Help kto pomoże to odpalić na pi zero
zainstalowane requests
plik -,airly_get.py, samemu stworzyć z danymi z wątku ?
Supla virtual device MQTT
-
- Posts: 1150
- Joined: Tue Jun 04, 2019 11:37 am
Mój plik airly.py po małych korektach. Z temp. i wilgotnością ostatnio jest problem.
Crontab co godzinę - uzupełnij szerokość, długość geograficzną i klucz api
SVD
Code: Select all
#!/usr/bin/python
import requests
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--url", help="Airly API url with API_KEY")
parser.add_argument("--th", help="File destination for temperature and humidity")
parser.add_argument("--pre", help="File destination for air pressure")
parser.add_argument("--pm1", help="pm1")
parser.add_argument("--pm10", help="pm10")
parser.add_argument("--pm25", help="pm25")
parser.add_argument("--caqi", help="caqi")
args = parser.parse_args()
if args.url:
try:
req = requests.get(args.url)
if req.status_code == 200:
result = req.json()['current']['values']
indexes = req.json()['current']['indexes']
if args.th:
file = open(args.th, "w")
file.write(f"{result[5]['value']}\n{result[4]['value']}")
file.close()
if args.pre:
file = open(args.pre, "w")
file.write(f"{result[3]['value']}")
file.close()
if args.pm1:
file = open(args.pm1, "w")
file.write(f"{result[0]['value']}")
file.close()
if args.pm10: #norm 50
file = open(args.pm10, "w")
file.write(f"{result[2]['value']}\n{(result[2]['value']*100)/50}")
file.close()
if args.pm25: #norm 25
file = open(args.pm25, "w")
file.write(f"{result[1]['value']}\n{(result[1]['value']*100)/25}")
file.close()
if args.caqi: #norm 25
file = open(args.caqi, "w")
file.write(f"{indexes[0]['value']}")
file.close()
elif req.status_code == 429:
print("API rate limit was exceeded")
elif req.status_code == 401:
print("Please provide API key within a link")
except requests.RequestException:
print("URL error, please correct your URL")
except:
print("Unexpected error ocurred")
else:
print("Error, you must provide an URL")
Code: Select all
0 * * * * python3 /home/pi/airly/airly.py --url "https://airapi.airly.eu/v2/measurements/nearest?lat=50.xxxx&lng=19.xxxxx&maxDistanceKM=10&apikey=xxxx" --pm1 "/home/pi/airly-pm1.txt" --pm10 "/home/pi/airly-pm10.txt" --pm25 "/home/pi/airly-pm25.txt" --caqi "/home/pi/airly-caqi.txt" --pre "/home/pi/airly-pre.txt"
Code: Select all
[CHANNEL_0]
function=TEMPERATURE
file=/home/pi/airly-pm1.txt
[CHANNEL_1]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/airly-pm10.txt
[CHANNEL_2]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/airly-pm25.txt
[CHANNEL_3]
function=TEMPERATURE
file=/home/pi/airly-pre.txt
[CHANNEL_5]
function=TEMPERATURE
file=/home/pi/airly-caqi.txt
e-talking............
Byłem tam - Supla Offline Party 2023
Byłem tam - Supla Offline Party 2023
-
- Posts: 116
- Joined: Fri Jan 22, 2021 1:08 pm
coś albo pominąłem albo zjadłem po drodze bo wszędzie 0 wyświetla:(
-
- Posts: 116
- Joined: Fri Jan 22, 2021 1:08 pm
jednak jest problem wyniki po uruchomieniu:
./airly.py --url "https://airapi.airly.eu .......
wyświetlają się poprawnie lecz nie odświerzają
w crontab -e
0 * * * * python3 /home/pi/airly/airly.py --url "https:// ......
zmieniając czas z godziny na minuty to samo
jedynie wył/włączenie pi pomaga ale dalej nie odświerza
również na tym samym zainstalowane termometry xiaomi potrafią w różnych odstępach czasu zgubić wyniki i wyświetlić "--" pomaga fizyczne wył/właczenie pi
jakieś sugestie
./airly.py --url "https://airapi.airly.eu .......
wyświetlają się poprawnie lecz nie odświerzają
w crontab -e
0 * * * * python3 /home/pi/airly/airly.py --url "https:// ......
zmieniając czas z godziny na minuty to samo
jedynie wył/włączenie pi pomaga ale dalej nie odświerza
również na tym samym zainstalowane termometry xiaomi potrafią w różnych odstępach czasu zgubić wyniki i wyświetlić "--" pomaga fizyczne wył/właczenie pi
jakieś sugestie
-
- Posts: 1150
- Joined: Tue Jun 04, 2019 11:37 am
W pliku tekstowym wartości się zmieniają? Jaką masz datę ostatniej modyfikacji?
Wygląda, że do SVD źle działa a nie skrypt.
SVD uruchamiasz poprzez supervisior?
wykonaj:
Wygląda, że do SVD źle działa a nie skrypt.
SVD uruchamiasz poprzez supervisior?
wykonaj:
Code: Select all
sudo supervisorctl restart supla-virtual-device
e-talking............
Byłem tam - Supla Offline Party 2023
Byłem tam - Supla Offline Party 2023
-
- Posts: 116
- Joined: Fri Jan 22, 2021 1:08 pm
ustawiłem reset airly co 30minut -od godziny termometry poprawni wyświetlają i airly też odpowiednio aktualizuje testujemy dalej
-
- Posts: 116
- Joined: Fri Jan 22, 2021 1:08 pm
czy jest szansa odczytać z airly
np.siła wiatru
np.siła wiatru
-
- Posts: 1150
- Joined: Tue Jun 04, 2019 11:37 am
Jeśli dobrze kojarzę w zwracanym jonie brak informacji o sile wiatru. Polecam api https://burze.dzis.net/?page=mapa. Masz tam ostrzeżenia o burzach, silnym wietrze, opadach, mrozie upale itd. Siła wiatru (wartość) jest dostępna w https://openweathermap.org/api.
Edit
Jeśli czujesz się na siłach możesz przerobić dostępne na githabie skrypty, np. https://github.com/srinjay/Open-weather ... .list.json
Odkąd używam integracji z HomeAssiatntem odstawiłem PI, może w ramach chwili wolnego czasu przygotuję takie skrypty i udostępnię na forum.
Edit
Jeśli czujesz się na siłach możesz przerobić dostępne na githabie skrypty, np. https://github.com/srinjay/Open-weather ... .list.json
Odkąd używam integracji z HomeAssiatntem odstawiłem PI, może w ramach chwili wolnego czasu przygotuję takie skrypty i udostępnię na forum.
e-talking............
Byłem tam - Supla Offline Party 2023
Byłem tam - Supla Offline Party 2023
-
- Posts: 116
- Joined: Fri Jan 22, 2021 1:08 pm
Chętnie skorzystałbym na HA przesiadka pewno w przyszłym roku