Ikona "i" info

Awatar użytkownika
paco52327
Posty: 84
Rejestracja: wt kwie 02, 2019 12:57 pm

Ostatnio dodałem do serwera lokalnego nowy srw-01 i w aplikacji na androida pojawiła się ikonka litera i w kółku, fajny fjuczer pokazuję info o nr. kanału, IP, MAC, RSSI, siła sygnału, czas pracy, połączenia jednak tylko w tym nowo dodanym reszta 7szt. już nie.
Supla serwer 2.3.27
Załączniki
Screenshot_2021-04-27-11-44-28-191_org.supla.android.jpg
Screenshot_2021-04-27-11-44-28-191_org.supla.android.jpg (151.08 KiB) Przejrzano 1668 razy
Awatar użytkownika
paco52327
Posty: 84
Rejestracja: wt kwie 02, 2019 12:57 pm

No tak nie napisałem, że wszystkie srw są w tej samej wersji 2.7.24
Załączniki
Zrzut ekranu (69).png
Zrzut ekranu (69).png (86.48 KiB) Przejrzano 1652 razy
Awatar użytkownika
pzygmunt
Posty: 18207
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Własny serwer czy publiczny ? Jak publiczny to musisz zaczekać ~30 min po aktualizacji.
Jak własny to trzeba odpalić polecenie sql:

Kod: Zaznacz cały

UPDATE supla_dev_channel LEFT JOIN ( SELECT d.id FROM supla_iodevice d LEFT JOIN supla_dev_channel c ON c.iodevice_id = d.id WHERE (d.name LIKE 'ZAMEL%' OR d.name LIKE 'NICE%') AND version_to_int(d.software_version) >= 2007024 AND IFNULL((c.flags & 0x10000),0) = 0 ) x ON x.id = iodevice_id SET flags = IFNULL(flags,0) | 0x10000 WHERE x.id IS NOT NULL;
Awatar użytkownika
paco52327
Posty: 84
Rejestracja: wt kwie 02, 2019 12:57 pm

Dzięki, mam dockerową wersję trochę to zajmie zanim się sprawdzę :oops:
Awatar użytkownika
Goral64
Posty: 3129
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

paco52327 pisze: wt kwie 27, 2021 10:20 am Dzięki, mam dockerową wersję trochę to zajmie zanim się sprawdzę :oops:
A co to ma do rzeczy?
Wejdź do katalogu w którym masz dockerową Suplę a następnie uruchom bardziej rozszerzone polecenie:

Kod: Zaznacz cały

source ./.env; docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e "UPDATE supla_dev_channel LEFT JOIN ( SELECT d.id FROM supla_iodevice d LEFT JOIN supla_dev_channel c ON c.iodevice_id = d.id WHERE (d.name LIKE 'ZAMEL%' OR d.name LIKE 'NICE%') AND version_to_int(d.software_version) >= 2007024 AND IFNULL((c.flags & 0x10000),0) = 0 ) x ON x.id = iodevice_id SET flags = IFNULL(flags,0) | 0x10000 WHERE x.id IS NOT NULL;"
I tyle, za chwilę będziesz miał ikonki (i).
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
paco52327
Posty: 84
Rejestracja: wt kwie 02, 2019 12:57 pm

Zajmie bo prócz tego że mam suplę na dockerze nie operowałem wewnątrz instancji, ale widzę że to łatwe. W katalogu supla-docker:

Kod: Zaznacz cały

/supla-docker# source ./.env; docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e "UPDATE supla_dev_channel LEFT JOIN ( SELECT d.id FROM supla_iodevice d LEFT JOIN supla_dev_channel c ON c.iodevice_id = d.id WHERE (d.name LIKE 'ZAMEL%' OR d.name LIKE 'NICE%') AND version_to_int(d.software_version) >= 2007024 AND IFNULL((c.flags & 0x10000),0) = 0 ) x ON x.id = iodevice_id SET flags = IFNULL(flags,0) | 0x10000 WHERE x.id IS NOT NULL;"
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1305 (42000) at line 1: FUNCTION supla.version_to_int does not exist
 
Awatar użytkownika
pzygmunt
Posty: 18207
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Brakuje Ci jednej z funkcji. Jeśli wszystkie moduły mają wersję 2.7.24 to możesz uprościć to zapytanie:

Kod: Zaznacz cały

/supla-docker# source ./.env; docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e "UPDATE supla_dev_channel LEFT JOIN ( SELECT d.id FROM supla_iodevice d LEFT JOIN supla_dev_channel c ON c.iodevice_id = d.id WHERE (d.name LIKE 'ZAMEL%' OR d.name LIKE 'NICE%') AND d.software_version = '2724' AND IFNULL((c.flags & 0x10000),0) = 0 ) x ON x.id = iodevice_id SET flags = IFNULL(flags,0) | 0x10000 WHERE x.id IS NOT NULL;"
Awatar użytkownika
paco52327
Posty: 84
Rejestracja: wt kwie 02, 2019 12:57 pm

Wykonało się bez błędu z ostrzeżeniem o hasło, nie pomogło. Jak naprawić brak tej funkcji, sam serwer był kilka razy update'owany, pobrać od nowa i odzyskać bazę może tak będzie szybciej to rozwiązać?
Awatar użytkownika
pzygmunt
Posty: 18207
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Ta funkcja nie jest publicznie dostępna. Będzie Ci ją cieżko dodać z command line-a.
Pomyliłem się w powyższym przykładzie. Teraz powinno być ok.

Kod: Zaznacz cały

/supla-docker# source ./.env; docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e "UPDATE supla_dev_channel LEFT JOIN ( SELECT d.id FROM supla_iodevice d LEFT JOIN supla_dev_channel c ON c.iodevice_id = d.id WHERE (d.name LIKE 'ZAMEL%' OR d.name LIKE 'NICE%') AND d.software_version = '2.7.24' AND IFNULL((c.flags & 0x10000),0) = 0 ) x ON x.id = iodevice_id SET flags = IFNULL(flags,0) | 0x10000 WHERE x.id IS NOT NULL;"
ODPOWIEDZ

Wróć do „Android”