Supla virtual device MQTT

User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

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


Moja prywatna strona: www.blaszczak.pl
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

Robert Błaszczak wrote: Mon Apr 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
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

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.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
PuteR
Posts: 1473
Joined: Wed Dec 06, 2017 10:07 am

Post

fracz wrote: Tue Mar 17, 2020 9:32 am Jakby ktoś chciał :cry:

Liczba zakażeń koronawirusem w Polsce:

Code: Select all

*/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 wrote: Sun Apr 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.
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

PuteR wrote: Sun May 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ć.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
PuteR
Posts: 1473
Joined: Wed Dec 06, 2017 10:07 am

Post

lukfud wrote: Sun May 03, 2020 7:46 am
PuteR wrote: Sun May 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
Posts: 3
Joined: Wed Apr 29, 2020 2:49 pm

Post

uchnast.michal wrote: Tue 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

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

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:

Code: Select all

[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
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

hawrosz wrote: Sun May 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:

Code: Select all

[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
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
hawrosz
Posts: 3
Joined: Wed Apr 29, 2020 2:49 pm

Post

lukfud wrote: Mon May 04, 2020 7:01 am
hawrosz wrote: Sun May 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:

Code: Select all

[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
markos
Posts: 16
Joined: Tue Mar 19, 2019 1:40 pm

Post

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)

Return to “Projekty użytkowników”