Supla virtual device MQTT

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

Oczywiście. U mnie działają bezproblemowo 4 szt.

Tak wygląda Bramka supla-virtual-device w Cloud:
cloud-bramka.jpg
cloud-bramka.jpg (369.67 KiB) Przejrzano 3526 razy
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
Awatar użytkownika
uchnast.michal
Posty: 1073
Rejestracja: wt cze 04, 2019 11:37 am

Super, dzięki za odpowiedź:)
btw dzisiaj trafiłem na https://www.blaszczak.pl/supla-virtual- ... ywsd03mmc/
Bardzo przyjemnie napisane. Stawiam na malinie, na której obecnie działa mi nawadnianie OpenSprinkler. Czy bluetooth usb też będzię działał, testowałeś może?
e-talking............
Byłem tam - Supla Offline Party 2023
Awatar użytkownika
Robert Błaszczak
Posty: 3944
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontakt:

A co to za malinka (model)? Nie ma wbudowanego BT?

Ps.
Dziękuję za odwiedziny :D
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
Awatar użytkownika
uchnast.michal
Posty: 1073
Rejestracja: wt cze 04, 2019 11:37 am

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")
Załączniki
airlyget.jpeg
airlyget.jpeg (162.2 KiB) Przejrzano 3477 razy
e-talking............
Byłem tam - Supla Offline Party 2023
Awatar użytkownika
uchnast.michal
Posty: 1073
Rejestracja: wt cze 04, 2019 11:37 am

Wyświetlanie temperatury procesora

Kod: Zaznacz cały

*/5 * * * * /opt/vc/bin/vcgencmd measure_temp| sed "s/[^0-9.]//g" > /home/pi/cpu_temp.txt
e-talking............
Byłem tam - Supla Offline Party 2023
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Pięknie to rozwijacie :)
Awatar użytkownika
uchnast.michal
Posty: 1073
Rejestracja: wt cze 04, 2019 11:37 am

Robert Błaszczak pisze: wt mar 24, 2020 4:41 pm A co to za malinka (model)? Nie ma wbudowanego BT?
Wersja 1.3 bez Wifi i BT. https://botland.com.pl/pl/moduly-i-zest ... esults=184
Mam taka jedną i szkoda byłoby jej nie wykorzystać.
e-talking............
Byłem tam - Supla Offline Party 2023
knypek3
Posty: 12
Rejestracja: pn lis 11, 2019 7:53 pm

Czy da rade aby supla virtual device wysylala dane na 2 osobne konta uzytkownikow?
Awatar użytkownika
uchnast.michal
Posty: 1073
Rejestracja: wt cze 04, 2019 11:37 am

Uruchomiłem wszystko zgodnie z opisem, działa lecz:
1 - tylko jeden sensor, drugi w kolejności (kanał) nie reaguje w supli. W mqtt-explorer jest ok, jak zamienię wartości data czujników to nadal działa pierwszy kanał
2- sensor nie wraca do pierwotnej postaci, raz "zwarty" w supli już taki pozostaje.
Jakieś sugestie?
e-talking............
Byłem tam - Supla Offline Party 2023
Awatar użytkownika
uchnast.michal
Posty: 1073
Rejestracja: wt cze 04, 2019 11:37 am

Robert Błaszczak pisze: wt mar 24, 2020 11:19 am Oczywiście. U mnie działają bezproblemowo 4 szt.
Tak wygląda Bramka supla-virtual-device w Cloud:
cloud-bramka.jpg
Cześć Robert,
Przed Świętami dotarły do mnie czujniki :) Zacząłem konfiguracje z Twoim artykułem https://www.blaszczak.pl/supla-virtual- ... ywsd03mmc/
Zmodyfikowałem plik save-to-file.sh by tworzony był drugi plik do każdego Xiaomi z informacją o napięciu baterii i procencie.
Może ktoś wykorzysta:)

Kod: Zaznacz cały

percent=$(echo "scale=0; 100*$5/3.2" | bc )
echo $3 > sensor_$2.txt
echo $4 >> sensor_$2.txt
echo $5 > sensor_battery_$2.txt
echo $percent >> sensor_battery_$2.txt
link do oryginału ikony https://www.iconfinder.com/icons/172581 ... harge_icon
Załączniki
WhatsApp Image 2020-04-13 at 20.55.26.jpeg
WhatsApp Image 2020-04-13 at 20.55.26.jpeg (44.92 KiB) Przejrzano 3114 razy
battery_icons.zip
(8.08 KiB) Pobrany 137 razy
e-talking............
Byłem tam - Supla Offline Party 2023
ODPOWIEDZ

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