SUPLA Filesensors - wyślij do SUPLI cokolwiek skądkolwiek

tomekk87
Posty: 66
Rejestracja: pt sie 02, 2019 12:19 pm

wt lut 04, 2020 4:13 pm

Witam

Proszę o wyjaśnienie jak wprowadzić dane ze strony Syngeos Map do pliku który wyświetli się w supli. Mam zainstalowany programik supla - filesensors (jak ręcznie wpisuję dane do pliku to są wyświetlane w aplikacji).

Po zalogowaniu się do systemu jako użytkownik w konsoli wpisuję

Kod: Zaznacz cały

 crontab -e
Następnie wklejam komendę jak z przykładu tylko zmieniłem lokalizację pliku z danymi:

Kod: Zaznacz cały

*/10 * * * * (SYNGEOS_DATA=$(curl -s 'https://api.syngeos.pl/api/public/data/device/187') && echo $SYNGEOS_DATA | jq '.sensors[2] | select(.name=="air_pressure") | .data[0].value') > /home/tomekk/supla-filesensors/var/cisnienie.txt

Czekam i niestety nic się nie wprowadziło do pliku, który jest zapisany w /home/tomekk/supla-filesensors/var/cisnienie.txt

Co robię źle?
Pozdrawiam Tomek
andras
Posty: 293
Rejestracja: pt gru 30, 2016 5:51 pm

wt lut 04, 2020 6:44 pm

Jak zrobić żeby program automatycznie startował ?
Awatar użytkownika
fracz
Posty: 1812
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Rybna

wt lut 04, 2020 7:12 pm

tomekk87 pisze:
wt lut 04, 2020 4:13 pm
Czekam i niestety nic się nie wprowadziło do pliku, który jest zapisany w /home/tomekk/supla-filesensors/var/cisnienie.txt

Co robię źle?
A zainstalowałeś jq? Czy ta komenda wykonana w konsoli daje Ci poprawny wynik?

Kod: Zaznacz cały

(SYNGEOS_DATA=$(curl -s 'https://api.syngeos.pl/api/public/data/device/187') && echo $SYNGEOS_DATA | jq '.sensors[2] | select(.name=="air_pressure") | .data[0].value')
andras pisze:
wt lut 04, 2020 6:44 pm
Jak zrobić żeby program automatycznie startował ?
https://github.com/fracz/supla-filesens ... tostarting
tomekk87
Posty: 66
Rejestracja: pt sie 02, 2019 12:19 pm

wt lut 04, 2020 8:25 pm

fracz pisze:
wt lut 04, 2020 7:12 pm
tomekk87 pisze:
wt lut 04, 2020 4:13 pm
Czekam i niestety nic się nie wprowadziło do pliku, który jest zapisany w /home/tomekk/supla-filesensors/var/cisnienie.txt

Co robię źle?
A zainstalowałeś jq? Czy ta komenda wykonana w konsoli daje Ci poprawny wynik?

Kod: Zaznacz cały

(SYNGEOS_DATA=$(curl -s 'https://api.syngeos.pl/api/public/data/device/187') && echo $SYNGEOS_DATA | jq '.sensors[2] | select(.name=="air_pressure") | .data[0].value')
andras pisze:
wt lut 04, 2020 6:44 pm
Jak zrobić żeby program automatycznie startował ?
https://github.com/fracz/supla-filesens ... tostarting
Tak polecenie wpisane w konsoli zwraca dane. to pewnie coś nie tak z crontabem
Ostatnio zmieniony wt lut 04, 2020 8:41 pm przez tomekk87, łącznie zmieniany 1 raz.
Awatar użytkownika
fracz
Posty: 1812
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Rybna

wt lut 04, 2020 8:35 pm

Wow. No to:

Kod: Zaznacz cały

sudo apt-get install curl
tomekk87
Posty: 66
Rejestracja: pt sie 02, 2019 12:19 pm

wt lut 04, 2020 8:41 pm

fracz pisze:
wt lut 04, 2020 8:35 pm
Wow. No to:

Kod: Zaznacz cały

sudo apt-get install curl
Dopatrzyłem się i zainstalowałem curl i w konsoli działa, ale do pliku nie wpisuje
tomekk87
Posty: 66
Rejestracja: pt sie 02, 2019 12:19 pm

wt lut 04, 2020 8:43 pm

Sorry za zamieszanie, ale zaczęło działać. :D
lukfud
Posty: 179
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

czw lut 06, 2020 12:25 am

fracz pisze:
pn lut 03, 2020 4:04 pm
dane o zanieczyszczeniu powietrza z Airly
To jest błąd, czy tak ma być?

Uruchomiłem dwa kanały do których lecą dane z dwóch różnych czujników Airly.
Przy kanale '1' skończyła się dzienna ilość zapytań (message "API rate limit exceeded").
Cron nie ma co wkleić, więc plik channel_1.txt jest pusty. Filesensors zaczął odczytywać dane z pliku channel_0.txt.

Obrazek

Zatrzymałem zadanie i wstawiłem do pliku channel_1.txt Obrazek
Ostatnio zmieniony czw lut 06, 2020 8:43 am przez lukfud, łącznie zmieniany 2 razy.
.newbie
Awatar użytkownika
fracz
Posty: 1812
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Rybna

czw lut 06, 2020 6:25 am

Jeśli plik będzie pusty, do supli wyśle się 0 (chyba).

Natomiast airly ma limit 100/dobę.
Default rate limit per apikey is 100 API requests per day for all users.
Więc dla 2 czujników nie powinieneś mieć crontaba częściej niż co 30 minut.
lukfud
Posty: 179
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

czw lut 06, 2020 8:36 am

fracz pisze:
czw lut 06, 2020 6:25 am
Jeśli plik będzie pusty, do supli wyśle się 0 (chyba).

Natomiast airly ma limit 100/dobę.
Default rate limit per apikey is 100 API requests per day for all users.
Więc dla 2 czujników nie powinieneś mieć crontaba częściej niż co 30 minut.
Nie wysłało się 0 przy pustym pliku, dlatego alarmuję. Do supli poszły wartości z innego pliku.

Mam dwa klucze API i częstotliwość już ustawiłem na 15 minut dla każdego zadania. Zanim zarejestrowałem kolejny klucz dla drugiego czujnika, zapytania leciały co 3 minuty na jednym kluczu, dlatego przekroczyłem limit.

Przy okazji - dobry pomysł ;)
.newbie
Zablokowany