Supla virtual device MQTT

Awatar użytkownika
Robert Błaszczak
Posty: 1112
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontaktowanie:

pn kwie 13, 2020 7:06 pm

No i Michał znalazł super proste rozwiązanie dla chcących mieć informację o poziomie baterii w czujnikach LYWSD03MMC :D
Gratuluję pomysłu.
Pozdrawiam
Robert Błaszczak

Strona prywatna: https://www.blaszczak.pl
Jakość powietrza: https://robert.aqi.eco
Awatar użytkownika
uchnast.michal
Posty: 312
Rejestracja: wt cze 04, 2019 11:37 am
Lokalizacja: Czeladź
Kontaktowanie:

wt kwie 14, 2020 5:07 pm

Robert Błaszczak pisze:
pn kwie 13, 2020 7:06 pm
No i Michał znalazł super proste rozwiązanie dla chcących mieć informację o poziomie baterii w czujnikach LYWSD03MMC :D
Gratuluję pomysłu.
Dziękuję, to wszystko za sprawą Waszej inspiracji :D
lukfud
Posty: 236
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

ndz kwie 26, 2020 5:37 pm

Co może być nie tak. SVD co jakiś czas się "zawiesza" Ostatnio co kilkanaście godzin. Jest połączony, ale nie pokazuje wartości z plików, a przy poleceniu command_on uruchamiający skrypt pojawia się błąd:
WARNING[1587922214.208744] The command above failed with exist status 32512.
.newbie
Awatar użytkownika
PuteR
Posty: 791
Rejestracja: śr gru 06, 2017 10:07 am

ndz maja 03, 2020 7:19 am

fracz pisze:
wt mar 17, 2020 9:32 am
Jakby ktoś chciał :cry:

Liczba zakażeń koronawirusem w Polsce:

Kod: Zaznacz cały

*/30 * * * * (WIRUS_DATA=$(curl -s 'https://gdziewirus.pl') && echo $WIRUS_DATA | pup '.infoborder:first-of-type text{}' | sed 's/[^0-9]*//g') > /home/pi/supla-virtual-device/var/koronawirus-polska.txt
coś chyba zmienili na stronie, da się jakoś teraz wyciągnąć te dane??
lukfud pisze:
ndz kwie 26, 2020 5:37 pm
Co może być nie tak. SVD co jakiś czas się "zawiesza" Ostatnio co kilkanaście godzin. Jest połączony, ale nie pokazuje wartości z plików, a przy poleceniu command_on uruchamiający skrypt pojawia się błąd:
WARNING[1587922214.208744] The command above failed with exist status 32512.
też zaobserwowałem u siebie ten problem. Myślałem że to wina mojego słabe łącza, ale może jednak to nie to.
lukfud
Posty: 236
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

ndz maja 03, 2020 7:46 am

PuteR pisze:
ndz maja 03, 2020 7:19 am
też zaobserwowałem u siebie ten problem. Myślałem że to wina mojego słabe łącza, ale może jednak to nie to.
Od kilku dni u mnie ten problem już nie występuje i podejrzewam co mogło być przyczyną.
Jedn z kanałów odczytywał z pliku .txt wartość ciśnienia (odczyt z bme i zapis do pliku poprzez skrypt co kilkanaście sekund).
Niestety basic do którego podłączony jest bme ostatnio często tracił połączenie z wifi (kilka min - kilka godzin) co skutkowało brakiem wartości w pliku .txt.
Wydaje mi się, że SVD zawieszał się przez brak wartości pliku, bo usunąłem ten kanał i problem zniknął, ale na 100% nie mogę tego potwierdzić.
.newbie
Awatar użytkownika
PuteR
Posty: 791
Rejestracja: śr gru 06, 2017 10:07 am

ndz maja 03, 2020 5:23 pm

lukfud pisze:
ndz maja 03, 2020 7:46 am
PuteR pisze:
ndz maja 03, 2020 7:19 am
też zaobserwowałem u siebie ten problem. Myślałem że to wina mojego słabe łącza, ale może jednak to nie to.
Od kilku dni u mnie ten problem już nie występuje i podejrzewam co mogło być przyczyną.
Jedn z kanałów odczytywał z pliku .txt wartość ciśnienia (odczyt z bme i zapis do pliku poprzez skrypt co kilkanaście sekund).
Niestety basic do którego podłączony jest bme ostatnio często tracił połączenie z wifi (kilka min - kilka godzin) co skutkowało brakiem wartości w pliku .txt.
Wydaje mi się, że SVD zawieszał się przez brak wartości pliku, bo usunąłem ten kanał i problem zniknął, ale na 100% nie mogę tego potwierdzić.
Możliwe że masz rację. Również mam jeden skrypt który odczytuje wartości z czujników z pieca C. O i ostatnio (nie wiem czemu) te wartości raz są a raz ich nie ma.

Może dało by się coś zrobić by ten program pomimo braku wartości w pliku się jednak nie zawieszał?
hawrosz
Posty: 3
Rejestracja: śr kwie 29, 2020 2:49 pm

ndz maja 03, 2020 10:43 pm

uchnast.michal pisze:
wt mar 24, 2020 8:17 pm
Kolega arekrgw (
https://forum.supla.org/viewtopic.php?p=62258#p62258
) napisał skrypt w pythonie (https://github.com/arekrgw/airly_get) do pobieranie danych z Airly do plików tekstowych na potrzeby Supla virtual device.
Dokonałem kilku zmian by każdy z pyłów prezentowany był osobno.

Pobierane wartości:
- Temperatura i wilgotność
- Ciśnienie
- Wartość PM1
- Wartość PM2,5 oraz procent normy
- Wartość PM10 oraz procent normy

Ikony pobrane stąd: viewtopic.php?p=59351#p59351

Kod: Zaznacz cały

#!/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")

args = parser.parse_args()

if args.url:
  try:
    req = requests.get(args.url)
    if req.status_code == 200:
      result = req.json()['current']['values']

      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()

    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")
Cześć, miałem już kilka błachostek, z którymi się uporałem bez potrzeby pisania tutaj, ale z ta chyba już nie jest błędem z mojej strony, do rzeczy - zmodyfikowałem go tak, żeby wyświetlał wilgotność powietrza tylko w pliku TH.txt i tak robi, ale gdy mam ustawione w configu:

Kod: Zaznacz cały

[CHANNEL_1]
function=HUMIDITY
file=/ścieżka/TH.txt
file_write_check_sec=600
to pokazuje się w Supli stała wartość 32.737%, raczej to nie wina pliku, ponieważ w takiej formie inne dane się wyświetlają na innych kanałach, może jakiś błąd z kanałem HUMIDITY? Z góry dziękuję za odpowiedzi :D
lukfud
Posty: 236
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

pn maja 04, 2020 7:01 am

hawrosz pisze:
ndz maja 03, 2020 10:43 pm
Cześć, miałem już kilka błachostek, z którymi się uporałem bez potrzeby pisania tutaj, ale z ta chyba już nie jest błędem z mojej strony, do rzeczy - zmodyfikowałem go tak, żeby wyświetlał wilgotność powietrza tylko w pliku TH.txt i tak robi, ale gdy mam ustawione w configu:

Kod: Zaznacz cały

[CHANNEL_1]
function=HUMIDITY
file=/ścieżka/TH.txt
file_write_check_sec=600
to pokazuje się w Supli stała wartość 32.737%, raczej to nie wina pliku, ponieważ w takiej formie inne dane się wyświetlają na innych kanałach, może jakiś błąd z kanałem HUMIDITY? Z góry dziękuję za odpowiedzi :D
https://github.com/lukbek/supla-virtual ... ed-sensors

Według opisu na githubie, kanał samej wilgotności nie jest jeszcze wspierany. Musisz użyć: TEMPERATURE_AND_HUMIDITY
.newbie
hawrosz
Posty: 3
Rejestracja: śr kwie 29, 2020 2:49 pm

pn maja 04, 2020 6:31 pm

lukfud pisze:
pn maja 04, 2020 7:01 am
hawrosz pisze:
ndz maja 03, 2020 10:43 pm
Cześć, miałem już kilka błachostek, z którymi się uporałem bez potrzeby pisania tutaj, ale z ta chyba już nie jest błędem z mojej strony, do rzeczy - zmodyfikowałem go tak, żeby wyświetlał wilgotność powietrza tylko w pliku TH.txt i tak robi, ale gdy mam ustawione w configu:

Kod: Zaznacz cały

[CHANNEL_1]
function=HUMIDITY
file=/ścieżka/TH.txt
file_write_check_sec=600
to pokazuje się w Supli stała wartość 32.737%, raczej to nie wina pliku, ponieważ w takiej formie inne dane się wyświetlają na innych kanałach, może jakiś błąd z kanałem HUMIDITY? Z góry dziękuję za odpowiedzi :D
https://github.com/lukbek/supla-virtual ... ed-sensors

Według opisu na githubie, kanał samej wilgotności nie jest jeszcze wspierany. Musisz użyć: TEMPERATURE_AND_HUMIDITY
aaa, no chyba, że tak :D dzięki
ODPOWIEDZ