Aktualizacja modułów ZAMEL - własny serwer cloud

Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Pisze nowy temat, gdyż jako posiadacz własnego serwer cloud oraz modułów ZAMEL chciałbym mieć aktualizacje tych modułów jak tylko będą dostępne aktualizacje na publicznym cloudzie.
Aby to było możliwe proszę @pzygmunt aby wstawiał tutaj aktualne wersje dla modułów oraz INSERTY do tabeli esp_update z danymi do ich aktualizacji.
Proszę też o info jak ustawić flagę dla kanału informacyjnego w nowym oprogramowaniu 2.7.24 aby nie trzeba było usuwać i dodawać ponownie modułu po jego aktualizacji.

Skrypt aktualizujący lokalną bazę do najnowszych wersji firmware ZAMEL-a (zgodnie z wersjami w Moduły ZAMEL - wersje firmware):

Kod: Zaznacz cały

DELETE FROM esp_update WHERE device_name LIKE 'ZAMEL%';

INSERT INTO esp_update (device_id, device_name, platform, latest_software_version, fparam1, fparam2, protocols, host, port, path) VALUES
('0', 'ZAMEL LIW-01', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_liw_01_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL LIW-01', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_liw_01_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL MEW-01', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_mew_01_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL MEW-01', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_mew_01_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL PNW-01', '1', '2.7.25', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_pnw_01_2725_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL PNW-01', '1', '2.7.25', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_pnw_01_2725_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL ROW-01', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_row_01_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL ROW-01', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_row_01_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL ROW-02', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_row_02_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL ROW-02', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_row_02_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL ROW-04', '1', '2.7.25', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_row_04m_2725_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL ROW-04', '1', '2.7.25', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_row_04m_2725_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL ROW-04m', '1', '2.7.25', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_row_04m_2725_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL ROW-04m', '1', '2.7.25', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_row_04m_2725_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL SBW-01', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_sbw_01_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL SBW-01', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_sbw_01_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL SBW-02', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_sbw_02_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL SBW-02', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_sbw_02_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL SLW-01', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_slw_01_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL SLW-01', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_slw_01_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL SLW-02', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_slw_02_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL SLW-02', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_slw_02_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL SRW-01', '1', '2.7.24', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_srw_01_2724_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL SRW-01', '1', '2.7.24', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_srw_01_2724_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL SRW-02', '1', '2.7.25', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_srw_02m_2725_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL SRW-02', '1', '2.7.25', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_srw_02m_2725_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL SRW-02m', '1', '2.7.25', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_srw_02m_2725_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL SRW-02m', '1', '2.7.25', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_srw_02m_2725_user1.2048_DIO.new.5.bin'),
('0', 'ZAMEL SRW-03', '1', '2.7.3', '5', '0', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_srw_03_user2.2048_DIO.new.5.bin'),
('0', 'ZAMEL SRW-03', '1', '2.7.3', '5', '1', '1', 'www.acsoftware.pl', '80', 'support/get_esp_firmware.php?file=zam_srw_03_user1.2048_DIO.new.5.bin');
Ostatnio zmieniony sob lut 06, 2021 2:29 pm przez Goral64, łącznie zmieniany 9 razy.
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
pzygmunt
Posty: 18280
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Kod: Zaznacz cały

DELETE FROM `esp_update` WHERE `device_name` LIKE '%ZAMEL';

INSERT INTO `esp_update` (`device_id`, `device_name`, `platform`, `latest_software_version`, `fparam1`, `fparam2`, `protocols`, `host`, `port`, `path`) VALUES
(0, 'ZAMEL SLW-01', 1, '2.5.5', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_slw_01_user2.2048.new.5.bin'),
(0, 'ZAMEL SLW-01', 1, '2.5.5', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_slw_01_user1.2048.new.5.bin'),
(0, 'ZAMEL SRW-03', 1, '2.7.3', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_srw_03_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL SRW-03', 1, '2.7.3', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_srw_03_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL SRW-02m', 1, '2.7.8', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_srw_02_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL SRW-02m', 1, '2.7.8', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_srw_02_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL SRW-02', 1, '2.7.5', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_srw_02_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL SRW-02', 1, '2.7.5', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_srw_02_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL LIW-01', 1, '2.7.17', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_liw_01_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL LIW-01', 1, '2.7.17', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_liw_01_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL MEW-01', 1, '2.7.17', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_mew_01_balanced_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL MEW-01', 1, '2.7.17', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_mew_01_balanced_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL ROW-04', 1, '2.7.22', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_row_04m_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL ROW-04', 1, '2.7.22', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_row_04m_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL ROW-04m', 1, '2.7.22', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_row_04m_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL ROW-04m', 1, '2.7.22', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_row_04m_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL SRW-01', 1, '2.7.24', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_srw_01_2724_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL SRW-01', 1, '2.7.24', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_srw_01_2724_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL SBW-01', 1, '2.7.24', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_sbw_01_2724_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL SBW-01', 1, '2.7.24', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_sbw_01_2724_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL SBW-02', 1, '2.7.24', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_sbw_02_2724_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL SBW-02', 1, '2.7.24', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_sbw_02_2724_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL ROW-02', 1, '2.7.24', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_row_02_2724_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL ROW-02', 1, '2.7.24', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_row_02_2724_user1.2048_DIO.new.5.bin'),
(0, 'ZAMEL ROW-01', 1, '2.7.24', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_row_01_2724_user2.2048_DIO.new.5.bin'),
(0, 'ZAMEL ROW-01', 1, '2.7.24', 5, 1, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_row_01_2724_user1.2048_DIO.new.5.bin');
Awatar użytkownika
pzygmunt
Posty: 18280
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Dodanie flagi po aktualizacji:

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%' 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;
jeśli brak funkcji version_to_int

Kod: Zaznacz cały

DELIMITER $$
CREATE DEFINER=`supla`@`localhost` FUNCTION `version_to_int`(`version` VARCHAR(20)) RETURNS int(11)
    NO SQL
BEGIN
DECLARE result INT DEFAULT 0;
DECLARE n INT DEFAULT 0;
DECLARE m INT DEFAULT 0;
DECLARE dot_count INT DEFAULT 0;
DECLARE last_dot_pos INT DEFAULT 0;
DECLARE c VARCHAR(1);

WHILE n < LENGTH(version) DO
    SET n = n+1;
    SET c = SUBSTRING(version, n, 1);
    
    IF c <> '.' AND ( ASCII(c) < 48 OR ASCII(c) > 57 )
      THEN 
         SET result = 0;
         RETURN 0;
      END IF; 
      
    
   IF c = '.' THEN
     SET dot_count = dot_count+1;
     IF dot_count > 2 THEN 
        SET result = 0;
        RETURN 0;
     END IF;
   END IF;

   IF c = '.' OR n = LENGTH(version) THEN

      SET m = n-last_dot_pos-1;
      
      IF c <> '.' THEN
        SET m = n-last_dot_pos;
        SET dot_count = dot_count+1;
      END IF;
      
          SET result = result + POWER(10, 9-dot_count*3) * SUBSTRING(version, last_dot_pos+1, m);
      
      SET last_dot_pos = n;
   END IF;
      
END WHILE;
RETURN result;
END$$
DELIMITER ;
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Wszystko działa jak należy.
Czekam na resztę aktualizacji :)
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Zaktualizowałem w pierwszym poście skrypt aktualizujący dane o najnowszych wersjach na lokalnym serwerze.
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
MaciejK
Posty: 23
Rejestracja: śr cze 24, 2020 3:47 pm

Cześć,

Tabela esp_update ma primary key na kolumnę ID która nie ma ustawionego auto_increment. SQL powyżej zaproponowany rzuca błędem:

Kod: Zaznacz cały

ERROR 1062 (23000) at line 4: Duplicate entry '0' for key 'PRIMARY

Żeby to poszło trzeba jeszcze podać unikalne ID dla każdego wiersza czyli

Kod: Zaznacz cały

INSERT INTO `esp_update` (`id`,`device_id`, `device_name`, `platform`, `latest_software_version`, `fparam1`, `fparam2`, `protocols`, `host`, `port`, `path`) VALUES
(0,0, 'ZAMEL SLW-01', 1, '2.5.5', 5, 0, 1, 'www.acsoftware.pl', 80, 'support/get_esp_firmware.php?file=zam_slw_01_user2.2048.new.5.bin'),
[...]

Albo dodać AUTO_INCREMENT przy definicji tabeli bo teraz jest

Kod: Zaznacz cały

`id` int(11) NOT NULL 
a lepiej by chyba działało

Kod: Zaznacz cały

`id` int(11) NOT NULL AUTO_INCREMENT
MaciejK
Posty: 23
Rejestracja: śr cze 24, 2020 3:47 pm

No dobra, to jeszcze jeden problem. Brak ikony info po aktualizacji w aplikacji na tel.
Mam dwa ROW-04 - jeden nowy, z wersją softu fabrycznie 2.7.22 i drugi stary ale zaktualizowany także do 2.7.22. Czyli oba mają tą samą wersję. Ikona Info pojawa się tylko w tym nowo dodanym, na tym starszym brak.
Awatar użytkownika
Mirosław F.
Posty: 1780
Rejestracja: wt sie 22, 2017 8:09 pm
Lokalizacja: Pszczyna - ZAMEL

Poczekaj 30 minut i też się pojawi.
43-200 Pszczyna
ul. Zielona 27
Wsparcie techniczne: 32 211-35-55
Awatar użytkownika
pzygmunt
Posty: 18280
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Na prywatnych instancjach samo
się nie pojawi. Trzeba dodać flagę ręcznie.
MaciejK
Posty: 23
Rejestracja: śr cze 24, 2020 3:47 pm

Chyba znalazłem, z jakiegoś powodu nie zadziałał update na supla_dev_channel. To znaczy wykonał się bez błędu ale nie ustawił prawidłowych wartości w kolumnie flags. Przestawiłem dla interesującego mnie ROW-04 oraz MEW-01 na 65536 i działa. Ikonka się pojawiała i wyświetla info
Zablokowany

Wróć do „Gotowy sprzęt”