Strona 3 z 4

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: wt lut 04, 2020 8:25 pm
autor: PuteR
szym3k jeśli dobrze wszystko wypełniłem

Kod: Zaznacz cały

#!/bin/sh

url='http://192.168.1.81/getregister.cgi?device=0'
sciezka='/home/pi/supla-filesensors/var'
user='root'
pass='root'

#temperatura zasilania (temperatura na kotle)
curl -u $user:$pass "$url&tkot_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/tkot_value.txt

#temperatura powrotu
curl -u $user:$pass "$url&tpow_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/tpow_value.txt

#temperatura podajnika
curl -u $user:$pass "$url&tpod_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/tpod_value.txt

#temperatura ciepłej wody użytkowej
curl -u $user:$pass "$url&tcwu_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/tcwu_value.txt

#temperatura wewnętrzna
#curl -u $user:$pass "$url&twew_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/twew_value.txt

#temperatura zewnętrzna
#curl -u $user:$pass "$url&tzew_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/tzew_value.txt

#temperatura spalin
curl -u $user:$pass "$url&tsp_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/tsp_value.txt

#poziom paliwa
curl -u $user:$pass "$url&fuel_level" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/fuel_level.txt

#temperatura czujnika dodatkowego nr 1
curl -u $user:$pass "$url&t1_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/t1_value.txt

#temperatura czujnika dodatkowego nr 2
#curl -u $user:$pass "$url&t2_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/t2_value.txt
to po wykonaniu skryptu dostaję takie coś

Kod: Zaznacz cały

-:6: parser error : Opening and ending tag mismatch: hr line 5 and body
</body>
       ^
-:7: parser error : Opening and ending tag mismatch: body line 3 and html
</html>
       ^
-:8: parser error : Premature end of data in tag html line 1

^
-:6: parser error : Opening and ending tag mismatch: hr line 5 and body
</body>
       ^
-:7: parser error : Opening and ending tag mismatch: body line 3 and html
</html>
       ^
-:8: parser error : Premature end of data in tag html line 1

^
-:6: parser error : Opening and ending tag mismatch: hr line 5 and body
</body>
       ^
-:7: parser error : Opening and ending tag mismatch: body line 3 and html
</html>
       ^
-:8: parser error : Premature end of data in tag html line 1

^
-:6: parser error : Opening and ending tag mismatch: hr line 5 and body
</body>
       ^
-:7: parser error : Opening and ending tag mismatch: body line 3 and html
</html>
       ^
-:8: parser error : Premature end of data in tag html line 1

^
-:6: parser error : Opening and ending tag mismatch: hr line 5 and body
</body>
       ^
-:7: parser error : Opening and ending tag mismatch: body line 3 and html
</html>
       ^
-:8: parser error : Premature end of data in tag html line 1

^
-:6: parser error : Opening and ending tag mismatch: hr line 5 and body
</body>
       ^
-:7: parser error : Opening and ending tag mismatch: body line 3 and html
</html>
       ^
-:8: parser error : Premature end of data in tag html line 1

^
-:6: parser error : Opening and ending tag mismatch: hr line 5 and body
</body>
       ^
-:7: parser error : Opening and ending tag mismatch: body line 3 and html
</html>
       ^
-:8: parser error : Premature end of data in tag html line 1

^

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: wt lut 04, 2020 8:37 pm
autor: fracz
Dlatego że to nie jest poprawny XML. pup jest bardziej tolerancyjny, spróbuj tego rozwiązania o którym pisałem wcześniej

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: wt lut 04, 2020 8:38 pm
autor: szym3k
Dziś przetestowałem u mnie, wszystko działa.
Obrazek

Widzę, że operujesz na innym IP niż wczoraj tak powinno być? Nie wiem skąd praser widzi u Ciebie body i html w tym zwracanym xml nie powinno nic takiego być.

Rozwiązanie chodzi od wczoraj bez problemu.

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: wt lut 04, 2020 8:50 pm
autor: PuteR
aaaa nie potrzebnie zawracam głowę, oczywiście że wszystko chodzi wpisałem nie to IP :lol:

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: sob lut 08, 2020 8:34 am
autor: PuteR
A pytanko takie jak zrobić żeby z dwóch plików zrobić jeden chodzi o przesyłanie danych do pliku w dwóch liniach

Napisałem coś takiego

Kod: Zaznacz cały

 cat /home/pi/supla-filesensors/var/weather/temp.txt > "$folder_location/temp&humidity.txt";
cat /home/pi/supla-filesensors/var/weather/humidity.txt >> "$folder_location//temp&humidity.txt";
else  
Ale w ten sposób wysyła dane ale w jednej linii.

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: sob lut 08, 2020 9:27 am
autor: klew
Wstaw coś w stylu
printf "/n" >> plik
Pomiędzy tamtymi cat

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: sob lut 08, 2020 9:59 am
autor: PuteR
Super dzięki, udało się :]

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: ndz lut 09, 2020 6:47 pm
autor: szym3k
Jeśli wykorzystujesz mój skrypt po prostu użyj w drugiej wartości >> zamiast > wtedy doda bufora zamiast go nadpisać ;)

np.

Kod: Zaznacz cały

#temperatura zasilania (temperatura na kotle)
curl -u $user:$pass "$url&tkot_value" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - > $sciezka/tkot_valueandfuel_level.txt

#poziom paliwa
curl -u $user:$pass "$url&fuel_level" --silent | xmllint --xpath "string(//cmd/device/reg /@v)" - >> $sciezka/tkot_valueandfuel_level.txt


Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: pn lut 10, 2020 11:09 pm
autor: PuteR
Próbuję wyciągnąć dane z Airly a konkretnie wartoś CAQI. Wszystkie inne wartości pobierają się bez problemu a z tym jednym jest problem skrypt mam napisany w ten sposób

Kod: Zaznacz cały

curl -s 'https://airapi.airly.eu/v2/measurements/nearest?lat=53.284041&lng=21.865889&maxDistanceKM=30&apikey=API_KEY' | jq '.current.values[] | select(.name=="AIRLY_CAQI") .value' - > $sciezka/caqi.txt
Czy te wskazanie pobiera się inaczej??

Re: SUPLA Filesensors - odczyt danych z API XML/HTML

: pn lut 10, 2020 11:36 pm
autor: lukfud
PuteR pisze:
pn lut 10, 2020 11:09 pm
Próbuję wyciągnąć dane z Airly a konkretnie wartoś CAQI. Wszystkie inne wartości pobierają się bez problemu a z tym jednym jest problem skrypt mam napisany w ten sposób

Kod: Zaznacz cały

curl -s 'https://airapi.airly.eu/v2/measurements/nearest?lat=53.284041&lng=21.865889&maxDistanceKM=30&apikey=API_KEY' | jq '.current.values[] | select(.name=="AIRLY_CAQI") .value' - > $sciezka/caqi.txt
Czy te wskazanie pobiera się inaczej??
Zamień

Kod: Zaznacz cały

'.current.values[] | select(.name=="AIRLY_CAQI") | .value'
na

Kod: Zaznacz cały

'.current.indexes[] | .value'
caqi.png
caqi.png (19.74 KiB) Przejrzano 287 razy