slacky1965 / watermeter_zed

Watermeter ZigBee TLSR8258
Apache License 2.0
60 stars 14 forks source link

Добавить zigbee_ota.py #1

Closed pvvx closed 11 months ago

pvvx commented 11 months ago

Добавить zigbee_ota.py Удалить tl_check_fw2.exe -> https://github.com/pvvx/ZigbeeTLc/blob/master/make/tl_check_fw.py

Учесть, что TL_ZB_TIMER_SCHEDULE(app_reportXXXAttrTimerCb,...) назначает только один таймер с id равной адресу процедуры. А в цикле происходит переназначение... В итоге отрабатывает только один report, когда активность многих...

slacky1965 commented 11 months ago

make_ota.py добавлен, просто не закоммичен. tl_check_fw2.exe не используется, просто лежит.

pvvx commented 11 months ago

По поводу пересечения версий для OTA для публикации. Пока, известные мне номера: https://github.com/pvvx/ZigbeeTLc/blob/master/src/common/comm_cfg.h#L71

/* Board ID */
//#define BOARD_LYWSD03MMC_B14      0 // number used for BLE firmware
#define BOARD_MHO_C401              1
#define BOARD_CGG1                  2
//#define BOARD_LYWSD03MMC_B19      3 // number used for BLE firmware
//#define BOARD_LYWSD03MMC_DEVBIS   3 // ver https://github.com/devbis/z03mmc
//#define BOARD_LYWSD03MMC_B16      4 // number used for BLE firmware
#define BOARD_WATERMETER            4 // ver https://github.com/slacky1965/watermeter_zed 
//#define BOARD_LYWSD03MMC_B17      5 // number used for BLE firmware
#define BOARD_CGDK2                 6
#define BOARD_CGG1N                 7 // 2022
#define BOARD_MHO_C401N             8 // 2022
#define BOARD_MJWSD05MMC            9
//#define BOARD_LYWSD03MMC_B15      10 // number used for BLE firmware
#define BOARD_LYWSD03MMC            10
#define BOARD_MHO_C122              11
// 13..15 - number used for BLE firmware - https://github.com/pvvx/ATC_MiThermometer
#define BOARD_TNK                   16 // Water tank controller (not yet published at the moment)
#define BOARD_TS0201_TZ3000         17
#define BOARD_TS0202_TZ3000         18 // ?
// 19.. not yet appointed

/* Board define */
#ifndef BOARD
#define BOARD BOARD_WATERMETER      
#endif
/* Chip IDs */
#define CHIP_TYPE_8267                          0x00
#define CHIP_TYPE_8269                          0x01
#define CHIP_TYPE_8258                          0x02
#define CHIP_TYPE_8258_1M                       0x03
#define CHIP_TYPE_8278                          0x04
#define CHIP_TYPE_B91                           0x05

#define MANUFACTURER_CODE_TELINK            0x1141 // Telink ID

#define CHIP_TYPE CHIP_TYPE_8258

#define IMAGE_TYPE          ((CHIP_TYPE << 8) | DEVICE_TYPE)
#define FILE_VERSION        ((APP_RELEASE << 24) | (APP_BUILD << 16) | (STACK_RELEASE << 8) | STACK_BUILD)
slacky1965 commented 11 months ago

Нужно поменять? Я в принципе не вижу проблемы. Но я ее могу не видеть ...

pvvx commented 11 months ago

Нет - не нужно, т.к. совпал с неиспользуемым BOARD_LYWSD03MMC_B17 и переименован в BOARD_WATERMETER (используется только в BLE и не конфликтует)

pvvx commented 11 months ago

Но я ее могу не видеть ...

Произойдет автоматическое обновление у всех пользователей z2m/zha/... после публикации в списки прошивок zigbee Пример: https://github.com/Koenkk/zigbee-OTA/blob/master/index.json#L2965 https://github.com/Koenkk/zigbee-OTA/blob/master/index.json#L1615

https://github.com/Koenkk/zigbee-OTA/pull/395

slacky1965 commented 11 months ago

А-а-а, понял. Но я не стремлюсь попасть в общую базу z2m, меня там нет. Так что вряд ли что-то обновится автоматически ...

pvvx commented 11 months ago

Если не озаботится с номерками, тогда ваш watermeter_zed обновится чем-то другим, если включите обновление :)

slacky1965 commented 11 months ago

Но тогда получается бардак, нет согласования этих номеров. Я просто взял пример из SDK и посмотрел, как там. Там 0xFF зарезервирован за bootloader'ом и от 0x00 до 0x03 за примерами из SDK. Ну я взял просто следующий свободный 0x04. Также может поступить еще кто-то. Странно ...

pvvx commented 11 months ago

Я и пытаюсь согласовать со всеми, кто лепит под Telink ID. Но там уже валяется прошивка "https://images.tuyaeu.com/smart/firmware/upgrade/20220907/1662545193-oem_zg_tl8258_plug_OTA_3.0.0.bin", которая постоянно закидывается в директорию для обновления ZHA...

slacky1965 commented 11 months ago

Тогда может быть взять какой-то неиспользуемый ID, не от Телинка?

pvvx commented 11 months ago

Ни кто не сможет выложить в базу под вашим номером, если вы сами зарегистрируете там свою прошивку. Кто первый застолбил, того и тапки... :)

pvvx commented 8 months ago

Можно взять ваш конвертер для z2m для прикручивания к https://pvvx.github.io/TS0201_TZ3000/ https://pvvx.github.io/DS01_zbeacon/ https://pvvx.github.io/TS0202_TZ3000/ и т.д.? То есть тоже будут считать с двух выводов, плюс остальные функции типа: температуры/влажности/детектора движения и т.д. На всех таких устройствах, с модулем ZTU, есть выводы и обычно маркированы RX TX или есть позиции под разъем...

slacky1965 commented 8 months ago

Все же в открытом доступе. Конечно можно :)

pvvx commented 8 months ago

П.платки то кто продает? https://www.youtube.com/watch?v=cmuMv41pFuY А у Tuya все уже готовое...