FOTA

Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

Jeśli instalacje masz dockerową, to musisz to tak wykonać

Kod: Zaznacz cały

source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e " \
INSERT INTO esp_update (id, device_id, device_name, platform, latest_software_version, fparam1, fparam2, protocols, host, port, path) VALUES \
(1, 0, 'gniazdko_neo', 1, '2.7.2', 2, 0, 1, 'krissg.ovh', 80, 'get_file.php?file=gniazdko_neo_user2.1024_DIO.new.2.bin'),\
(2, 0, 'gniazdko_neo', 1, '2.7.2', 2, 1, 1, 'krissg.ovh', 80, 'get_file.php?file=gniazdko_neo_user1.1024_DIO.new.2.bin');"
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

dzięki poszło
mam jeszcze pytanie jak wyjdzie nowsza wersja czy wtedy muszę wydać komendę z nową wersją, czy wystarczy tylko wrzucić na serwer nową kompilację ?
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

Możesz zrobić update wpisu w esp_update i zmienić tylko latest_software_version na aktualny.
Możesz również zrobić sobie wpis z wersją np. '2.7.3' zamiast '2.7.2' i wysyłać plik na serwer za każdym razem jak sobie skompilujesz i podpiszesz. Skutkowało to będzie tym, że gdy przestawisz w module, w trybie konfiguracyjnym FirmwareUpdate=YES , to po wyjściu z tego trybu dojdzie do sprawdzenia, i za każdym razem pobrania, zwalidowania i przełączenia bootowania z user1 na user2 lub odwrotnie.
Podsumowując wsady mają wersje '2.7.2' ale w tabeli esp_update opisane są jako '2.7.3'. Ja tak mam u siebie chwilowo do testów.
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

ok dzięki za pomoc jak cię dobrze zrozumiałem tak to ma wyglądać ?:

Kod: Zaznacz cały

source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e " \
INSERT INTO esp_update (latest_software_version) VALUES ('2.7.3');"
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

Niestety nie tak.

Sprawdzasz wpisy w tabeli esp_update

Kod: Zaznacz cały

source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e \
"SELECT * FROM esp_update"
na razie masz dwa wpisy o id=1 i id=2 więc w wyniku zapytania otrzymujesz

Kod: Zaznacz cały

id	device_id	device_name	platform	latest_software_version	fparam1	fparam2	protocols	host	port	path
1	0	gniazdko_neo	1	2.7.2	2	0	1	krissg.ovh	80	get_file.php?file=gniazdko_neo_user2.1024_DIO.new.2.bin
2	0	gniazdko_neo	1	2.7.2	2	1	1	krissg.ovh	80	get_file.php?file=gniazdko_neo_user1.1024_DIO.new.2.bin
szukasz interesującego cię wpisu który odnosi się do softu, który chcesz zaktualizować i wykonujesz update dla latest_software_version

Kod: Zaznacz cały

source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e \
"UPDATE esp_update set latest_software_version='2.7.3' WHERE id=1 or id=2"
sprawdzasz kontrolnie tabele esp_update czy update się udał, jeśli tak to powinieneś dostać taki wynik zapytania

Kod: Zaznacz cały

id	device_id	device_name	platform	latest_software_version	fparam1	fparam2	protocols	host	port	path
1	0	gniazdko_neo	1	2.7.3	2	0	1	krissg.ovh	80	get_file.php?file=gniazdko_neo_user2.1024_DIO.new.2.bin
2	0	gniazdko_neo	1	2.7.3	2	1	1	krissg.ovh	80	get_file.php?file=gniazdko_neo_user1.1024_DIO.new.2.bin
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

dzięki za pomoc przynajmniej się czegoś nauczyłem :)
to jeszcze ostatnie pytanie
niestety wykonałem komendę :

Kod: Zaznacz cały

source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e " \
INSERT INTO esp_update (latest_software_version) VALUES ('2.7.3');"
i mam teraz dodatkowo pozycję id=0

jak znalazłem w necie mogę wykorzystać funkcję DELETE ale mam problem ze składnią:

Kod: Zaznacz cały

 pi@raspberrypi:~ $ source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e "DELETE * FROM esp_update WHERE latest_software_update='2.7.3'"
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM esp_update WHERE latest_software_update='2.7.3'' at line 1

■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

kris.sg pisze: ndz lis 18, 2018 10:35 am dzięki za pomoc przynajmniej się czegoś nauczyłem :)
;)

Usuń sobie zatem ten rekord zawężając zapytanie klauzulą WHERE wskazując właściwe Id.
Id jest primary key dlatego nie usuniesz przypadkowych rekordów, a tylko ten wskazany.

Kod: Zaznacz cały

source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e \
"DELETE from esp_update WHERE id=0"
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

jak mogę się jeszcze zapytać czy da się podejrzeć logi bo zrobiłem wszystko zmieniłem wersję na 2.7.3 ale moduł się nie chce zaktualizować
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

Logi są w tabeli esp_update_log

Kod: Zaznacz cały

source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e \
"select * from esp_update_log"
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

ok dzięki sprawdziłem i u mnie wygląda to tak :

Kod: Zaznacz cały

pi@raspberrypi:~ $ source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e "select * from esp_update_log"
date    device_id       platform        fparam1 fparam2 fparam3 fparam4
2018-09-29 17:07:01     3       1       4       0       0       0
2018-10-20 10:25:41     19      1       2       0       0       0
2018-11-11 12:59:11     25      1       2       0       0       0
2018-11-17 12:04:22     25      1       2       0       0       0
2018-11-19 08:31:12     25      1       2       0       0       0
2018-11-19 11:11:15     25      1       2       0       0       0

w module na pewno ustawiłem fota na YES, kompilacje podpisane, i cisza moduł nic nie dostaje
sprawdziłem w przeglądarce pliki się pobierają

a tak to wygląda w bazie:

Kod: Zaznacz cały

pi@raspberrypi:~ $ source supla-docker/.env && docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e "SELECT * FROM esp_update"
id      device_id       device_name     platform        latest_software_version fparam1 fparam2 protocols       host    port    path
1       0       gniazdko_neo    1       2.7.3   2       0       1       krissg.ovh      80      update/gniazdko_neo_user2.1024_DIO.new.2.bin
2       0       gniazdko_neo    1       2.7.3   2       1       1       krissg.ovh      80      update/gniazdko_neo_user1.1024_DIO.new.2.bin

dodatkowo zmieniłem wpis w bazie device_id = 25 ale nie pomogło
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
ODPOWIEDZ

Wróć do „FAQ / Jak to zrobić”