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

[BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001

Subternatural 31 Sty 2023 01:57 2685 28
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • UltraPro WFD4001 to 3-stanowy inteligentny przełącznik Wi-Fi marki UltraPro firmy Jasco. Wykorzystuje chip WB3S Tuya, który można wykorzystać przeprogramować za pomocą Tuya-Cloudcutter.

    Link do zakupu: Amazon
    Instrukcje producenta: UltraPro WFD 4001
    Alternatywne okablowanie: Alternatywne okablowanie

    Obraz produktu:
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001

    Otwarcie:

    Jest to dość łatwe, wystarczy zdjąć przednią osłonę przełącznika, pociągając za wypustki po obu stronach. Po zdjęciu przedniej pokrywy można łatwo dostać się do 4 trójkątnych śrub (nie jestem pewien, jak się nazywają, ale tak się złożyło, że mam trochę w zestawie precyzyjnych śrubokrętów firmy Klein). Po ich usunięciu można łatwo zdjąć całą metalową płytę czołową.
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001

    Płyta jest podzielona na dwie części, które będę nazywać tablicą kontrolną i płytą zasilającą. Obie te płytki można wyjąć, po prostu je wyciągając, żadne inne śruby ani wypustki ich nie przytrzymują, chociaż płyta zasilająca jest nieco przytrzymywana przez zaciski śrubowe, ale można je wypchnąć z boku. Płytka kontrolna znajduje się na górze i ma układ WB3S, a także przyciski w górę iw dół. Jest on podłączony do płyty zasilającej za pomocą 6-pinowego złącza, więc należy uważać, aby wyciągnąć płytkę sterującą prosto, aby styki się nie wygięły. Bliższe przyjrzenie się 6-stykom oznacza je jako REL, 5V, GND, 3-WAY, ZEROX i NC. REL jest również oznaczony jako PWM w niektórych miejscach - nie jestem pewien, czy dzieje się tak dlatego, że kończy się na pinach PWM na chipie WB3S, czy też jest jakaś inna funkcjonalność, o której nie wiem. Nie mogłem znaleźć, gdzie idą kołki NC i ZEROX, więc nie jestem pewien, do czego służą. Wydaje się, że NC nie znajduje się nigdzie na płycie, ale ZEROX wygląda na podłączony do kilku komponentów.
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001

    Płytka zasilająca ma układ 0B2222MCP, który jest opisany jako ,,przełącznik zasilania PWM", ale nie jestem pewien, czy jest tu dla nas coś przydatnego.

    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001

    Jak wspomniano wcześniej, to urządzenie można wykorzystać za pomocą narzędzia tuya-cloudcutter. Dostępny jest już profil urządzenia, dzięki czemu konwersja jest całkiem łatwa.

    Ponieważ ten przełącznik ma 2 przyciski, konfiguracja ma nieco więcej kroków niż zwykle, ale nie jest tak źle.
    Ustawienia:
    Szpilka # Nazwa pinezki Opis Ustawienia
    P8 PWM2 Przycisk w górę Tylko Btn_Script
    P9 PWM3 przycisk w dół Tylko Btn_Script
    P24 PWM4 Przednia dioda LED LED lub LED_n
    P26 PWM5 Przełącz przekaźnik Rel


    Będziesz musiał utworzyć kilka programów obsługi zdarzeń, aby poprawnie obsługiwać przyciski. Zrobiłem to, tworząc plik autoexec.bat z następującym kodem:
    addEventHandler OnClick 8 setChannel 1 1
    addEventHandler OnClick 9 setChannel 1 0


    3-drogowy:
    Nadal jeszcze tego nie rozgryzłem, ale oto postęp, jaki poczyniłem. Za pomocą multimetru ustaliłem, że pin 3-WAY łączy się bezpośrednio z pinem ADC3 na module WB3S (0? ;) . Wygląda na to, że pin 3-WAY trafia również do układu KL4, który również wygląda na układ ADC, ale nie mogłem znaleźć, skąd się bierze. Kiedy ustawię pin ADC3 na tryb ADC i ustawię go na własnym kanale, mogę uzyskać pewne wartości, ale nic, co jest dokładnie przydatne do sterowania funkcją 3-drożną. Kiedy przewód podróżny jest niski, wartości ADC oscylują w zakresie 15-27. Gdy podróżnik jest wysoki (120 V), wyjście ADC wydaje się powoli przechodzić z tego samego niskiego zakresu, aż do 4095, co, jak zakładam, jest maksimum, które można zmierzyć, ale potem spada do niskich wartości. Po prostu przechodzi od niskiego do wysokiego w nieskończoność. Próbowałem obejrzeć wszystkie pozostałe piny, aby zobaczyć, czy coś się stanie, gdy zmienię podróżnika, ale jak dotąd nic nie znalazłem. Nie sądzę, żebym coś źle podłączył, ponieważ wypróbowałem tę samą konfigurację z przełącznikiem fabrycznym i działało dobrze z podróżnikiem.

    Nie jestem pewien, czy ktoś ma doświadczenie z czymś podobnym, ale każda pomoc w ustaleniu tego byłaby bardzo mile widziana!

    Fajne? Ranking DIY
    O autorze
    Subternatural
    Poziom 3  
    Offline 
    Subternatural napisał 8 postów o ocenie 3. Jest z nami od 2023 roku.
  • #2 20414184
    p.kaczmarek2
    Moderator Smart Home
    Bardzo ciekawe badania. Testowałem przełącznik trójdrożny Intertek TreatLife, SS02 (FCC ID 2ANIFSS01) i szybko zorientowałem się, że w przypadku tego urządzenia funkcja schodowa jest realizowana za pomocą obu styków przekaźnika, zarówno NC (normalnie zwarty), jak i NO ( normalnie otwarty), tak jak na tej animacji w Wikipedii:
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    W przypadku SS02 nie wykonali żadnych kontroli napięcia, aby określić, czy obciążenie jest aktualnie włączone, a aplikacja Tuya nie była w stanie stwierdzić, czy światło jest włączone, czy wyłączone. Interesujący był tylko sposób zasilania urządzenia - na obu liniach podróżnych były dodatkowe pełne mostki prostownicze.
    [BK7231T/WB3S] Treatlife SS02 FCC ID 2ANIFSS01) 3-drożny inteligentny przełącznik
    więc twoja recenzja jest dla mnie bardzo interesująca i pouczająca.

    Zastanawiam się też, dlaczego twoje urządzenie używa dwóch przycisków, jednego do włączania, a drugiego do wyłączania?

    A tak przy okazji, 0B2222MCP to OB2222MCP, jak w ,,OnBright", nazwa chipa jest oparta na producencie.

    Jeśli chodzi o funkcjonalność 3-kierunkową, czy nie wystarczy po prostu użyć naszej obsługi grup urządzeń Tasmota na dowolnych 2 przełącznikach, aby działały jak para schodów?
    Tylko jeden z nich przełączałby przekaźnik w rzeczywistości. Drugi byłby tylko nadawcą państwowym.
    Pomogłem? Kup mi kawę.
  • #3 20414189
    Subternatural
    Poziom 3  
    Właściwie mam kilka starszych przełączników Treatlife SS01, które nadal korzystały z modułu TYWE3S, więc mogłem na nich sflashować Tasmotę. Uważam, że są to w zasadzie rebranding tego 3-drożnego przełącznika MOES Połączyć . Wygląda na to, że działają bardzo podobnie do tego, który masz, tylko ze zaktualizowanym modułem Tuya. Wydaje mi się, że DigiBlur miał kiedyś dość szczegółowy opis na ich temat, ale nie mogę już znaleźć tego postu.

    Odpowiedź na pytanie o dwa przyciski brzmi: tak - przycisk ,,w górę" jest włączony, a przycisk ,,w dół" wyłączony, ma naśladować tradycyjny przełącznik kołyskowy. To jeden z powodów, dla których kupiłem te przełączniki, podobało mi się, że pasowały do innych rockerów, które mam, a także podobało mi się, że używali metalowej ramy, więc są nieco cieńsze niż niektóre inne inteligentne przełączniki, które są po prostu plastikowe i są w stanie zrównać się z moimi istniejącymi płytami ściennymi w wielokrotnych skrzynkach rozdzielczych.

    Dziękuję również za notatkę na chipie OB - nawet go sprawdziłem i zobaczyłem, że to OnBright, ale z jakiegoś powodu nie dodałem dwóch do dwóch :-?

    Jeśli chodzi o ostatnie pytanie, ponieważ miałem już 3-drożny przełącznik, w którym go zainstalowałem, wolałbym wymienić tylko jeden przełącznik na nowy inteligentny przełącznik zamiast obu - a jeśli internet kiedykolwiek zgaśnie, chciałbym przełączniki, aby nadal mieć pełną funkcjonalność.... Co może być dla mnie trochę dziwne, ponieważ w tej chwili nie mam 3-kierunkowej funkcjonalności! Mam też MNÓSTWO przełączników 3-drożnych w moim domu, więc wymiana każdej pary byłaby nieco droższa i wolałbym wymienić tylko jeden przełącznik, jeśli to możliwe. Kupiłem je w 4-paku, więc nadal mam dwa, które są standardowym oprogramowaniem i zastanawiałem się nad usunięciem z nich oryginalnego oprogramowania, ale staram się unikać lutowania, jeśli to możliwe.... Mógłbym spróbować użyć oprogramowania Lightleak, aby to zrobić OTA, ale nie miałem jeszcze okazji się tam dostać i nie wiem, czy standardowe oprogramowanie naprawdę pomogłoby mi rozwiązać ten problem.
  • #4 20414196
    p.kaczmarek2
    Moderator Smart Home
    Jeśli chcesz wymienić tylko jeden z dwóch przełączników, to naprawdę potrzebujesz mechanizmu do określania, czy światło jest aktualnie włączone, czy wyłączone.

    Cytat:

    Kiedy przewód podróżny jest niski, wartości ADC oscylują w zakresie 15-27. Gdy podróżnik jest wysoki (120 V), wyjście ADC wydaje się powoli przechodzić z tego samego niskiego zakresu, aż do 4095, co, jak zakładam, jest maksimum, które można zmierzyć, ale potem spada do niskich wartości. Po prostu przechodzi od niskiego do wysokiego w nieskończoność.

    więc zasadniczo potrzebowalibyśmy jakiegoś sterownika do zgłaszania stanu światła na podstawie pomiaru na ADC?
    Coś jak:
    
    if ADC value is lower than 50 for some time
       report_light_off
    else
      report_light_on
    

    ?
    Mógłbym dodać taki mechanizm dla ciebie.
    Pomogłem? Kup mi kawę.
  • #5 20414205
    Subternatural
    Poziom 3  
    Ten przełącznik działa nieco inaczej niż ten, który masz, ma tylko jeden przekaźnik i pojedynczą linię podróżną, więc przełącznik jest w stanie niezawodnie/dokładnie zgłaszać swój stan (jedno wyjście przekaźnikowe to 1 lub 0). Wartość ADC mierzy tylko wyjście przewodu podróżnego/przełącznika wtórnego i jest niezależna od przekaźnika -- niezależnie od tego, czy przekaźnik jest włączony, czy wyłączony, podróżnik/ADC zgłosi wartość przełącznika wtórnego. Miałem nadzieję, że jak tylko zmienię podróżnika, ADC albo pójdzie w górę, albo w dół (stan przełącznika wtórnego), ale niestety tak się nie dzieje.

    Kolejna uwaga, sposób ustawienia tego 3-kierunkowego przełącznika różni się nieco od zwykłego przełącznika 3-kierunkowego, ale jest typowy dla innych 3-kierunkowych inteligentnych przełączników, z których korzystałem. W tradycyjnej instalacji dwa przewody podróżne biegną między dwoma przełącznikami i zachowują się jak animacja w pierwszej odpowiedzi. W tej konfiguracji jeden wózek jest przywiązany bezpośrednio do ładunku, a drugi służy tylko do przekazywania sygnału do przełącznika ,,głównego" (przełącznika inteligentnego). Master użyje następnie sygnału z podróżnika do przełączenia przekaźnika. Kod, którego próbowałem użyć, wyglądał mniej więcej tak:
    
    addChangeHandler ADC > 50 toggleChannel 1
    addChangeHandler ADC < 50 toggelChannel 1
    


    Niestety wartość ADC nie jest niezawodnie wysoka, gdy przełącznik pomocniczy jest wysoki, co wydaje mi się szalone... może muszę dwukrotnie sprawdzić okablowanie, aby upewnić się, że właściwie je skonfigurowałem - mam nadzieję, że nie przegapiłem czegoś oczywistego :/
  • #6 20414382
    p.kaczmarek2
    Moderator Smart Home
    Ten kod nie zadziałałby z dwóch powodów.
    1. musisz najpierw zapisać wartość ADC do kanału i użyć kanału z podanym indeksem, a nie ,,ADC" jako zmienną
    2. zmiany są szybkie, a procedury obsługi zmian nie wykonują odrzucania/filtrowania
    Ponownie, mogę stworzyć prosty sterownik specjalnie dla twojego przypadku użycia, ale muszę wiedzieć, jak powinien działać.
    Cytat:

    Gdy podróżnik jest wysoki (120 V), wyjście ADC wydaje się powoli przechodzić z tego samego niskiego zakresu, aż do 4095, co, jak zakładam, jest maksimum, które można zmierzyć, ale potem spada do niskich wartości. Po prostu przechodzi od niskiego do wysokiego w nieskończoność.

    Ile trwa cykl? Czy możemy na przykład założyć, że jeśli ADC jest poniżej 500 przez 1 sekundę, to lampka jest wyłączona?
    Pomogłem? Kup mi kawę.
  • #7 20415157
    Subternatural
    Poziom 3  
    O tak, w moich testach przypisałem wartość ADC do nowego kanału, starałem się tylko wyjaśnić kod, że używam wartości ADC.

    Zanim zainwestujesz czas w opracowanie nowego sterownika, pozwól, że przeprowadzę więcej testów z mojej strony. Pomocne może być zarejestrowanie wartości i zbudowanie wykresu, abym mógł lepiej wyjaśnić, co się dzieje. Wygląda na to, że 1-sekundowe odbicie nie zadziała, wartość faktycznie zmienia się dość powoli, w ciągu mniej więcej minuty, nie jestem pewien, czy użycie tylko wartości ADC będzie w stanie zrobić to, co chcę.

    Czy istnieje wbudowana funkcja tworzenia danych wyjściowych dziennika określonego kanału na samym urządzeniu? A może najlepiej byłoby spróbować pobrać wartość za pomocą MQTT lub wywołania interfejsu API do urządzenia i zalogować ją na osobnej maszynie? Nie byłoby trudno coś takiego zbudować.
  • #8 20415262
    p.kaczmarek2
    Moderator Smart Home
    Pracowałem nad tym około tydzień lub dwa temu i dodałem polecenia lfs_append itp., Aby skrypty mogły logować się do plików, ale nie sądzę, aby były niezawodne, gdy trzeba tak często rejestrować rzeczy. To mogłoby zadziałać, gdybyś potrzebował na przykład rejestrować wartość temperatury co minutę... ale nie kilka razy na sekundę.

    Mogę szybko napisać konfigurowalny sterownik odrzucania, tutaj nie ma żadnych problemów. Pozwoliłoby to ustawić czas odbicia.

    Jeśli wartość zmienia się w ciągu minuty, to jak szybko, tylko teoretycznie, przełącznik wykryje zmianę stanu zasilania w przewodzie podróżnym?
    Pomogłem? Kup mi kawę.
  • #9 20415556
    Subternatural
    Poziom 3  
    Tak, to ma sens, nie sądzę, aby MQTT był świetny do logowania wiele razy na sekundę, ale powinienem być w stanie uzyskać wartość co 1-2 sekundy, co może wystarczyć, aby powiedzieć, co się dzieje.

    Jeśli chodzi o debounce, myślę, że zależy to od wartości, gdy przełącznik jest zmieniany. Wygląda na to, że wartość podąża za pewnym wzorem rosnącym/malejącym niezależnie od stanu podróżnika, więc czasami, gdy przełącznik pomocniczy jest przełączony w stan wysoki, wartość natychmiast przeskoczy do 4095, a innym razem pozostanie niska, aż nadejdzie następny cykl wokół. Spróbuję uzyskać kilka dzienników wartości, aby zobaczyć, czy istnieje wzorzec w wartościach, z których moglibyśmy skorzystać. Kolejna uwaga, gdy przełącznik pomocniczy jest przełączony na niski, wartość ADC zawsze natychmiast spadnie do niskiego poziomu.

    Dzięki za wszelką pomoc w tym! Mam nadzieję, że logi, które mogę uzyskać, pomogą nam lepiej to zrozumieć.

    Dodano po 5 [godzinach] 32 [minutach]:

    Cóż, próbowałem zmienić przełącznik za pomocą standardowego przełącznika, a funkcja 3-kierunkowa zadziałała, więc przynajmniej wiemy, że to nie moja instalacja była wyłączona.

    Udało mi się również zarejestrować niektóre dane z pinów ADC. Oto kilka zrzutów ekranu z wykresami:
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001

    Załączyłem również surowy plik CSV z wartościami. WFD4001_20...6_logs.csv Download (115.53 kB)
    Kilka uwag na ten temat
    - Przez pierwsze kilka minut (około 4:08 do 4:12) drugorzędny/podróżnik jest wyłączony i widzimy, że wartości pozostają niskie, w zakresie 21-29 (myślę, że jest tylko jeden skok do 29)
    - O 4:12 włączyłem Travellera i widzimy ciągłe skoki od 20s aż do 4095
    - Wartości i znaczniki czasu zostały przejęte przez MQTT, ale znacznik czasu nie zmienia się, chyba że zmieni się wartość. Niezależnie od tego dodawałem nowy wiersz co sekundę, więc istnieje wiele zduplikowanych wartości.
    - Jest przerwa między 5:04:05 a 5:07:38, w której przestałem się logować. Nic ciekawego się tu nie wydarzyło, brakuje tylko danych.
    - Po tym, jak początkowo włączyłem podróżnika, pozostał on włączony przez resztę logowania.

    Nie sądzę, aby było tu naprawdę przydatne informacje, ale ciekawe, co robi. Myślę, że to nie okaże się przydatne, ale być może coś się dzieje w momencie zmiany stanu podróżnika - będę musiał przeprowadzić więcej testów, aby sprawdzić, czy inne szpilki mogą dostarczyć więcej informacji. Przetestowałem każdy pin za pomocą ADC, aby sprawdzić, czy coś zrobili, i odkryłem, że P2, P3, P4, P5, P12 i P13 wszystkie zgłaszają pewne wartości, ale wydaje się, że w ogóle się nie zmieniają, gdy zmienia się stan podróżnika .

    Ostatnia rzecz - P14 nie zgłasza wartości, gdy jest ustawiony na ADC, ale gdy jest ustawiony na TglChannelOnTgl, nieustannie przełącza kanał, z którym jest powiązany. Nie jestem pewien, co robi ten pin, ale zgaduję, że to jakiś zegar? Nie jestem pewien, co jeszcze mogę zrobić, aby przetestować to dalej.
  • #10 20434999
    Subternatural
    Poziom 3  
    Wiem, że minęło trochę czasu, ale w końcu miałem trochę więcej czasu na zabawę z tym przełącznikiem i mam aktualizację! Czuję się trochę głupio, że nie spróbowałem tego wcześniej, ale jeśli ustawisz pin ADC (pin 23) na Btn i ustawisz flagę 6 (flaga natychmiastowego dotknięcia), podróżnik przełączy kanał, przechodząc z niskiego za wysoko. Skończyło się na ustawieniu Pin 23 na ,,Btn_ScriptOnly" i użyciu procedury obsługi zdarzeń, dzięki czemu mam nieco większą kontrolę nad tym, co się dzieje. Próbowałem ustawić obsługę zdarzeń dla OnRelease, ale wygląda na to, że to nie działa. Gdy podróżnik jest ustawiony na wysoki, zdarzenie OnRelease będzie stale uruchamiane. Więc w zasadzie jestem w połowie drogi - mogę przełączać przekaźnik, gdy podróżnik przechodzi z niskiego na wysoki, ale nie wiem, jak wyczuć, kiedy przechodzi z wysokiego na niski. Oto program obsługi zdarzeń, którego używam w tej chwili.

    addEventHandler OnPress 23 toggleChannel 1


    W dziennikach jest również zdarzenie, które pojawia się po naciśnięciu przycisku, ale nic nie pojawia się, gdy podróżnik zostanie zmieniony z wysokiego na niski.
     Info:GEN:23 Button_OnInitialPressDown


    W końcu zauważyłem, że jeśli zrestartuję inteligentny przełącznik, a podróżnik jest niski, dzienniki stale wysyłają poniższe polecenie, ale przestaje się pojawiać, gdy przełączę podróżnika. Nie pojawia się również, jeśli podróżnik jest wysoki po ponownym uruchomieniu przełącznika.
     Info:GEN:23 Button_OnLongPressHold
  • #11 20712556
    eternicode
    Poziom 4  
    Mam nadzieję, że 6 miesięcy to nie jest zbyt długo na ożywienie wątku, ale niedawno kupiłem i flashowałem jeden z tych przełączników WFD4001 i myślę, że mam kilka nowych danych i spostrzeżeń, które mogę wnieść do tematu.

    Po ustawieniu pinów zgodnie z pierwszym postem @Subternatural (wielkie dzięki, ten wątek był bardzo pomocny w dotarciu mnie tak daleko), wraz z przyciskiem ADC_Button na pinie 23, uruchomiłem następujące polecenia:

    
    StartDriver ADCButton
    AB_Map 2060
    


    i obejrzałem logi za pośrednictwem aplikacji internetowej. W przeciwieństwie do MQTT, który pobiera aktualizacje najwyżej raz na sekundę, dzienniki wydają się pokazywać około 8 próbek na sekundę. Gdy podróżnik jest niski, wartości oscylują w przedziale 25–30, a gdy jest wysoki, wahają się w przedziale od 25 do 4095. Załączone logi dla każdego scenariusza.

    Uważam, że sprowadza się to do wejścia prądu przemiennego (120 V, 60 Hz) w porównaniu z tym, co, jak zakładam, jest normalnym przypadkiem użycia prądu stałego przez przetwornik ADC. Gdy podróżnik jest niski, wychwytywana jest pewna ilość szumu w postaci sygnału o wartości 25–30, a gdy jest wysoki, sygnał waha się płynnie w zakresie od 25 do 4095, osiągając szczyt 60 razy na sekundę. Próbkowanie chipa przy częstotliwości około 8 Hz nie pozostaje w fazie z sygnałem 60 Hz (60/8 = 7,5), co skutkuje sporadycznym odczytem wartości i opublikowaniem wykresów MQTT @Subternatural (które odpowiadają temu, co widziałem na podstawie wartości MQTT, również).

    Jednym z rozwiązań byłoby wygładzenie wahającego się sygnału albo poprzez pobranie średniej ruchomego okna z ostatnich N próbek (co w tym zastosowaniu może dać sygnał około 2060 r.), albo poprzez przyjęcie najwyższej wartości z ostatnich N próbek próbki. To drugie wydaje mi się bardziej niezawodne i biorąc pod uwagę, że większość zestawów 8 próbek zawiera instancję 4095, N=8 dałoby wygładzonej wartości czas reakcji
  • #12 20712625
    p.kaczmarek2
    Moderator Smart Home
    Nie ma, ale może mogę dodać coś takiego dla Ciebie?
    Oto szkic:
    https://github.com/openshwprojects/OpenBK7231...mmit/9366190698506990f7e84b0c08cb535c7a53fe5c

    Za chwilę rozwinę ten projekt, jakich parametrów potrzebujemy? Myślę o:
    - wielkość okna (liczba próbek)
    - interwał próbkowania w ms
    - indeks pinów źródła próbkowania
    - kanał docelowy dla wartości wygładzonej
    Pomogłem? Kup mi kawę.
  • #13 20713094
    eternicode
    Poziom 4  
    Wydają się rozsądne. Może także flaga do wyboru algorytmu wygładzania między średnim a maksymalnym?
  • #14 20713153
    p.kaczmarek2
    Moderator Smart Home
    Dodaję go jako oddzielny sterownik, a nie jako podstawową funkcję. Więc nie flaga, ale może parametr polecenia.

    Pytanie brzmi: kiedy już ustalę, czy dana wartość na ADC jest wysoka czy niska, co muszę zrobić dalej?

    Wykryj zmianę, aby wykonać:
    
    addChangeHandler ADC < 50 toggelChannel 1
    

    ?
    Pomogłem? Kup mi kawę.
  • #15 20713230
    Subternatural
    Poziom 3  
    To jest świetne! To zabawne, że zaledwie 2 dni zacząłem na to patrzeć ponownie i zauważyłem to samo, gdy wypróbowałem AB_Map. Cieszę się, że widzę cały postęp poczyniony w OpenBeken!

    Moją pierwszą myślą było użycie timera w skrypcie, który ustawiłby fikcyjny kanał na 1 za każdym razem, gdy wyświetli się >~2000, i zrestartowałby timer, a jeśli timer się skończy, ustawi ten kanał na 0. Wtedy użyłbym tego fikcyjnego kanał, aby przełączyć kanał główny. Nie udało mi się sprawić, żeby działało tak, jak chciałem, ale posiadanie średniej lub maksymalnej wartości w oknie kroczącym z pewnością by pomogło.

    Myślę, że po zaimplementowaniu średniej wartości potrzebowalibyśmy tylko dwóch programów obsługi zmian, jednego, gdy wartość jest wysoka (> ~ 50), a drugiego, gdy spada ona nisko, oba przełączałyby główny kanał.
  • #16 20713290
    eternicode
    Poziom 4  
    Przepraszam, tak, miałem na myśli argument „flagi” kierowany do kierowcy, a nie flagę podstawową. Jesteśmy po tej samej stronie.

    Jeśli eksportujemy wartość do kanału, możliwość wykrycia zmian w tym kanale powinna wystarczyć, aby zrobić to, czego potrzebujemy.

    Edycja: osobiście planuję odłączyć wszystkie przyciski, w tym ADC, od głównego przekaźnika i przekierować je do logiki w mojej instancji asystenta domowego, jeśli ma to wpływ na implementację. Mając to na uwadze, chcę, aby podstawowa, niezbyt inteligentna funkcjonalność trójdrożna działała, zanim zacznę zajmować się tą dodatkową funkcjonalnością.
  • #17 20713493
    p.kaczmarek2
    Moderator Smart Home
    Może polecenie mogłoby tak wyglądać?
    
    // ADCSmoother [Pindex] [TotalSamples] [SampleIntervalMS] [TargetChannelADCValue] [MarginValue] [TargetChannel0or1]
    // TargetChannelADCValue is a channel which will get smoother value, like 640, etc
    // MarginValue is a value that used to tell which smoothed adc values are considered high and which are low
    // TargetChannel0or1 will be set depending on MarginValue to either 0 or 1
    // something like:
    // ADCSmoother 27 10 50 10 2048 11
    // 
    

    Następnie możesz użyć (oczywiście to tylko przypadkowy przykład z dokumentów, nie sugeruję wysyłania tutaj GET na inne urządzenie):
    
    // when channel 11 becomes 0, send OFF
    addChangeHandler Channel11 == 0 SendGet http://192.168.0.112/cm?cmnd=Power0%20OFF
    // when channel 11 becomes 1, send ON
    addChangeHandler Channel11 == 1 SendGet http://192.168.0.112/cm?cmnd=Power0%20ON
    

    Nie mam jak przetestować mojego kodu. Jutro rano to wypchnę i będę potrzebować pomocy przy testowaniu.
    Pomogłem? Kup mi kawę.
  • #18 20713537
    eternicode
    Poziom 4  
    Wygląda dobrze. Chętnie wypróbuję ją na moim urządzeniu, choć być może będzie trzeba poczekać do weekendu.
  • #19 20713957
    p.kaczmarek2
    Moderator Smart Home
    Pchnąłem nieprzetestowaną wersję, użycie:
    
    StartDriver ADCSmoother
    // ADCSmoother [Pindex] [TotalSamples] [SampleIntervalMS] [TargetChannelADCValue] [MarginValue] [TargetChannel0or1]
    ADCSmoother 27 10 50 10 2048 11
    

    Będzie drukować wartości co N ms, takie jak:
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    Pomogłem? Kup mi kawę.
  • #20 20713972
    Subternatural
    Poziom 3  
    Wow! Około 10 minut strojenia i myślę, że mam przyzwoitą konfigurację, chociaż prawdopodobnie potrzebuję trochę więcej czasu, aby upewnić się, że zachowuje się tak, jak chcę. Oto kod, który dodałem do mojego startu:

    
    StartDriver ADCSmoother
    ADCSmoother 23 10 50 10 50 11
    addEventHandler onChannelChange 11 toggleChannel 1
    


    Pin ADC w tym modelu to 23.
    Ustaw 10 i 50 dla próbek i milisekund — próbowałem zmniejszyć liczbę próbek do 4, ale uzyskiwałem błędne zmiany, więc widzę, że tutaj potrzeba większości dostrojenia.
    Ustaw kanał 10 na wartość wygładzoną.
    Ustaw wartość przełącznika na 50, ponieważ gdy przełącznik jest niski, rzeczywiste wartości w większości pozostają na poziomie 26-28, więc prawdopodobnie moglibyśmy zmniejszyć tę wartość nawet do 30.
    Ustaw kanał 11 dla mojego przełącznika.

    Jeszcze raz dziękujemy za wdrożenie tego rozwiązania, jak dotąd działa dokładnie tak, jak oczekiwano! Będę go obserwował i zdam relację, gdy posiedzę z nim trochę czasu.
  • #21 20713975
    p.kaczmarek2
    Moderator Smart Home
    Miło mi słyszeć, że to działa. Nie spodziewałem się, że będzie to takie proste, zwłaszcza, że nawet nie testowałem mojego kodu na prawdziwym urządzeniu fizycznym przed przesłaniem, uruchomiłem go jedynie w symulatorze:
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001

    Przetestujmy to trochę dłużej i zobaczymy, czy pojawi się jakiś problem.

    Co więcej, już tutaj zauważę, że wkrótce być może będę musiał domyślnie wyłączyć ten sterownik, aby zaoszczędzić rozmiar pamięci flash i stworzyć jakąś skonfigurowaną kompilację (wiele plików OTA z włączonymi wieloma funkcjami), więc po prostu miej to na uwadze. .. Nie jestem jeszcze pewien, jak podejdę do tego problemu
    Pomogłem? Kup mi kawę.
  • #22 20716901
    eternicode
    Poziom 4  
    W porządku, miałem okazję ustawić sterownik w różnych konfiguracjach, aby przetestować stabilność niskiej / wysokiej wartości i myślę, że przy wystarczająco wąskich wartościach działa to bardzo dobrze i może być bardzo responsywne podczas przełączania przełącznika podróżnego, do tego stopnia, że nie można by pomyśleć, że wystąpiło jakiekolwiek inteligentne opóźnienie.

    Ściana tekstu szczegółowo opisująca moje testy, z liczbami, logiką i wykresami, w spoilerze:

    Spoiler:

    Do testów skonfigurowałem następujące piny i włączyłem flagę 6:
    P2 Rel Rel. 10
    P3 Rel 11
    P23 ADC_Button ADC_Button 5

    P2/P3 są ustawione na Relay, więc ich wartości są automatycznie wysyłane do MQTT, a P23 jest ustawiony na ADC_Button na fikcyjnym kanale, więc surowe wartości są nie wysyłane do MQTT. Następnie użyłem mqtt-explorer do wykresu raportowanych wartości dla kanałów 10/11 w czasie, obserwując spójność w kanale 10 (wygładzone wartości) i stabilność w kanale 11 (wysoka / niska wartość).

    Zanim przejdę do wyników, trochę o tym, dlaczego wybrałem wartości, które wybrałem.

    Po pierwsze, cykl ADC wynosi 60 Hz, (teoretycznie) ważne jest, aby wybrać częstotliwość próbkowania sterownika, która pozwoli uniknąć "synchronizacji" z wejściem (po prostu chcesz, aby częstotliwość nie dzieliła się równomiernie na wejście); jeśli tak się stanie, próbkowanie będzie (ponownie, teoretycznie) zawsze trafiać w te same punkty cyklu, co oznacza, że uzyskasz spójną, ale ograniczoną, wygładzoną wartość. Na poziomie praktycznym prawdopodobnie wystąpi pewien dryf w czasie, co może być tym, co @Subternatural zaobserwował przy częstotliwości próbkowania 50 ms / 20 Hz - początkowy segment próbki był wysoki, ale z czasem dryfował w dół, wyzwalając niski poziom. Wybór częstotliwości próbkowania poza fazą powoduje, że segment próbki szybko się zmienia, unikając zbyt długiego przebywania w zakresie "niskim".

    Po drugie, czas reakcji około 250 ms lub mniej "czuje się" najlepiej, gdy fizycznie przerzuca się przełącznik podróżny. Jestem pewien, że istnieją badania, które to potwierdzają, ale z pewnością jest to subiektywna prawda; Wypróbowałem konfiguracje, które pozwalały na opóźnienie od 250 ms do 1000 ms między przełączeniem przełącznika a zmianą stanu świateł, a wszystko powyżej znaku 333 ms zaczyna wydawać się niezgrabne.

    Oto wyniki różnych przebiegów testowych. Wykresy pochodzą z mqtt-explorer, wykonane po uruchomieniu polecenia, usunięciu danych kanału 10 i pozwoleniu na ich ponowne zgromadzenie, aż wykres zacznie się przewijać.
    Test # Command Próbki na sekundę (Hz) Próbki uśrednione Czas odpowiedzi (próbki/Hz) Stabilność Wykres wygładzony
    1 ADCSmoother 23 4 60 10 50 11 16.666Hz 4 próbki 240ms Niestabilny [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    2 ADCSmoother 23 8 60 10 50 11 16.666Hz 8 próbek 480ms Stabilny przez 1 godzinę [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    3 ADCSmoother 23 15 37 10 50 11 27.04Hz 15 próbek 555ms Stabilny przez 1h [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    4 ADCSmoother 23 8 134 10 50 11 7.46Hz 8 próbek 1,007ms Stabilny przez 1h [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    5 ADCSmoother 23 8 124 10 50 11 8.06Hz 8 próbki 995ms Stabilny przez 1h [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    6 ADCSmoother 23 9 37 10 50 11 27.04Hz 9 próbek 333ms Stabilny przez 1h [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001 [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    7 ADCSmoother 23 11 19 10 50 11 52.63Hz 11 próbki 209ms Stabilny przez 1h [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    8 ADCSmoother 23 7 37 10 50 11 27.04Hz 7 próbek 258ms Niestabilny [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    9 ADCSmoother 23 12 8 10 50 11 125Hz 12 próbek 96ms Stabilny przez 1h [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    10 ADCSmoother 23 24 4 10 50 11 250Hz 24 próbki 96ms Stabilność 1 godz. Stabilny przez 1 godzinę [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    11 ADCSmoother 23 100 1 10 50 11 1000Hz 100 próbek 100ms Przełamuje publikację MQTT? [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001


    Konfiguracja, którą skończyłem dla "czysto fizycznego" (tj, nie podłączonego do asystenta domowego):

    P8 Btn 1 "W górę" Przycisk
    P9 Btn 2 Przycisk "W dół"
    P23 ADC_Button 5
    P24 WifiLED
    P26 Rel 0

    Flagi: Tylko flaga 6 (mam również włączone flagi 2, 10 i 21, ale są one związane z MQTT)

    autoexec.bat:

    
    # Channels:
    # relay = 0
    # up btn = 1
    # down btn = 2
    # adc smoother high/low = 3
    
    StartDriver ADCSmoother
    ADCSmoother 23 11 19 4 50 3
    
    addEventHandler onChannelChange 1 setChannel 0 1
    addEventHandler onChannelChange 2 setChannel 0 0
    addEventHandler onChannelChange 3 toggleChannel 0
    


    Przy tej konfiguracji światła reagują na przełącznik podróżny natychmiastowo, a przyciski w górę i w dół działają dokładnie tak, jak oczekiwano (w górę zawsze włącza światła, w dół zawsze wyłącza światła).

    Moja integracja HA będzie zupełnie inną podróżą, ale spodziewam się, że będzie zgodna z innymi wątkami opisującymi "odłączone" przełączniki.

    Jeszcze raz dziękuję @Subternatural za rozpoczęcie tego tematu i @p.kaczmarek2 za przygotowanie tego sterownika dla nas! Jeśli są jeszcze jakieś obawy związane z wydajnością tego sterownika, chętnie się nimi zajmę, ale na razie wydaje mi się, że działa.
  • #23 20717066
    p.kaczmarek2
    Moderator Smart Home
    Bardzo dobry i szczegółowy test. Dobra robota. Cieszę się, że to działa w niezawodny sposób.

    Jeśli chodzi o przypadek, który przerywa publikowanie MQTT - co dzieje się wtedy w dzienniku aplikacji internetowej? Czy jest to spowodowane zbyt dużą liczbą publikacji? Albo... nie sądzę. Może to być spowodowane przegrzaniem procesora. Jeśli tak, to niewiele możemy z tym zrobić.

    I jeszcze jedno. Nie potrzebujesz roli ADCButton aby korzystać z płynniejszego sterownika! Powiedziałbym raczej, że lepiej nie używać tej roli, powoduje ona dodatkowe obciążenie procesora.
    Pomogłem? Kup mi kawę.
  • #24 20717677
    eternicode
    Poziom 4  
    W porządku, zmieniłem P23 z powrotem na ADC zamiast ADC_Button. Wybrałem ADC_Button, ponieważ nie wysyłał wartości do MQTT; biorąc pod uwagę, że nie zależy mi na tych wartościach (tylko stan każdego z przycisków, przekaźnik i ADC H / L), chciałbym zminimalizować przepustowość / aktywność, czy jest lepszy sposób na zrobienie tego niż użycie ADC_Button?

    Jeśli chodzi o odcięcie MQTT, spróbowałem ponownie ze skryptem polling /lograw urządzenia co sekundę i zapisując linie ze znacznikami czasu do pliku:

    
    [2023-09-01T10:47:39.171001] Info:MQTT:Channel has changed! Publishing 1500 to channel 10
    [2023-09-01T10:47:39.171001] Info:MQTT:Publishing val 1500 to obk12476622/10/get retain=1
    [2023-09-01T10:47:39.171001] Info:DRV:AS: raw 4095, smoothed 1540, LowHigh 1
    [2023-09-01T10:47:39.171001] Info:GEN:CHANNEL_Set channel 10 has changed to 1540 (flags 0)
    [2023-09-01T10:47:39.171001] Info:MQTT:Channel has changed! Publishing 1540 to channel 10
    [2023-09-01T10:47:39.171001] Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic obk12476622/10/get
    [2023-09-01T10:47:59.233527] et channel 4 has changed to 1283 (flags 0)
    [2023-09-01T10:47:59.233527] Info:DRV:AS: raw 3742, smoothed 1620, LowHigh 1
    [2023-09-01T10:47:59.233527] Info:GEN:CHANNEL_Set channel 4 has changed to 1620 (flags 0)
    [2023-09-01T10:47:59.233527] Info:DRV:AS: raw 27, smoothed 1596, LowHigh 1
    [2023-09-01T10:47:59.233527] Info:GEN:CHANNEL_Set channel 4 has changed to 1596 (flags 0)
    


    Zobacz skok między :39 i :59, a także kanały powracające do tego, co ustawiłem w autoexec.bat. Domyślam się, że nie jest to problem z publikacją MQTT, ale urządzenie faktycznie się zawiesza/restartuje/resetuje z taką częstotliwością.
  • #25 20717683
    p.kaczmarek2
    Moderator Smart Home
    Sterownik jest napisany w taki sposób, że nie trzeba ustawiać żadnej roli dla wybranego pinu. I tak zainicjalizuje on przetwornik ADC. Jest to najlepszy sposób na jego użycie.

    Awaria może być spowodowana po prostu zbyt dużą liczbą próbek ADC....
    Pomogłem? Kup mi kawę.
  • #26 20717721
    eternicode
    Poziom 4  
    Ach, to... jest bardzo oczywiste z perspektywy czasu i działa całkiem nieźle.

    Jeszcze raz dzięki!
  • #27 20963329
    syntaxerr66
    Poziom 1  
    Przepraszam, że wskrzeszam stary wątek, ale jak przełączyliście się w tryb AP dla Cloudcuttera? Wypróbowałem prawie każdą kombinację naciśnięć przycisków i włączania i wyłączania zasilania, jakie przychodzą mi do głowy, ale nadal znajduje się w trybie szybkiego połączenia i nigdy nie przechodzi w tryb aplikacji.
  • #28 20963749
    p.kaczmarek2
    Moderator Smart Home
    Mogę się mylić, ale czy nie ma tu małego przycisku RESET?
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    Lub jeśli masz na myśli konkretnie tryb AP...
    Może poszukajmy instrukcji do podobnych urządzeń w innych wątkach, na przykład tutaj:
    [BK7231T/WB3S] Treatlife SS02 FCC ID 2ANIFSS01) 3-drożny inteligentny przełącznik
    Mówi, aby przytrzymać przez 5 sekund:
    [BK7231T WB3S] Zmiana firmware w przełączniku ściennym UltraPro WFD4001
    Pomogłem? Kup mi kawę.
  • #29 21231450
    Rickerdo
    Poziom 1  
    Czy ktoś próbował flashować te przełączniki za pomocą ESPHome? Mam na nich uruchomiony ESPHome i działają zgodnie z oczekiwaniami, zarówno na przełączniku, jak i przez HA, ale nie mogę rozgryźć 3-kierunkowego wykrywania ADC. Użyłem następujących rozwiązań:
    sensor:
      - platform: adc
        pin: P23
        id: aux_switch
        update_interval: 50ms
        samples: 10
        internal: True
    


    co daje niesamowicie niespójne wyniki, takie jak:

    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 0.23500 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 3.21800 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 0.19800 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 3.98100 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 3.96200 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 0.12900 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 3.94700 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 3.94600 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 3.92500 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 0.08700 V with 2 decimals of accuracy
    [15:52:23][D][sensor:093]: 'aux_switch': Sending state 3.91600 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.91000 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.88400 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.82200 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 0.04900 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.83500 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.81100 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.82500 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 0.03100 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 2.88300 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 0.03000 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.75900 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.69400 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.71400 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 0.01800 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.64700 V with 2 decimals of accuracy
    [15:52:24][D][sensor:093]: 'aux_switch': Sending state 3.69900 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.61800 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.49400 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 0.01500 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 2.67400 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 0.01400 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.52300 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.48100 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 0.01200 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.40100 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.46600 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.37700 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 0.01200 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.41100 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 3.32500 V with 2 decimals of accuracy
    [15:52:25][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 3.22200 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 3.20400 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 0.01100 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 1.74900 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 2.42200 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 2.99900 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 2.07600 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 4.09200 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 3.04600 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 2.94100 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 0.01100 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 1.90600 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 0.01100 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 2.71300 V with 2 decimals of accuracy
    [15:52:26][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 1.55800 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 0.01100 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 2.85900 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 1.92600 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 2.55800 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 4.08100 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 2.49000 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 4.06800 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 2.43100 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 0.01100 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 1.04000 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 2.29400 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 0.82600 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:27][D][sensor:093]: 'aux_switch': Sending state 2.30800 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.39200 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 0.01100 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.99500 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 4.03300 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.98700 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.90200 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.85200 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.81600 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.80900 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 0.00900 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.83100 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 1.53600 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 0.00900 V with 2 decimals of accuracy
    [15:52:28][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 1.52500 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 4.04400 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 1.52500 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 1.56700 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 4.00300 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 1.27500 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 1.28400 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 1.27900 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 0.82500 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 4.09500 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 1.09400 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 3.96100 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 0.96400 V with 2 decimals of accuracy
    [15:52:29][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.89400 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.97200 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 3.79700 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.87000 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.71200 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 4.09300 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.69800 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 4.09100 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.68600 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 4.08400 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.64600 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.01000 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.55100 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.58900 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 3.73700 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 0.53100 V with 2 decimals of accuracy
    [15:52:30][D][sensor:093]: 'aux_switch': Sending state 3.68600 V with 2 decimals of accuracy
    
    .

    Jakieś sugestie dotyczące dokładniejszej konfiguracji ADC?
REKLAMA