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

User avatar
Goral64
Posts: 3258
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie
Has thanked: 2 times
Been thanked: 1 time

Post

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):

Code: Select all

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');
Last edited by Goral64 on Sat Feb 06, 2021 2:29 pm, edited 9 times in total.
Widzimy się na Supla Offline Party Season 2026 :D

Image
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Code: Select all

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');
SUPLA.... Nareszcie w domu.
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Dodanie flagi po aktualizacji:

Code: Select all

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

Code: Select all

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 ;
SUPLA.... Nareszcie w domu.
User avatar
Goral64
Posts: 3258
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie
Has thanked: 2 times
Been thanked: 1 time

Post

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

Image
User avatar
Goral64
Posts: 3258
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie
Has thanked: 2 times
Been thanked: 1 time

Post

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

Image
MaciejK
Posts: 23
Joined: Wed Jun 24, 2020 3:47 pm

Post

Cześć,

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

Code: Select all

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

Code: Select all

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

Code: Select all

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

Code: Select all

`id` int(11) NOT NULL AUTO_INCREMENT
MaciejK
Posts: 23
Joined: Wed Jun 24, 2020 3:47 pm

Post

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.
User avatar
Mirosław F.
Posts: 2248
Joined: Tue Aug 22, 2017 8:09 pm
Location: Pszczyna - ZAMEL
Has thanked: 1 time
Been thanked: 22 times

Post

Poczekaj 30 minut i też się pojawi.
43-200 Pszczyna
ul. Zielona 27
Wsparcie techniczne: 32 211-35-55
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Na prywatnych instancjach samo
się nie pojawi. Trzeba dodać flagę ręcznie.
SUPLA.... Nareszcie w domu.
MaciejK
Posts: 23
Joined: Wed Jun 24, 2020 3:47 pm

Post

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

Return to “Gotowy sprzęt”