1 (edytowany przez wisipior 2024-10-09 09:32:41)

Temat: Sterowanie smart wtyczkami Tuya

Znalazłem sposób na łatwe sterowanie smart wtyczkami typu Tuya z poziomu owrt.
Trik działa bez chmury, ale wtyczka oczywiście musi być skonfigurowana, wystarczy że jest podłączona do naszego wifi. Przetestowałem na 3 smart-wtyczkach różnych marek, wszystkie są na "protokole" Tuya, zachęcam do wypróbowania na innych, np. Zigbee, itd.
Nie potrzeba instalować żadnej paczki, wystarczy wbudowana komenda nc oraz adres IP naszej wtyczki (który zatem wypada ustawić na stały)

Okazuje się, że wtyczki Tuya słuchają grzecznie na porcie 6668/tcp. To co wystarczy zatem zrobić to przechwycić dane wysyłane ze smartfona do wtyczki po wifi. Pakiet przechwycony osobno przy włączaniu i wyłączaniu zapisujemy sobie na dysku i używamy do woli.

Przy wyłączonych danych komórkowych, do przechwycenia użyłem apki "NetCapture". Odpalamy obok apke Smart Life, przechodzimy do naszej wtyczki zaś w NetCapture klikamy Start. Potem w Smart Life włączamy wtyczkę, i kończymy nasłuch. Wybieramy z pozycji IP naszej wtyczki, wtedy na górze widać w jakim katalogu są nasze pakiety. Interesuje nas "request" - ale który - to już sami testujemy (raczej to będzie ten z najwyższym numerem). Przenosimy pliczek na ruter. Powtarzamy to samo dla wyłączania wtyczki.

Dalej już prosta sprawa, włączamy i wyłączamy poleceniem

cat request-on.dat | nc ip_wtyczki 6668 > /dev/null
cat request-off.dat | nc ip_wtyczki 6668 > /dev/null

W Windowsie analogicznie przy użyciu curl'a:

curl -s -T request-on.dat ip_wtyczki:6668
curl -s -T request-off.dat ip_wtyczki:6668

Jeśli wtyczki do LuCi pozwalają na przypisanie komendy do własnego buttonu, to mamy szybkie sterowanie domem.
Szkoda że MiFi tego nie umie, albo chociaż jakiś mikro http serwerek.

Tym sposobem mamy narzędzie do lokalnego programu sterowania prądem w domu z poziomu cron'a i własnych skryptów na etapie wcześniej od serwera.

Miłego !

2

Odp: Sterowanie smart wtyczkami Tuya

Możesz sobie zrobić zwykle cgi które to będzie wysyłać

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Sterowanie smart wtyczkami Tuya

Cezary napisał/a:

Możesz sobie zrobić zwykle cgi które to będzie wysyłać

I wystarczy że ją wrzucę do /www/moje/index.htm ?

4

Odp: Sterowanie smart wtyczkami Tuya

a co on tam wysyła? pokaż pls zawartość tych .dat

5

Odp: Sterowanie smart wtyczkami Tuya

cgi to skrypt, nie html. Możesz w html zrobić sobie przycisk i wołać pod nim url z cgi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: Sterowanie smart wtyczkami Tuya

A czy można by zrobić taki wyzwalacz w OpenWRT, że jak "telefon" rejestruje się w routerze czyli "wchodzi do domu" to włącza się jedna lub kilka żarówek WiFi? I odwrotnie: telefon rozłącza się z routerem i wszystkie żarówki gasną? Mam coś takiego ogarnięte w apce Tuya wykorzystującej geolokalizację, ale to nie działa do końca sprawnie. Są opóźnienia kilkuminutowe i o ile nie przeszkadza to, gdy się dom opuszcza, to nie jest fajne, gdy wracając po zmierzchu, światła włączają się po kilku minutach.

Xiaomi Mi Router AX9000 ver. EU + OpenWrt 25.12.0
NETGEAR Nighthawk X4S R7800 + OpenWRT 25.12.0
Netgear Nighthawk R7000 & 6400 v2 + FreshTomato
TP-Link TL-WR842ndv1 + DD-WRT

7 (edytowany przez cyniu88 2024-10-08 15:01:55)

Odp: Sterowanie smart wtyczkami Tuya

ciężko  zlikwidować  opóźnienia  przy "wchodzeniu do domu",  ale ja mam u siebie takie rozwiązanie,  że jeśli nie ma określonych hostów  w sieci  wifi  i do tego czujki  ruchu  od alarmu nie zgłaszały się przez n-czas  to alarm się uzbraja.

Testowałem   to też  odwrotnie, że jeśli czujka  ruchu z wiatrołapu zechce  podnieść alarm,  to sprawdza jakie  są w sieci  hosty,  jak odpowiednie,  to  rozbraja system,  ale  to zależy  jak szybko  "telefon" połączy się z wifi, no i jest kontrowersyjne ...

8

Odp: Sterowanie smart wtyczkami Tuya

ZbiG napisał/a:

A czy można by zrobić taki wyzwalacz w OpenWRT, że jak "telefon" rejestruje się w routerze czyli "wchodzi do domu" to włącza się jedna lub kilka żarówek WiFi? I odwrotnie: telefon rozłącza się z routerem i wszystkie żarówki gasną? Mam coś takiego ogarnięte w apce Tuya wykorzystującej geolokalizację, ale to nie działa do końca sprawnie. Są opóźnienia kilkuminutowe i o ile nie przeszkadza to, gdy się dom opuszcza, to nie jest fajne, gdy wracając po zmierzchu, światła włączają się po kilku minutach.

Zwykły skrypt w cronie zliczający klientów na wifi i robiący coś w zależności od wyniku.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez cyniu88 2024-10-08 15:05:12)

Odp: Sterowanie smart wtyczkami Tuya

o ile  masz  jeden  router  bez dodatkowych dummy AP


Jeśli masz router z OpenWRT i zainstalowaną usługę usteer, możesz uzyskać informacje o podłączonych urządzeniach do WiFi, odpytywać usteer bezpośrednio za pomocą poleceń. Istnieje kilka sposobów, aby sprawdzić, kto jest podłączony do sieci WiFi:
1. Sprawdzenie podłączonych urządzeń za pomocą usteer

Usteer oferuje wgląd w klienty sieci WiFi. Możesz odpytać tę usługę, używając komendy w terminalu OpenWRT.



ubus call usteer get_clients

10

Odp: Sterowanie smart wtyczkami Tuya

cyniu88 napisał/a:

o ile  masz  jeden  router  bez dodatkowych dummy AP


Jeśli masz router z OpenWRT i zainstalowaną usługę usteer, możesz uzyskać informacje o podłączonych urządzeniach do WiFi, odpytywać usteer bezpośrednio za pomocą poleceń. Istnieje kilka sposobów, aby sprawdzić, kto jest podłączony do sieci WiFi:
1. Sprawdzenie podłączonych urządzeń za pomocą usteer

Usteer oferuje wgląd w klienty sieci WiFi. Możesz odpytać tę usługę, używając komendy w terminalu OpenWRT.



ubus call usteer get_clients

O! Dzięki. To właściwie problem u syna w akademiku. Chciałem przyoszczędzić na żarówkach smart i bramce i wlazłem w gów...ne rozwiązanie WiFi. Zupełnie nie praktyczne. On ma jeden router, zainstalowany usteer i nie ma dummy AP, więc będę drążył temat w wolnym czasie. Może uda się jakąś automatyzację na routerze wyrzeźbić.

Xiaomi Mi Router AX9000 ver. EU + OpenWrt 25.12.0
NETGEAR Nighthawk X4S R7800 + OpenWRT 25.12.0
Netgear Nighthawk R7000 & 6400 v2 + FreshTomato
TP-Link TL-WR842ndv1 + DD-WRT

11 (edytowany przez wisipior 2024-10-09 09:34:47)

Odp: Sterowanie smart wtyczkami Tuya

ZbiG napisał/a:

A czy można by zrobić taki wyzwalacz w OpenWRT, że jak "telefon" rejestruje się w routerze czyli "wchodzi do domu" to włącza się jedna lub kilka żarówek WiFi? I odwrotnie: telefon rozłącza się z routerem i wszystkie żarówki gasną? Mam coś takiego ogarnięte w apce Tuya wykorzystującej geolokalizację, ale to nie działa do końca sprawnie. Są opóźnienia kilkuminutowe i o ile nie przeszkadza to, gdy się dom opuszcza, to nie jest fajne, gdy wracając po zmierzchu, światła włączają się po kilku minutach.

No właśnie ja wrzucam w autostarcie rutera w /etc/rc.local linijkę

(
sleep 60
/etc/config/detektyw.sh
) &

Skrypt:

#!/bin/sh

ip=10.9.8.88
mac=32:ce:02:a7:a7:bb

alias lampaon='cat /etc/config/tuya_offline/lampa-on | nc $IP 6668 > /dev/null'
alias lampaoff='cat /etc/config/tuya_offline/lampa-off | nc $IP 6668 > /dev/null'

while [ 1 ] ; do
        M=$(logread | grep "CONNECTED $mac" | tail -1)
        [ -z $OST ] && OST=0 && [ -z "$M" ] && NEW=0 && lampaoff && continue
        [ ! -z "$M" ] && {
                echo "$M" | grep -q DISCONNECTED && NEW=0 || NEW=1
                [ $OST -ne $NEW ] && [ $NEW -eq 1 ] && lampaon
                [ $OST -ne $NEW ] && [ $NEW -eq 0 ] && lampaoff
                OST=$NEW
        }
        sleep 5
done

Na początku ip lampy oraz mac smartfona. Pliczki wywołań wstawione w /etc/config/tuya_offline/, aby się z backupem ustawień przenosiły. Kiedy ciebie nie ma w domu, a ruter się restartuje to lampe gasi.

12

Odp: Sterowanie smart wtyczkami Tuya

Dzięki, będę analizował w wolnej chwili Twój skrypt i podpasowywał pod siebie, o ile rozkminię szczegóły. Na razie uczę się.

Xiaomi Mi Router AX9000 ver. EU + OpenWrt 25.12.0
NETGEAR Nighthawk X4S R7800 + OpenWRT 25.12.0
Netgear Nighthawk R7000 & 6400 v2 + FreshTomato
TP-Link TL-WR842ndv1 + DD-WRT

13

Odp: Sterowanie smart wtyczkami Tuya

wisipior napisał/a:

Przy wyłączonych danych komórkowych, do przechwycenia użyłem apki "NetCapture". Odpalamy obok apke Smart Life, przechodzimy do naszej wtyczki zaś w NetCapture klikamy Start.

Kolego, czy ten sposób sterowania w ogóle nadal działa? Mam dwie wtyczki i żadną nie jestem w stanie w ten sposób sterować.

Tyle, że nie przechwytuję pakietów NetCapture, gdyż po walce z nim, żeby w ogóle zadziałał (tak jakby się zawieszał co chwilę), po wciśnięciu start, nie jestem w stanie zrobić nic w Tuya. Nie da się przełączyć stanu. Więc skorzystałem z PCAPdroid. Jak włączam wtyczkę to idzie seria pakietów TX, RX, ale dla pewności zapisałem każdy z nich i wtyczka na żaden nie reaguje.

Szukam sposobu na proste odpalenie zasilania modemu, gdy padnie łącze podstawowe.

14

Odp: Sterowanie smart wtyczkami Tuya

dontonico napisał/a:
wisipior napisał/a:

Przy wyłączonych danych komórkowych, do przechwycenia użyłem apki "NetCapture". Odpalamy obok apke Smart Life, przechodzimy do naszej wtyczki zaś w NetCapture klikamy Start.

Kolego, czy ten sposób sterowania w ogóle nadal działa? Mam dwie wtyczki i żadną nie jestem w stanie w ten sposób sterować.

Tyle, że nie przechwytuję pakietów NetCapture, gdyż po walce z nim, żeby w ogóle zadziałał (tak jakby się zawieszał co chwilę), po wciśnięciu start, nie jestem w stanie zrobić nic w Tuya. Nie da się przełączyć stanu. Więc skorzystałem z PCAPdroid. Jak włączam wtyczkę to idzie seria pakietów TX, RX, ale dla pewności zapisałem każdy z nich i wtyczka na żaden nie reaguje.

Szukam sposobu na proste odpalenie zasilania modemu, gdy padnie łącze podstawowe.

Tak cały czas używam. Mówimy o wtyczkach Tuya, nie zigbee. Android wersja 10. Jeśli masz starszy, poszukaj starszej wersji na apkpure.

15

Odp: Sterowanie smart wtyczkami Tuya

Całkowicie OT: ja używam tinytuya (w pythonie) do tego, choć jest więcej zachodu bo trzeba rejestrować się jako developer żeby mieć hasła i identyfikatory. Ale moje gniazdko ma pomiar, a potrzebowałem czytać na bieżąco także prąd i napięcie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16 (edytowany przez dontonico 2025-06-04 23:42:11)

Odp: Sterowanie smart wtyczkami Tuya

wisipior napisał/a:

Tak cały czas używam. Mówimy o wtyczkach Tuya, nie zigbee. Android wersja 10. Jeśli masz starszy, poszukaj starszej wersji na apkpure.

Wtyczki mam Tuya na wifi. Różne, na ESP i na Bekenie. Ja to robiłem na Androidzie 15, ale specjalnie wziąłem jakiegoś starego LG G6 do testu i na nim ten NetCapture działa. Ale on zapisuje to samo co PCAPdroid. I niestety żadna moja wtyczka nie reaguje sad Pewnie jakiś nowszy protokół.

Znalazłem jakiegoś starego Sonoffa Basic i wgrałem mu Tasmotę, ona ma proste sterowanie po http co rozwiązuje mój problem.

Z tym tinytuya nawet nie podejmuję walki, bo to jakaś kobyła i do tego te klucze trzeba co jakiś czas odnawiać. Nie będę strzelał do muchy z armaty, ten przełącznik będzie uruchamiany ze 2 razy w roku.

17

Odp: Sterowanie smart wtyczkami Tuya

ja od roku steruję wtyczkami tuya poprzez home assistant jako local tuya HACS ,nawet jak braknie internetu na OpenWrt to działa lokalnie.

18 (edytowany przez krynio 2025-06-09 19:47:05)

Odp: Sterowanie smart wtyczkami Tuya

OT c.d. ale może się przydać. Gniazdka np. Gosund SP111 i alternatywne firmware supla. Firmware do wygenerowania i pobrania stąd https://gui-generic-builder.supla.io
Gosund SP111 poza ON/OFF ma również pomiar napięcia, natężenia itd, może także wykonywać jakieś działania w zależności o zadane warunki, np. jeśli napięcie przekroczy wartość X, to wyłącz przekaźnik. Niektóre funkcje i warunki są do ustawienia bezpośrednio z poziomu firmware urządzenia a inne z poziomu cloud supla, darmowa chmura. Po skonfigurowaniu może działać niezależnie od internetu. Soft (docker) na własną chmurę jest także dostępny za darmo i aktualizowany przez twórców.
Możliwości sterowań jest sporo od gotowych rozwiązań apka android, iphone, linki bezpośrednie itd, po integracje z Alexa czy Google Home i np. sterowanie również głosowe, z poziomu smartfona czy telewizora. Bardziej zaawansowani pobierają dane cyklicznie przez API, linki bezpośrednie, broker MQTT i obrabiają dalej jak potrzebują za pomocą skryptów, Python, Rust, C, C++ itd.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270