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

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

Tak wygląda Bramka supla-virtual-device w Cloud:
cloud-bramka.jpg
You do not have the required permissions to view the files attached to this post.
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

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?
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

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
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

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")
You do not have the required permissions to view the files attached to this post.
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

Wyświetlanie temperatury procesora

Code: Select all

*/5 * * * * /opt/vc/bin/vcgencmd measure_temp| sed "s/[^0-9.]//g" > /home/pi/cpu_temp.txt
User avatar
fracz
Posts: 2342
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków
Has thanked: 4 times
Been thanked: 6 times

Post

Pięknie to rozwijacie :)
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

Robert Błaszczak wrote: Tue 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ć.
knypek3
Posts: 15
Joined: Mon Nov 11, 2019 7:53 pm

Post

Czy da rade aby supla virtual device wysylala dane na 2 osobne konta uzytkownikow?
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

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?
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

Robert Błaszczak wrote: Tue 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:)

Code: Select all

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
You do not have the required permissions to view the files attached to this post.

Return to “Projekty użytkowników”