-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integracja z nettemp - uniwersalne MQTT #54
Comments
@mariano78 masz może jakiegoś linka, albo wiesz dokładnie jak mają byś sformatowane te dane dla MQTT Nettemp? Smogomierz obsługuje MQTT, tylko obecnie nie ma opcji zmiany topic na dowolny. Mogę dodać taką opcję, tylko chciałbym najpierw przetestować czy to zadziała. |
Już opisuje. NT musi dostać dane w formacie: /ip/nazawaurzadzenia/typ_wartości/jakieś_id Jeśli posyłam dane z np. ESPEasy to mam w Publishtempate wpisane: /%ip%/%sysname%/%valname%/%tskname% W przypadku smogomierza mogło by to wyglądać następująco: 192.168.1.1/smogomierz/temp/id_1 NT obsługuje typy danych, które nazywają się: W razie potrzeby mogę testować komunikację. |
Dzięki, postaram się dodać w kolejnej aktualizacji. Nie będzie z tym dużo roboty, bo obecnie dane formatowane są w takiej formie jak poniżej: nazwa urządzenia/sensor/PM2.5/wartość https://github.com/hackerspace-silesia/Smogomierz/blob/master/Smogomierz.ino#L742-L744 Na koniec mam jeszcze jedno pytanie. NT ma jakiś jeden główny MQTT, czy każdy ma swój własny i ma być możliwość wpisania adresu? Pytam, bo przyznam szczerze, że nie znam zupełnie NT i nie wiem jak działa. |
Każdy NT ma inny adres IP. Musimy mieć możliwość wpisania w konfiguracji: Adresu IP, portu, usera, hasła. Gdyby udało się dodać konfigurację topicu np. na zasadzie takiej jak jest to w ESPEasy (czyli nazwy zmiennych) to powstało by uniwersalne narzędzie mqtt nie tylko do nettempa. |
Witam, czy wiadomo kiedy mniej więcej może pojawić się aktualizacja ? |
Myślę, że do miesiąca powinienem się wyrobić. Ostatnio mam mniej czasu na Smogomierz, ale od połowy listopada będę miał na pewno znacznie więcej czasu, chociaż myślę, że zrobię to wcześniej. |
Witam:) |
Jest, tylko teraz zacząłem przepisywać cały webserwer, żeby był asynchroniczny i dopiero jak to skończę, zajmę się dokończeniem nowego designu całego interfejsu użytkownika. Dalej w kolejce jest dodawanie nowych funkcji. |
Panie kapitanie czy jest znana data wypuszczenia nowego softu do smogomierza? |
Czyli, jeśli dobrze rozumiem(jeśli nie, to mnie poprawcie, bo chcę to w końcu dodać do kodu i zależy mi na tym, żeby to MQTT było jak najbardziej uniwersalne), muszę mieć coś takiego:
gdzie Dla przykładu: W dodatku każdy mierzona wartość może mieć inne |
OK, Twoja propozycja jest OK. Jedyne na czym nam zależy, to żeby była możliwość konfiguracji MQTT_TSKNAME. MQTT_DEVICE_NAME - może mieć na sztywno wpisane "smogomierz". Resztę obrobimy u siebie. |
MQTT_DEVICE_NAME - będzie brane z nazwy urządzenia - dla wszystkich pomiarów takie samo. Muszę dodać okienko z możliwością wpisania:
Spory formularz konfiguracyjny się nam z tego zrobi, bo 15 nowych pozycji do uzupełnienia 😄 |
OK, to mam pierwszą wersję. Będę bardzo wdzięczny za przetestowanie, bo nie wiem czy tak to ma działać i nie mam za bardzo jak tego przetestować. |
Testujemy i widzę że nie jest dobrze. Czasem po kliknięciu guzika "zapisz" strona się wysypuje. Nie trzyma ustawień czasu wysyłania pomiarów. Mam wpisane w interwale mqqt 1 minutę i czasem po przeładowaniu strony mam wartość 1 a czasem 5. W polach MQTT_VALNAME i MQTT_TASKNAME często pojawia się znak "/" przed wartością i za - tez jest to zjawisko losowe. Mimo wpisania wszystkiego smogomierz i tak posyła dane w formacie "Smogly-010B75/sensor/humid/ab/ 17.17" czyli bez IP. I jeszcze pytanie, czy jest możliwość posłania wartości airquality w procentach a nie tekstowo ? |
Czyli dodatkowo posyłać w tym ciągu znaków IP przed nazwą urządzenia? |
A i jeszcze jedno. Nie musisz samemu nigdzie wpisywać /. Nawet lepiej będzie, gdy tego nie zrobisz. |
Tak, poprosimy żeby IP posyłało się jako pierwsza zmienna w topicu. Żeby było bardziej uniwersalnie można dodać jakiś checkbox czy posyłać IP czy nie. W NT nam się to przydaje, ale nie każdy inny system tego potrzebuje. Co do znaku slesha "/" to ja go nie wpisywałem, pojawia się ten znak samemu po odświeżeniu strony z ustawieniami. |
To dobrze, bo ogólnie powinno samo rozpoznawać czy są wpisane, czy nie i uzupełniać w zależności od tego czy są potrzebne czy nie. Testowałem kilka możliwości i chyba wyłapałem wszystkie kombinacje. Dlatego nie trzeba wpisywać /. Jeśli jakieś pole zostaje puste, to samo wie, że ma je pominąć i nie dać dwóch / obok siebie. |
Dodałem możliwość dodawania IP do topicu. Do wyboru jest tak albo nie. Testowy build - https://github.com/hackerspace-silesia/Smogomierz/blob/dev/firmware/ESP8266/prerelease_ESP8266_Smogomierz_2.7.4_PMS_build_26.01.2020.bin Co do airquality to raczej nie wiem jak to zrobić w procentach. Ile % jaką ma być wartością. Teraz to po prostu info o tym czy jest zła czy dobra jakość powietrza. Na podstawie europejskich norm dla PM2.5. Stać dane nazwy dla konkretnych wartości PM2.5. Przydaje się to, jeśli ktoś chce dane z MQTT używać do przesyłania informacji do aplikacji Apple Home. Tak poziom zanieczyszczenia powietrza podawany jest słownie, a dopiero po wejściu głębiej są info o liczbowym poziomie zanieczyszczeń. |
@swiezaks to wersja prerelease, więc jeszcze jej nie testowałem dokładnie i nie jest do końca zoptymalizowana. Wrzuciłem linka, bo zależy mi na tym, żebyście sprawdzili czy to MQTT działa w różnych dziwnych konfiguracjach. Nie korzystam w ogóle z MQTT, więc nie mam za bardzo jak sprawdzić samemu. |
Nie jesteśmy w stanie sprawdzić czy działa bo albo się nie da zapisać tych ustawień - klikam zapisz i strona się wysypuje, albo pojawiają się dziwne "krzaki" w polach. Temat jest mocno niestabilny i mocno losowy. Nie jestem w stanie uzyskać stabilnego punktu w którym smogomierz zapisze poprawnie te ustawienia. |
@mariano78 ok, dzięki za konkretne info. W weekend nad tym siądę i dam całą konfigurację MQTT na oddzielną podstronę w konfiguracji serwisów. Wtedy powinno być lepiej. |
jeżeli uważasz, że będzie Ci łatwiej testować to mogę Ci podesłać dane do zalogowania się na smogly oraz moje rasperry pi z NT. i tak za parę dni będę stawiał nowy system na pi4 to nawet jak mi coś podrzucisz do systemu to i tak będzie skasowane (oczywiście żartuje:) ) |
Sprawdźcie jak ta wersja. Przerzuciłem całą konfigurację MQTT na oddzielną stronę, plus zwiększyłem ilość pamięci na plik konfiguracyjny o 1/2 - https://github.com/hackerspace-silesia/Smogomierz/blob/dev/firmware/ESP8266/prerelease_ESP8266_Smogomierz_2.7.4_PMS_build_1.02.2020.bin |
Update error: ERROR[10]: Magic byte is wrong, not 0xE9 |
oki, nowa wersja wgrana, czeka na mariano78 aż znajdzie chwilę czasu i popatrzy |
@Eurynomosek Wyłącz z prądu i włącz ponownie urządzenie. Możesz też spróbować przenieść urządzenie bliżej routera. Wystąpił u Ciebie jakiś błąd w czasie przesyłania pliku .bin do urządzenia. |
Jeśli nie masz pomiarów ciśnienia, to dane nie są wysyłane. Ogólnie to jakie dane możesz wysyłać zależy od tego jakie masz czujniki, więc to jest ok. |
I teraz jest OK, pozostaje tylko kwestia tych przypadkowych znaków "/", ale to w niczym nie przeszkadza w komunikacji. Mam jeszcze jedno pytanie - wartość airquality jest z czujnika wysyłana jako zmienna tekstowa, czy jest to liczba gdzieś przeliczana i zamieniana na text ? |
@mariano78 wielkie dzięki za pomocy i cały feedback związany z MQTT. Teraz tylko wizualnie lepiej to ogarnę w panelu i będzie ok. Jeśli chodzi o "/" to chyba wiem dlaczego się pojawiają. Oprogramowanie samo rozpoznaje czy w danym polu jest jakaś wartość czy nie. Jeśli nie ma, to inaczej rozstawia "/" w całym topicu, tak żeby nie było np. /// pod rząd. Jeśli wpiszemy jakąś wartość, to samo oda na początku, lub na końcu /, tak żeby topic miał sens. Stąd pewnie te / w niektórych polach. Co do wartości tekstowych, to są ustalane na bazie europejskich norm jakości powietrza - https://www.eea.europa.eu/themes/air/air-quality-index |
Nie ma za co dziękować, jak tylko mam czas to chętnie pomogę. A czy dałbyś radę zrobić jeszcze jeden checkbox odnośnie averagePM25, tak żeby można było wybrać czy posyła tekstowo czy posyła właśnie wartość averagePM25 w postaci liczbowej ? |
@mariano78 przecież jest też PM2.5 w wersji liczbowej, masz to nawet na screenie, który wcześniej wstawiłeś. To air_pm_25 to właśnie averagePM25 w postaci liczbowej. Przemyślałem trochę jak to najwygodniej umieścić w panelu użytkownika i chyba zmieniłbym jeszcze jedną rzecz. Zamiast wpisywać oddzielnie każdy z elementów topiku, dam po prostu większe okienko, gdzie będzie można samemu wpisać co się chce. Wtedy będzie można mieć zupełnie inny topic dla każdej wartości. |
Heh byłem przed kawą :) |
Gitara :) |
Dodałem te zmiany. Możecie sprawdzić dla pewności czy wszystko działa poprawnie. Jeśli tak, to nie będę tego na razie zmieniał. https://github.com/hackerspace-silesia/Smogomierz/blob/dev/firmware/ESP8266/prerelease_ESP8266_Smogomierz_2.7.4_PMS_build_3.02.2020.bin |
Sprawdziłem, wygląda, że jest OK. Dziękujemy. |
Witam, czy istnieje możliwość dopisania w kodzie smogomierza funkcji wysyłających pomiary do Nettempa (www.nettemp.tk)? Można to zrobić za pomocą prostego linku http zawierającego odpowiednio sformatowane pomiary lub za pomoca mqtt pisząc na odpowiedni topic (nie znalazłem ustawień topicu mqtt w smogomierzu). Czy możemy liczyć na pomoc ?
The text was updated successfully, but these errors were encountered: