Xiaomi Home - brak powiadomień PUSH

Bawię się właśnie Xiaomi Home. Mam podłączony oczyszczacz i kamerkę 360. Dla obu urządzeń nie działają mi powiadomienia PUSH (w emulatorze bluestack działają a w smartfonie za nic w świecie). Wygląda na to, ze problem jest powszechny

Wszystkie zarządzania energią wyłączone, aplikacja uruchamiana przy starcie, przypięta, wszelkie powiadamiania włączone w Xiaomi Home i w Androidzie. Powiadomienie pojawia się tylko w aplikacji Xiaomi Home.

Na forach Xiaomi bardzo dużo osób skarży się na niedziałające PUSH z Xiaomi Home - nawet na telefonach Xiaomi. Ktoś z was spotkał się z tym problemem i go rozwiązał?

Jakby nie działało na wielu telefonach, to może źle znosi parowanie 1 domu na wiele smartfonów - z twojej odpowiedzi nie wynika czy starasz się by adminem był jeden telefon i potem używane było wyrejestruj z/lub wyloguj.

Walczę z tym całe popołudnie. Najpierw zainstalowałem na telefonie. Brak powiadomień PUSH. dopiero potem na emulatorze Bluestack zalogowałem się na to samo konto Xiaomi i powiadomienia tam przychodzą. Bluestack jest wyłaczony, właczam okazyjnie do testów. Kasowałem całą aplikację na smartfonie, instalowałem starsze wersje i nic.

Spróbowałem wylogować się z Bluestack i z telefonu a potem zalogować tylko na telefonie ale niestety bez efektu.

U mnie pod LineageOS Xiaomi Home poprawnie wyświetla powiadomienia PUSH.
Może powodem jest Firebase Cloud Messaging (FCM) od Googla.
Aplikacja z tego nie korzysta zarówno pod LineageOS jak i w emulatorze Bluestack, ponieważ te API tam nie istnieje i powiadomienia są serwowane w inny sposób w oparciu o usługę działającą w tle.

Użyj funkcji „Opinii” w samej aplikacji i opisz problem. Ja znalazłem raz bug i po jakimś czasie od takiego zgłoszenia został w jednej z aktualizacji naprawiony.

Dzięki! Jest to sensowny trop z FCM. Problem opisałem - nie tylko ja. Sporo osób o tym pisze. Niestety nie wygląda to kolorowo. Przejrzałem fora - problem z PUSH i Xiaomi Home pojawia się i znika od wielu lat i są to przypadki, gdzie użytkownik dobrze ustawił wszystko co trzeba.

Tak mi to wygląda jakby aplikacja nie komunikowała się z API od PUSH. Ustawiam w XH prostą automatyzację „gdy kliknięte - wyślij powiadomienie do urządzenia”. Na Bluestack od razu przychodzi na smartfon powiadomienie przepada.

Pewnie błąd po stronie aplikacji. W sumie nie dziwię się jak patrzę od strony deweloperki, jak implementuje się FCM po stronie klienta.
https://firebase.google.com/docs/cloud-messaging/android/client

W Chinach jest ich własny system PUSH. Ponieważ problem z Xiaomi Home i PUSH jest powszechny to ludzie snują domysły, że Xiaomi nie zaimplementował poprawnie PUSH od Google. Wiele osób pisze, że PUSH przestały działać w momencie aktualizacji do Androida 10 czy 11. Dokładnie ten problem

Nie wiem co o tym myśleć, żeby przez tyle lat nic z tym nie zostało zrobione dla urządzeń dystrybuowanych na Europę. Z drugiej strony ten nieszczęsny emulator Bluestack (Android 7 u mnie) - który przecież nie ma chinskiego systemu powiadomień (chyba;) a uruchomiona pod nim Xiaomi Home powiadomienia pięknie wysyła.
Xiaomi are you alive ? :wink:

Może na Androidzie 7 działa apka w tle spokojnie a Android 10+ ubija ją bardzo szybko.

Nie takie proste. Ludzie piszą, że wyłączają wszelkie zarządzanie energią i ubijanie Xiaomi Home. Ja np poza wyłączeniem wszelkich optymalizatorów - miałem apkę otwartą na ekranie. Powiadomienie do apki przychodzi ale PUSH w Androidzie nie wyskakuje.

Człowiek ma przećwiczone wszystkie te sztuczki z powiadomieniami, wymuszeniem żeby aplikacja działa w tle, nie była optymalizowana itp ale tu one nie działają. :thinking:

HI

Xiaomi Mi 11 Lite 5G, A12, MIUI 13.0.5. Nie działają żadne powiadomienia PUSH z Xiaomi Home (7.7.702). Wszystko poustawiane zgodnie z wytycznymi. Ta sama wersja Xiaomi Home na Xiaomi Redmi Note 7 Pro i tym samym koncie Xiaomi działa prawidłowo.

Pewną poszlaką przyczyn może być fakt, że na Mi11 w ustawieniach aplikacji, Powiadomienia, MI PUSH są dwa konta. Jedno Xiaomi Home a drugie złożone z chińskich symboli. Obydwa mają identyczne opcje . Obydwa włączyłem. Próbowałem też w jednym z kont wyłączyć wszystko a drugim włączyć. Na nic

Generalnie jestem zniesmaczony systemem Xiaomi/Aqara. Nie dość że sprzęt bardzo drogi (bramka, czujniki itd), to jeszcze działa albo i nie. Czujniki ciągle znikają z Xiaomi Home (to nie problem baterii), trzeba je ponownie podłączać. Same problemy. Powoli przechodzę na Sonoff. Dużo tańsze elementy i działa bez żadnych problemów.

DuDuS

Najwyraźniej jest to problem z com.xiaomi.mipush opisany tutaj Missing Push notifications | XDA Forums

U siebie w logu log1.txt w katalogu aplikacji znalazłem:

2022-10-01 20:16:15 PM com.xiaomi.smarthome-16833 [Tid:54840] sdk_version = 4_8_6-G 
2022-10-01 20:16:15 PM com.xiaomi.smarthome-16833 [Tid:54840] register invalid, aid=true;atn=true;rid=false;rse=false;did=false 
2022-10-01 20:16:15 PM com.xiaomi.smarthome-16833 [Tid:54836] register invalid, aid=true;atn=true;rid=false;rse=false;did=false 
2022-10-01 20:16:15 PM com.xiaomi.smarthome-16833 [Tid:54840] register invalid, aid=true;atn=true;rid=false;rse=false;did=false 
2022-10-01 20:16:15 PM com.xiaomi.smarthome-16833 [Tid:54840] Don't send message before initialization succeeded! 
2022-10-01 20:16:15 PM com.xiaomi.smarthome-16833 [Tid:54840] register invalid, aid=true;atn=true;rid=false;rse=false;did=false 
2022-10-01 20:16:15 PM com.xiaomi.smarthome-16833 [Tid:54840] Don't send message before initialization succeeded! 
2022-10-01 20:16:20 PM com.xiaomi.smarthome-16833 [Tid:54840] register invalid, aid=true;atn=true;rid=false;rse=false;did=false 
2022-10-01 20:17:16 PM com.xiaomi.smarthome-16833 [Tid:1] [CRcv] receive a msg broadcast: com.xiaomi.mipush.ERROR 
2022-10-01 20:17:16 PM com.xiaomi.smarthome-16833 [Tid:54906] receive an intent from server, action=com.xiaomi.mipush.ERROR 
2022-10-01 20:17:16 PM com.xiaomi.smarthome-16833 [Tid:54906] receive a error message. code = 70000001, msg=  the push is not connected. 
2022-10-01 20:17:16 PM com.xiaomi.smarthome-16833 [Tid:54906] begin execute onCommandResult, command=Registration, resultCode=70000001, reason= the push is not connected. 

Jak napisano tutaj Android 通过/system/build.prop修改设备Locale属性(解决小米推送因region=US无法注册成功)_龙港建业的博客-CSDN博客 to czy Xiaomi Push może zostać pomyślnie zarejestrowane, zależy od bieżącego regionu urządzenia.

Jak wspomniał autor postu z pierwszego linka. Kiedyś Android przedstawiał się krajem

2020-07-12 16:30:11 PM com.xiaomi.smarthome [Thread:4998] get region from system, region = FR

Teraz przedstawia się jako eea. Unia Europejska?

2020-07-14 19:35:45 PM com.xiaomi.smarthome [Thread:1437] get region from system, region = eea

I to jest jedyna różnica, którą autor zobaczył pomiędzy dwoma telefonami. W jednym działa w innym nie.
Czyżby EU to dla Chin tak odległy świat, że nie warto dla niego naprawić apki? :] Swoją drogą, zmieniałem region w Androidzie na CN - bez zmian.

O ile zmiana zmienia coś w logu, jak nie to jedynie pozwoli oszukać system aktualizacji MIUI/Androida (tricki z Szwajcarią by wcześniej pobierać aktualizację).

Sama zmiana regionu w ustawieniach Ci nie pomoże. Musi być on zmieniony w pliku /system/build.prop

Dzięki, tak przypuszczałem, że zmiana w ustawieniach nie wystarczy. Pozostają więc dwie opcje

  • root i zmiana w /system/build.prop raczej kiepski pomysł, bo inne aplikacje będą widziały niewłaściwy region
  • hack Xiaomi Home

Czyżby UE była zbyt mała, żeby się nią zainteresować ?:>

Może system nie jest dostosowany do 3 liter lub małych znaków.

Aby zmniejszyć awarię można sprawdzić zmianę na PL niż CN z eea jak masz podobnie. Niby 27^2 daje 729 kombinacji (nie do wykorzystania przez ponad 193 państwa świata).

Spróbuję na jakiejś wirtualce, bo obecnie nie mam pod ręką telefonu, na którym mógłbym się pobawić. No chyba że ktoś z was ma czas i chęć na sprawdzenie.

Piekło zamarzło, Xiaomi naprawiło ten problem, od dłuższego czasu powiadomienia działają bezbłędnie, czyli jak to w przypadku powiadomień, zazwyczaj dochodzą .

Ten temat został automatycznie zamknięty 30 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.