Supla virtual device MQTT

Awatar użytkownika
Robert Błaszczak
Posty: 1416
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: 384
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
e-talking............
lukfud
Posty: 577
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.
Awatar użytkownika
PuteR
Posty: 876
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: 577
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ć.
Awatar użytkownika
PuteR
Posty: 876
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: 577
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
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
m4riolos
Posty: 9
Rejestracja: wt mar 19, 2019 1:40 pm

czw cze 04, 2020 8:59 am

Czy ktoś spotkał się z problem rozłączania SVD przy chwilowym braku internetu?
Od pewnego czasu sporadycznie (1 raz na parę dni) występuje u mnie chwilowe rozłączenie niektórych modułów. Niektóre termometry raportują dane pomiary bez przerwy, a w niektórych brakuje 1 pomiary - luka ~10min . Problem mógłby być z zasięgiem lub samym softem natomiast zauważyłem, że rozłączenie było o tej samej porze (fizyczne termometry i termometry z SVD) przy czym standardowe termometry wracają do normalnej pracy natomiast wirtualne urządzenie "SUPLA VIRTUAL DEVICE" od tego czasu pozostaje nieaktywne.

Po restarcie usługi SVD wszystko podnosi się bez błędów.
Czy ktoś miał taki problem lub ma pomysł gdzie szukać problemu braku "autostartu" SVD? (o ile się da, to chciałbym uniknąć cyklicznych restartów usługi)
ODPOWIEDZ

Wróć do „Projekty użytkowników”