logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

@GUTEK@ 02 Sty 2024 12:39 3606 14
  • Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650
    Dotyczy tu opisanego modelu: https://www.elektroda.pl/rtvforum/topic3945688.html

    Witam, w tym opisie przedstawię mój sposób na podłączenie popularnych na AliExpress termometrów WiFi z czujnikiem SHT30 do Home Assistant oraz zmianę zasilania na akumulator 18650. Główną przyczyną zmiany zasilania jest prądożerność WiFi oraz bardzo nieefektywne oryginalne źródło jakim są baterie AAA. Dodatkowo, aby ładnie ukryć akumulator zaprojektowałem i wydrukowałem na drukarce 3D dodatkową obudowę na koszyk z ogniwem mocowaną do zatrzasków w termometrze.

    Tu mała uwaga. W termometrach zastosowany jest układ BK7231N dla którego maksymalne napięcie wynosi 3,6V. Natomiast napięcie w pełni naładowanego ogniwa to 4.2V. U mnie tak zasilone termometry działają poprawnie, jednak przestrzegam osoby chcące zrobić to co ja, że może to się skończyć uszkodzeniem układu.

    1. Zmiana firmware
    Całość musimy zacząć od przeprogramowania układu. Oryginalnie termometry te działają z ekosystemem Tuya i nie da się ich podłączyć pod Home Assistant nawet wyciągając Local Key.
    Trzeba wgrać firmware OpenBK. Można to zrobić na dwa sposoby. Pierwszy to po prostu otworzyć obudowę i podlutować się do układu. Co jest dość proste w tym przypadku, ponieważ obudowa złożona jest tylko na zatrzaski i skręcona jedną śrubką. A opisów w internecie też jest sporo jak to programować.
    Drugi sposób to użycie skryptu Tuya Cloudcutter, który wymusza na oryginanym firmware tryb aktualizacji urządzenia podając plik z firmware OpenBK. Ponieważ wcześniej przeprogramowywałem gniazdka, które z racji iż są klejone i ich otwarcie bez rozwalenia obudowy graniczy z cudem ta metoda była najrozsądniejsza. I skoro ją poznałem, opiszę też dla tych termometrów.

    Cloudcutter najlepiej uruchomić na czystym systemie Linux, można też użyć komputerka RaspberryPi 3 lub nowszego. Autor zaleca Ubuntu, ja użyłem Debiana. Dodatkowo wymagana jest karta WiFi, gdyż skrypt podczas działania tworzy HotSpot do którego łączy się programowane urządzenie. Można użyć karty wbudowanej jeśli używamy np. laptopa lub karty na USB. I tu mała uwaga, nie każda karta zadziała. Początkowo próbowałem kart opartych o chipset Realteka. Jednak na nich skrypt krzyczał, że nie jest wstanie obsłużyć trybu HotSpot. W końcu użyłem karty opartej na Atheros, ta zadziałała poprawnie.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    A więc mając czysty system z zainstalowaną kartą WiFi instalujemy Dockera, którego Cloudcutter wymaga do działania.
    Jest to bardzo dobrze opisane krok po kroku na stronie Dockera, więc tylko wrzucę link:
    https://docs.docker.com/engine/install/debian/


    Po poprawnym zainstalowaniu Dockera instalujemy kolejne pakiety. Do obsługi repozytoriów git oraz zarządzania WiFi. W tym celu uruchamiamy konsolę i wpisujemy:
    sudo apt install git network-manager

    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    W następnym kroku klonujemy repozytorium Cloudcutter z Githuba:
    git clone https://github.com/tuya-cloudcutter/tuya-cloudcutter


    Po sklonowaniu wchodzimy do katalogu ./tuya-cloudcutter/custom-firmware i tam pobieramy firmware OpenBK w odpowiedniej wersji potrzebne do przeprogramowania termometru.
    W tym celu wchodzimy na stronę:
    https://github.com/openshwprojects/OpenBK7231T_App/releases

    Nasz termometr jest na chipie BK7231N. Zatem musimy wybrać firmware pod ten układ oraz wersję działającą z Cloudcutter czyli opisaną jako CCtr Flash.
    Pobieramy poleceniem wget:
    (to przykładowy link, z wersją fw aktualną w momencie pisania, polecam podmienić na aktualną wersję)
    wget https://github.com/openshwprojects/OpenBK7231T_App/releases/download/1.17.379/OpenBK7231N_UG_1.17.379.bin

    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Mając już wszystko pobrane cofamy się katalog wyżej i uruchamiamy skrypt tuya-cloudcutter.sh z odpowiednimi parametrami. Pierwsze uruchomienie może trwać dość długo, gdyż pobierane są dodatkowe elementy potrzebne do działania oraz tworzone kontenery Dockera.
    Czyli uruchamiamy skrypt ze zmiennymi, gdzie -p to profil naszego urządzenia. Aktualną listę obsługiwanych urządzeń można znaleźć tutaj:
    https://github.com/tuya-cloudcutter/tuya-cloudcutter.github.io/tree/master/devices

    Nastomiast zmienna -f to nazwa pliku z firmware który wcześniej pobraliśmy. Czyli składnia w całości:
    sudo ./tuya-cloudcutter.sh -p tuya-generic-temperature-and-humidity-sensor-v1.1.17 -f OpenBK7231N_UG_1.17.379.bin

    Na samym początku skrypt wyświetli ważną informację, „WARNING: Selected wifi AP support: tak” jeśli na końcu nie jest napisane „tak” lub „yes” przerywamy działanie przyciskami Ctrl+C ponieważ karta WiFi nie obsługuje trybu HotSpot i skrypt nie zadziała poprawnie. Jeśli kontynuujemy najpierw zostaną pobrane potrzebne elementy:
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650 Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    W tej chwili już wszystkie instrukcje będą już opisywane na ekranie. Wkładamy baterie do termometru i musimy wprowadzić go w tryb wolnego migania diody (tryb HotSpot). W tym celu przytrzymujemy przycisk RESET. Najpierw dioda zacznie szybko migać i to nie jest jeszcze ten tryb. Znów naciskamy przycisk i chwilę go trzymamy, dopiero wtedy dioda zacznie wolno migać, a skrypt od razu wykryje termometr i zacznie działać.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    W tym momencie skrypt wykona kopię konfiguracji urządzenia, a sam termometr zresetuje się i dioda zgaśnie. Znów musimy powtórzyć procedurę z wciskaniem RESET-u, aż do wolnego migania. Teraz skrypt rozpocznie właściwą pracę. Ponownie zostanie wykryty termometr i rozpocznie się wgrywanie firmware OpenBK.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650 Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    2. Konfiguracja i podłączenie pod Home Assistant
    Jeśli wszystko powyżej przebiegło poprawnie mamy już wgrane OpenBK. A sam termometr pracuje w trybie HotSpot z którym należy się połączyć, aby rozpocząć konfigurację.
    Można to zrobić za pomocą smartfona, tabletu lub laptopa. Sieć będzie zaczynać się od nazwy OpenBK… i będzie niezabezpieczona.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Następną czynnością po połączeniu będzie uruchomienie przeglądarki internetowej i wejście na adres
    http://192.168.4.1

    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Możemy teraz zacząć konfigurację, proponuję w pierwszej kolejności połączyć się z naszą siecią WiFi. W tym celu wchodzimy w „Config”„Configure WiFi & Web”. W polach poniżej „Use this to connect to your WiFi” wpisujemy nazwę naszej sieci – SSID oraz klucz – Password i potwierdzamy przyciskiem Submit na dole strony.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Urządzenie uruchomi się ponownie i połączy z naszym WiFi. Domyślnie jest skonfigurowane, aby otrzymało adres IP z serwera DHCP. Zatem musimy sprawdzić jaki adres otrzymało np. w logach routera. Gdy już jest on znany znowu wpisujemy go w przeglądarce i wyświetli się ta sama strona co poprzednio. To już najwygodniej zrobić z poziomu przeglądarki komputera.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Teraz trzeba przypisać konfigurację pinów, tak aby firmware wiedziało co do którego pinu chipu Beken jest podłączone. Można to zrobić ręcznie, jednak w przypadku tego termometru jest dostępna gotowa konfiguracja.
    Dlatego klikamy na „Launch Web Application”, na stronie, która otworzy się w kolumnie „Devices:” wybieramy nasz „Chipset” czyli BK7231N, a na liście niżej „Tuya Generic Temperature and Humidity Sensor Battery Powered SHT30”. Zostanie wyświetlone zdjęcie płytki i wylistowana konfiguracja pinów. Klikamy na „Copy device settings”. Konfiguracja pojawi się w kolumnie po prawej, przewijamy na dół strony i klikamy na „Save”. W tym momencie powinna zaświecić się dioda na obudowie termometru. Na razie tę stronę możemy zamknąć i wrócić do głównej.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Klikamy na „Restart”. Po ponownym uruchomieniu na tej stronie wyświetlą się już wskazania czujnika SHT30 oraz napięcie baterii.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Pora na połączenie się z Home Assistant. Musimy mieć w nim (lub osobny) uruchomiony broker MQTT z którym termometr będzie się łączyć. Ale po kolei…
    Ponownie należy kliknąć „Config”, a następnie „Configure General/Flag” i zaznaczamy tam flagi 2 oraz 35, po czym klikamy na „Submit” i „Save”. I wracamy do strony głównej konfiguracji.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Polecam wejść w „Configure IP” i wpisać tam na sztywno adres IP z którego ma korzystać termometr. Przyśpieszy to trochę łączenie się po wybudzeniu przez co oszczędzi baterię. Nie jest to jednak konieczne.
    Następną opcją którą warto zmienić jest nazwa termometru. To również nie jest konieczne, ale mając ich kilka łatwiej zorientować się który to. W tym celu klikamy na „Configure Names”.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Teraz polecam znów kliknąć na głównej stronie „Restart”, aby termometr uruchomił się z nowymi nastawami. I konfigurujemy dalej, połączymy się z MQTT. Wchodzimy do „Config”„Configure MQTT” i wpisujemy parametry naszego brokera, adres, port oraz login. Tu też zmieniamy nazwę pod jaką ma zgłaszać się termometr na bardziej nam przyjazną.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Wracamy na stronę główną, jeśli konfiguracja MQTT jest poprawna to pojawi się na niej nowa informacja „MQTT State: connected”.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Zostało już tylko dodać termometr do Home Assistant. Ponownie wchodzimy w konfiguracje następnie „Home Assistant Configuration” i klikamy na „Start Home Assistant Discovery”.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Urządzenie powinno zostać wykryte i wyświetlić się w Home Assistant.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Na tym można by zakończyć ustawianie termometru, jednak cały czas włączony termometr rozładuje baterie nawet w ciągu jednego dnia. Dlatego bardzo ważne jest jego usypianie i wybudzanie tylko co określony czas, aby wysłać dane. Ja swój wybudzam co około 15 minut. Potrzebny do tego jest odpowiedni skrypt, który udostępniam poniżej.
    Jeśli zamknęliśmy stronę z termometru, musimy ponownie na nią wejść. I ponownie klikamy „Launch Web Application”.
    Przechodzimy na kartę „File System”. Gdzie utworzymy plik startowy autoexec.bat.
    Klikamy w „Create file” i w wyświetlonym okienku wpisujemy nazwę „autoexec.bat”. Następnie klikamy na nazwę tego pliku, aby uruchomić edytor. Wklejamy w nim poniższy skrypt i potwierdzamy „Save”. Teraz po restarcie termometru za każdym razem będzie on wykonywany w pętli.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    //wlaczenie oszczedzania energii
    PowerSave 1
    
    //wlaczenie sterownika do obslugi SHT30
    startDriver SHT3X
    
    // przytrzymanie przycisku wymusi tryb serwisowy
    addEventHandler OnHold 20 SafeMode
    
    // wlaczenie licznika ktory uspi modul w przypadku braku lacznosci wifi
    addRepeatingEventID 60 -1 1337 DeepSleep 600
    
    //kalibracja i pomiar 18650 4.2V, min 2.5V
    Battery_Setup 2500 4200 2.29 2400 4096
    battery_measure
    
    SHT_cycle 15
    
    mqtt_broadcastInterval 1
    mqtt_broadcastItemsPerSec 5
    
    // oczekiwanie na polaczenie z wifi
    waitFor WiFiState 4
    
    cancelRepeatingEvent 1337
    
    //to samo co wyzej tylko teraz uspienie przy braku polaczenia mqtt
    addRepeatingEventID 30 -1 1337 DeepSleep 600
    
    // oczekiwanie na polaczenie z mqtt
    waitFor MQTTState 1
    
    cancelRepeatingEvent 1337
    
    //jesli SHT przeklamuje mozna wprowadzic korekty
    //SHT_Calibrate -0.8 2
    
    SHT_Measure
    delay_s 1
    
    publishChannels
    delay_s 5
    
    //glebokie uspienie na 15min
    DeepSleep 875


    3. Dodatkowa obudowa na ogniwo 18650.
    Tak jak pisałem na początku, w swoich termometrach zmieniłem zasilanie na akumulator 18650 o pojemności 3500mAh, który starcza na wiele dłużej niż baterie (bądź akumulatory) AAA.
    Obudowę narysowałem w jednym z popularnych programów do projektowania 3D i wydrukowałem z białego filamentu PLA polskiej produkcji. Jeśli chcemy bardziej odporny wydruk można rozważyć wydruk z PET-G.
    Do pobrania: obudowa186...mometr.zip Download (42.55 kB)

    Wydruk wykonałem na drukarce typu delta, którą kiedyś zrobiłem na podstawie projektu z internetu. Więcej o niej można znaleźć na popularnym forum o drukarkach 3D – Forum Reprapy.pl: https://reprapy.pl/viewtopic.php?p=138698#p138698
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    O tym jak wydrukować obudowę nie będę się zbytnio rozpisywał, ponieważ każda drukarka jest inna i trzeba parametry dobrać pod nią. Dodam tylko, aby drukować z podporami i zwrócić uwagę czy slicer (program przygotowujący plik dla drukarki) utworzył też podpory pod wypustkami do zamocowania termometru.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Więc mamy już wydrukowaną obudowę oczyszczoną z podpór. Oprócz niej potrzebny będzie koszyk na ogniwo oraz cienkie kabelki.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Przed włożeniem koszyka do obudowy wyginamy jego nóżki i lutujemy do nich kabelki. Polecam też ścisnąć sprężynujące blaszki ponieważ w nowych koszykach bardzo ciężko wchodzi akumulator, co dodatkowo sprawia potem problem z wyjęciem go, gdy koszyk jest już w obudowie.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Wkładamy koszyk do obudowy, zwracając uwagę, aby kabelki ułożyły się w rowkach na nie. A koszyk został zablokowany przez blokady.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650 Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Musimy jeszcze pobielić blaszki w termometrze i przylutować do nich kabelki z koszyka. W koszykach są oznaczenia polaryzacji + i -, warto zwrócić na nie uwagę lutując. Polecam miejsca lutowania lekko poskrobać i nałożyć topnika w paście, wtedy cyna łatwo złapie.
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650 Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Teraz całość wystarczy złożyć, włożyć akumulator zwracając uwagę na polaryzację i mamy gotowy termometr!
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650

    Termometry z tym zasilaniem testuję od kilku miesięcy, początkowo wysyłałem dane po HTTP, teraz próbuje swoich sił z Home Assistant. Przez ten czas zmiana zasilania nie spowodowała uszkodzenia żadnego z nich.

    /uwaga do administracji forum, z racji coraz większej popularności drukarek 3d dobrze byłoby dodać możliwość wgrywania załączników w formacie stl/

    Fajne? Ranking DIY
    O autorze
    @GUTEK@
    Poziom 31  
    Offline 
    Specjalizuje się w: komputery
    @GUTEK@ napisał 1471 postów o ocenie 233, pomógł 161 razy. Mieszka w mieście Gliwice. Jest z nami od 2005 roku.
  • #2 20888008
    gulson
    Administrator Systemowy
    Bardzo Ci dziękuję za podzielenie się modyfikacją. Fajny pomysł z zmianą zasilania, co znacznie wydłuża żywotność i można doładowywać :)
    Jak mi podasz paczkomat, to wyślę mały upominek przydatny przy kolejnych projektach ;)
  • #3 20888073
    speedy9
    Pomocny dla użytkowników
    No własnie mnie zastanawia jak długo ten termometr pociągnie. Teoretycznie ma dopuszczalne zasilanie 3,3-3,6V. Co w sumie by sprawiało ,że zasilanie z 2xAAA tez jest raczej kiepskie. W sumie nigdy nie zmierzyłem napięcia "wyładowanych" baterii z niego.
    Swój zasilałem z LiPo 2200mAh z przetwornicą na 3,3V. Minus tego jest taki, że tracimy wskazanie poziomu baterii w aplikacji. A i tak na długo nie wystarcza. Te termometry dużo lepiej się sprawdzają w wersji na Zigbee. Baterie trzymają bardzo długo. W ogrodzie mam od wiosny taki termometr i pokazuje aktualnie 95% baterii.
  • #4 20888397
    p.kaczmarek2
    Moderator Smart Home
    Decydującym czynnikiem wpływającym na to, na ile ogniwa starczą jest częstość raportowania danych (wybudzania z głębokiego snu), a to zależy od konfiguracji w programie, więc zasadniczo każdy może dobrać dla siebie złoty środek. Gorzej, gdyby produkt był bez zmiany firmware, wtedy byśmy nie mieli kontroli nad tym jak często się wybudza. A przynajmniej część gotowych rozwiązań nam tego nie umożliwia.

    Długość życia baterii można tez poprawić zmniejszając czas który urządzenie spełnia wybudzone, np. poprzez ustawienie statycznego adresu IP.

    Ciekawym eksperymentem byłoby zrealizowanie takiego czujnika na np. układzie MCP9808, który, o ile mnie pamięć nie myli, może sam wybudzać MCU jeśli temperatura wyjdzie poza dany zakres. Można by ustawić zakres np. na 2 stopnie i raportować tylko do serwera rzeczywiste zmiany temperatury...
    Pomogłem? Kup mi kawę.
  • #5 20888761
    metalMANiu
    Poziom 21  
    Mam podobny lub ten sam czujnik. Przy raportowaniu co minutę baterie rozładowały się w 3 dni. Teraz mam raportowanie co 30min i już trzeci miesiąc na jednych bateriach.

    Obecna częstotliwość raportowania jest ok. Czujnik mierzy temperaturę w salonie i rzadko zmienia się o więcej niż 0,5° na godzinę.
  • #6 20889181
    pawel250101
    Poziom 12  
    Jak już kolega ma dostęp do drukarki 3D można było pójść o krok dalej i zaprojektować obudowę dla ogniwa z miejscem na elektronikę. Aktualnie trochę dziwnie to wygląda.
  • #7 20889284
    @GUTEK@
    Poziom 31  
    p.kaczmarek2 napisał:
    Długość życia baterii można tez poprawić zmniejszając czas który urządzenie spełnia wybudzone, np. poprzez ustawienie statycznego adresu IP.

    A jak to wygląda z flagą 37. Sprawdzałem ją i jakoś nie zauważyłem różnicy w łączeniu się z wifi. Czy urządzenie powinno wyraźnie szybciej się łączyć i czy w tym przypadku to w ogóle działa?
    Zauważyłem też, że mimo włączonej flagi 35, jeśli uruchomię ponownie Home Assistant to nie pokazuje on wartości do czasu aż termometr je zaktualizuje. Czy coś jeszcze trzeba przestawić, aby zawsze była wyświetlana ostatnia wartość?

    metalMANiu napisał:
    Mam podobny lub ten sam czujnik. Przy raportowaniu co minutę baterie rozładowały się w 3 dni. Teraz mam raportowanie co 30min i już trzeci miesiąc na jednych bateriach.

    Obecna częstotliwość raportowania jest ok. Czujnik mierzy temperaturę w salonie i rzadko zmienia się o więcej niż 0,5° na godzinę.

    Ja jeszcze nie jestem wstanie powiedzieć na ile akumulator starczy, jednak też rozważam wydłużenie czasu uśpienia. Tak jak piszesz, temperatura w domu nie zmienia się tak szybko.
  • #8 20889706
    kuncy7
    Poziom 8  
    speedy9 napisał:
    No własnie mnie zastanawia jak długo ten termometr pociągnie. Teoretycznie ma dopuszczalne zasilanie 3,3-3,6V. Co w sumie by sprawiało ,że zasilanie z 2xAAA tez jest raczej kiepskie. W sumie nigdy nie zmierzyłem napięcia "wyładowanych" baterii z niego.
    Swój zasilałem z LiPo 2200mAh z przetwornicą na 3,3V. Minus tego jest taki, że tracimy wskazanie poziomu baterii w aplikacji. A i tak na długo nie wystarcza.

    Mam podobny i na oryginalnym firmware działa aktualnie 35 dni, Bateria ma jeszcze 35% (cokolwiek to znaczy).
    Zmierzone napięcie to 2.5V. W instrukcji piszą coś właśnie o 2.5V że to "Low power undervoltage".
    W sumie ten "przerobiony" termometr też pokazuje dziwne napięcie i procenty jak na 18650: ~2500mV i 52%??
    Chyba że screeny były jeszcze robione na 2xAAA.

    Do instalacji Cloudcutter użyłem Rpi3 i systemu DietPi (opartego na Debianie) i żeby Cloudcutter poprawnie zadziałał
    na wifi z płytki Rpi3 musiałem z pliku "/etc/network/interfaces" usunąć sekcję "WiFi", inaczej "nmcli" nie potrafił się dogadać z kartą.
  • #9 20889717
    @GUTEK@
    Poziom 31  
    Tym screenem nie sugeruj się. On był robiony by pokazać wykrycie termometru przez HA. I chyba tak, były tam wsadzone jakieś akumulatorki AAA wtedy.
    Żeby poprawnie wyświetlać napięcie i procent naładowania musi być załadowany skrypt z kalibracją baterii "Battery_Setup 2500 4200 2.29 2400 4096" - Battery_Setup [minbatt][maxbatt][V_divider][Vref][AD Bits].
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650
  • #10 20890553
    etezet
    Poziom 26  
    speedy9 napisał:
    No własnie mnie zastanawia jak długo ten termometr pociągnie. Teoretycznie ma dopuszczalne zasilanie 3,3-3,6V. Co w sumie by sprawiało ,że zasilanie z 2xAAA tez jest raczej kiepskie. W sumie nigdy nie zmierzyłem napięcia "wyładowanych" baterii z niego.


    U mnie przy raportowaniu co godzinę około pół roku.
  • #11 20890733
    speedy9
    Pomocny dla użytkowników
    To jest dziwne, bo mój na bateriach przy raportowaniu co godzinę wytrzymywał około miesiąca. Raportowanie w aplikacji Tuya jest co godzinę, chociaż próbki zbierane częściej i wynik uśredniany z tego co pamiętam. Częstszy raport pojawia się tylko w razie większej zmiany temperatury.
  • #12 20890944
    p.kaczmarek2
    Moderator Smart Home
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/flags.md
    @GUTEK@ napisał:

    A jak to wygląda z flagą 37. Sprawdzałem ją i jakoś nie zauważyłem różnicy w łączeniu się z wifi.

    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/flags.md

    Na początku prac nad firmware kontrybutor @btsimonh odkrył że wywołanie łączenia z WiFi tuż po reboocie sprawia u niektórych userów problemy i wprowadził sztuczne opóźnienie chyba 3 sekund czy ileś, ta flaga te opóźnienie eliminuje. Jakiś czas później zaktualizowaliśmy LWIP z @valeklubomir i poprawiliśmy wielowątkowość, więc teraz zazwyczaj polecamy włączyć tę flagę, powinna ona przyśpieszać o te 3 sekundy czy ileś połączenie.
    Ogólnie to w idealnym świecie byśmy zrobili tak, że urządzenie zawsze łączy się od razu z WiFi, tyle, że nie mamy jak sprawdzić każdego urządzenia i każdej możliwej kombinacji, a nie chcemy nic popsuć użytkownikom, z tego powodu ta opcja jest jako flaga...

    Podobnie jest z PowerSave - też domyślnie nie jest włączone, choć jest polecane. Już zamierzałem je domyślnie włączyć, ale pojawiły się jakieś 2 raporty, że komuś PowerSave ubija urządzenie i włącza się Safe Mode, a my nie jesteśmy w stanie zreplikować problemu po naszej stronie.

    Po prostu mając dużą ilość użytkowników trzeba uważać, by nie wprowadzić "aktualizacji" która masowo coś psuje, co prawda nas chroni Safe Mode (po pięciu nieudanych rebootach), ale i tak staramy się być ostrożni

    @GUTEK@ napisał:

    Zauważyłem też, że mimo włączonej flagi 35, jeśli uruchomię ponownie Home Assistant to nie pokazuje on wartości do czasu aż termometr je zaktualizuje. Czy coś jeszcze trzeba przestawić, aby zawsze była wyświetlana ostatnia wartość?

    [HASS] Deactivate avty_t flag for sensor when publishing to HASS (permit to keep value). You must restart HASS discovery for change to take effect.

    To co napisałeś jest w pełni zgodne z oczekiwaniami, bo usunięcie tematu avty_t po prostu sprawia, że sensor nie znika z HA gdy zasypia (nie zamienia się na unavailable). Wydaje mi się, że dodatkowo powinieneś jeszcze włączyć opcję retain, spróbuj i daj znać.
    Pomogłem? Kup mi kawę.
  • #13 20891376
    CMS
    Administrator HydePark
    speedy9 napisał:
    przy raportowaniu co godzinę


    Przecież to bez sensu, jak chcesz sobie np. ustawić ogrzanie pomieszczenia do danej temperatury i pilnowanie jej, to histereza będzie nieakceptowalna.
  • #14 20891452
    p.kaczmarek2
    Moderator Smart Home
    Zależy kto w jakim celu mierzy... jak poglądowo to i 1h dobre.

    Swoją drogą, po zmianie firmware można do w zasadzie dowolnego wspieranego produktu IoT po prostu podłączyć któryś ze wspieranych czujników temperatury i wilgotności, chociażby najprostszy DHT11 i potem wykorzystywać np. najzwyklejszy, zasilany sieciowo moduł przekaźnika też jako sensor. Oczywiście trzeba pamiętać, by nie mierzyć temperatury w jego obudowie (bo będzie jakieś przekłamanie) ale i tak warto pamiętać, że jest taka możliwość.

    Wystarczy ustawić GPIO i nawet przy Home Assistant Discovery sam HA odkryje obecność czujnika:
    Termometr WiFi z SHT30 - opis wgrania OpenBK, integracji z Home Assistant i zasilenia z 18650


    Pomogłem? Kup mi kawę.
REKLAMA