tekka, first of all, thank you very much for your efforts and shared results on MYSController and MYSBootloader!
I am trying to upload new firmware to battery operated nodes via MYSController 1.0.0beta. But it seems that MYSController does not send an ST_FIRMWARE_CONFIG_RESPONSE message after the node has sent an I_PRE_SLEEP_NOTFICATION before its next smart sleeping. Thus no firmware packages are requested from the node using ST_FIRMWARE_REQUEST messages.
Uploading firmware to nodes that are not sleeping and powered by a power supply basically works. One limitation seems to be that the node has to be restarted while MYSController is connected to the gateway. My guess is that the ST_FIRMWARE_CONFIG_REQUEST message from the node must be received first by MYSController before the assign firmware selection inits a ST_FIRMWARE_CONFIG_RESPONSE message. If the nodes are not sleeping, this can easily be done using the request reboot function of MYSController. In the case of the battery-operated node, this reboot request is not transmitted on the next wake-up respectively pre sleep notification.
I also noticed another bug: After receiving the reboot messages from a node, it is always set as a Sensebender board.
My setup:
MySensors version: 2.3.2
Gateway: ESP8266 with RFM69HW
Nodes: Canique MK2 boards (Moteino clone) with Atmega328P, RFM69HW, 4mbit Winbond W25X40CLSNIG flash chip and DualOptiboot bootloader.
@tekka: I would like to have a look at the code of MYSController to understand the firmware OTA start problem and the wrong detection of the board and to fix it if necessary. Would you be interested in making your code available on GitHub, for example, so that MYSController is developed further together? Please don't bother with code cleaning in advance.