Navigation

    • Register
    • Login
    • Search
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. tekka
    3. Best
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Best posts made by tekka

    • MySensors 2.3.2 released

      Yet another early holiday gift, MySensors 2.3.2 has finally been released!

      Highlights

      • Add support for RPI4
      • Transport and crypto HAL update
      • Rename "soft ack" to echo
      • Add log parser
      • RF24 improvements

      ...and many other bug fixes and tweaks

      Release notes and changelog: https://github.com/mysensors/MySensors/releases/tag/2.3.2

      Important information:

      If you encounter compilation issues, update your board definitions:

      • AVR 1.8.2
      • ESP8266 2.6.2
      • ESP32 1.0.4
      • SAMD 1.8.4
      • nRF5 0.6.0 (Sandeep Mistry)
      • STM32F1 2019.12.8 (stm32duino)

      Special thanks to the following people who have contributed code to this release:

      • Alfredo
      • desander
      • hannesweisbach
      • ltigges
      • Mikael Falkvidd
      • Patrick Fallberg
      • pragtich
      • Rik Jansen
      • tekka
      • Yveaux

      ...and a little teaser: 2.4 will come with a set of new features some of you have been waiting for... stay tuned 🙂

      posted in Announcements
      tekka
      tekka
    • Windows GUI/Controller for MySensors

      Hi all,

      I've been working on this project since some time, basically it's a GUI for controlling/updating/debugging a network of MySensors nodes. OTA functionality is supported via MYSBootloader - read posts for further instructions/troubleshooting or PM.

      link updated: MYSController Version 1.0.0.3316 released

      New features:

      • support OTA FW update Sensebender board
      • metric/imperial system I_CONFIG
      • save nodes

      Update via update button in MYSController or download here.

      MYSController_0_1_2_282.png

      posted in Controllers
      tekka
      tekka
    • MySensors 2.1.0 Released

      🌟 We are happy to announce the release of MySensors 2.1.0! 📢

      Major changes:

      • Bug fixes and lots of improvements under the hood
      • Added support for Raspberry Pi
      • New transport layer: RFM95 (LoRa mode)
      • Improved transport layer debug messages, see here.

      For additional release notes, see here.
      Documentation can be found here.

      🎉 Happy New Year 2017! Have lots of fun and stay tuned for new features coming... 😄

      posted in Announcements
      tekka
      tekka
    • Something's cooking in the MySensors labs...

      20200501_181009.jpg

      Sensbender, Janus, and HALO - they all support multiple RF modules, but the MySensors framework doesn't...until now 🙂

      Example of a dualRF Sensebender serial gateway configuration - as simple as that:

      #define MY_GATEWAY_SERIAL
      
      #define MY_RADIO_RF24
      #define MY_RADIO_RFM69
      #define MY_RFM69_NEW_DRIVER // required for multitransport
      
      // optional (but recommended)
      #define MY_RF24_USE_INTERRUPTS
      

      Some of the new features:

      • multiple transports with RX queue
      • GW does radio-specific routing, however, the network is still limited to 254 nodes
      • RFM95 radio driver can run in RFM69 compatibility mode

      This is still WIP (and will be for a while) but you can already get your hands dirty and test the PR.

      Kudos to @scalz (Janus and HALO) and @tbowmo (Sensebender) for their cool boards!

      Have fun!

      https://github.com/mysensors/MySensors/pull/1414

      tekka007 created this issue in mysensors/MySensors

      open Multitransport implementation #1414

      posted in Announcements
      tekka
      tekka
    • MYSBootloader 1.3 pre-release & MYSController 1.0.0beta

      Hi all,
      Here is the first public pre-release of MYSBootloader 1.3 together with MYSController 1.0.0beta for testing purposes.

      Download here. Thanks for your feedback.

      MYSBootloader 1.3pre (1.3NS)

      • requires dev branch 2.0.0 (lib 1.5 not tested)
      • supports OTA FW AND serial FW updates
      • no external flash needed for OTA FW updates (thus, offline update)
      • bootloader commands (clear eeprom, re-assign ID, re-assign parent ID)
      • communicates via assigned parent node (if found)
      • 2kb bootloader size
      • source code will be published to repo once final

      upcoming bootloader release (1.3S):

      • secure bootloader (singing and locking feature)
      • 4kb bootloader size

      Attached bootloader file, compiled with these settings:

      • nRF24 (Channel 76, base address 0xA8A8E1FC00, data rate 250kbs)
      • 115200 baud (16Mhz) or 57600 (8Mhz)

      MYSBootloader 1.0.0beta

      • requires dev branch 2.0.0 (lib 1.5 not tested)
      • RX only mode
      • GW mode: Relay traffic to server socket
      • I_VERSION handling
      • I_DISCOVER
      • add node & sensor ID
      • node persistence
      • lots of improvements

      Flashing MYSBootloader using Arduino IDE and USBasp:

      1. Add these lines to the boards.txt file in your Arduino IDE installation folder

      ######## settings for ext XTAL 16Mhz, EESAVE, BOD1V8, no lock
      proMYSBL16.name=ATmega328 external 16Mhz with MYSBootloader
      proMYSBL16.upload.tool=avrdude
      proMYSBL16.upload.protocol=arduino
      proMYSBL16.upload.maximum_size=30720
      proMYSBL16.upload.maximum_data_size=2048
      proMYSBL16.upload.speed=115200
      proMYSBL16.bootloader.tool=avrdude
      proMYSBL16.bootloader.low_fuses=0xFF
      proMYSBL16.bootloader.high_fuses=0xD2
      proMYSBL16.bootloader.extended_fuses=0x06
      proMYSBL16.bootloader.unlock_bits=0x3F
      proMYSBL16.bootloader.lock_bits=0x3F
      proMYSBL16.bootloader.file=MySensors/MYSBootloaderV13pre.hex
      proMYSBL16.build.mcu=atmega328p
      proMYSBL16.build.f_cpu=16000000L
      proMYSBL16.build.board=AVR_UNO
      proMYSBL16.build.core=arduino
      proMYSBL16.build.variant=standard

      ######## settings for 8Mhz internal clock, EESAVE, BOD1V8, no lock
      proMYSBL8.name=ATmega328 internal 8Mhz with MYSBootloader
      proMYSBL8.upload.tool=avrdude
      proMYSBL8.upload.protocol=arduino
      proMYSBL8.upload.maximum_size=30720
      proMYSBL8.upload.maximum_data_size=2048
      proMYSBL8.upload.speed=57600
      proMYSBL8.bootloader.tool=avrdude
      proMYSBL8.bootloader.low_fuses=0xE2
      proMYSBL8.bootloader.high_fuses=0xD2
      proMYSBL8.bootloader.extended_fuses=0x06
      proMYSBL8.bootloader.unlock_bits=0x3F
      proMYSBL8.bootloader.lock_bits=0x3F
      proMYSBL8.bootloader.file=MySensors/MYSBootloaderV13pre.hex
      proMYSBL8.build.mcu=atmega328p
      proMYSBL8.build.f_cpu=8000000L
      proMYSBL8.build.board=AVR_UNO
      proMYSBL8.build.core=arduino
      proMYSBL8.build.variant=standard

      1. Copy MYSBootloaderV13pre.hex (from MYSController/Bootloader folder) to the [Arduino IDE installation folder]/hardware/arduino/avr/bootloaders/MySensors/
      2. Restart Arduino IDE, choose under Tools | Board | ATmega328 external 16Mhz with MYSBootloader or Tools | Board | ATmega328 internal 8Mhz with MYSBootloader depending on your HW settings
      3. Connect USBasp to sensor node and select Tools | Programmer | USBasp and hit "Burn Bootloader"

      Please use the AVR fuse calculator to retrieve the individual fuse settings. If you need to change frequency, BOD or other settings, change the fuse settings based on the fuse calculator.

      OTA FW updates using MYSController:

      1. Start MYSController, hit config and adjust settings (COM-Port & baud or IP address:port)
      2. Hit connect: Connection to gateway should be established (gateway answers with gateway ready message), the node should appear and request an ID & FW.
      3. Right-mouse click on that node, select assign FW, choose for example TimeReporter (demo firmware included in the MYSController/Firmware folder). Then click reboot and wait until FW is uploaded and node boots.
        TimeReporter firmware reports every few seconds some values such as time, millis, and voltage.

      Custom firmware: compile your sketch and retrieve the generated .hex file (activate verbose mode in the Arduino IDE to get compiler messages and output path).

      Copy .hex file to MYSController/Firmware folder and edit firmware_config.csv file according to the existing lines.

      Hit "Refresh Repo" in MYSController and the newly copied firmware should appear in the Assign FW dropdown list, ready to be uploaded.

      posted in Development
      tekka
      tekka
    • New nRF24 driver in MySensors 2.0.0

      MySensors 2.0.0 will feature a refactored nRF24 driver having:

      • reduced code size (-2kb)
      • two-fold speed increase (processing)
      • fewer register writing/polling
      • fully defined init state
      • SPI transactions

      Please feel free to test MySensors 2.0.0-beta and provide feedback if you encounter any issues.

      posted in Announcements
      tekka
      tekka
    • Introducing MySensors on nRF24LE1

      First impression of MySensors running on nRF24LE1. Reporting temperature / humidity from DHT22, VCC voltage and millis() timer.

      This SoC has many interesting features (SPI, 2-Wire, Serial, GPIO, ADC, RNG, AES accelerator, etc. ) and sub uA sleeping modes - without the need to solder a RF module. However, flash size limited to 16kB - still more than enough for many (peripheral) sensors... 🙂

      20150810_nRF24LE1_DHT22.jpg

      Readings in MYSController:

      20150810_nRF24LE1.png

      Compiling with SDCC and nRF24LE1 SDK.
      Source (Proof of concept/POC, non-optimized) here.

      posted in My Project
      tekka
      tekka
    • MYSBootloader 1.3pre2 testing

      Hi all,
      Here is the second pre-release of MYSBootloader 1.3 for testing purposes.

      Download here. Thanks for your feedback.

      MYSBootloader 1.3pre2 (1.3NS)

      • requires MySensors 2.0.x
      • supports OTA FW AND serial FW updates
      • no external flash needed for OTA FW updates (thus, offline update)
      • communicates via assigned parent node (if found)
      • 2kb bootloader size
      • bootloader commands removed (size constraints, STK500 code instead)
      • nRF24 (Channel 76, base address 0xA8A8E1FC00, data rate 250kbs)
      • serial uploads: 115200 baud (16Mhz), 38400 (8Mhz) or 9600 (1Mhz)

      Using Arduino IDE 1.6.12:

      Add these lines (or copy from included add_to_boards.txt file) to the boards.txt file in your Arduino IDE installation folder:

      
      ##############################################################
      
      MYSBL13.name=ATmega328 with MYSBootloader
      
      MYSBL13.upload.tool=avrdude
      MYSBL13.upload.protocol=arduino
      
      MYSBL13.bootloader.tool=avrdude
      MYSBL13.bootloader.unlock_bits=0x3F
      MYSBL13.bootloader.lock_bits=0x0F
      
      MYSBL13.build.mcu=atmega328p
      MYSBL13.build.board=AVR_PRO
      MYSBL13.build.core=arduino
      MYSBL13.build.variant=standard
      
      ## Arduino with MYSBootloader 1.3pre
      ## -------------------------------------------------
      MYSBL13.menu.cpu.16MHzatmega328=ATmega328 16MHz (XTAL, BOD1V8)
      MYSBL13.menu.cpu.16MHzatmega328.upload.maximum_size=30720
      MYSBL13.menu.cpu.16MHzatmega328.upload.maximum_data_size=2048
      MYSBL13.menu.cpu.16MHzatmega328.upload.speed=115200
      MYSBL13.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF
      MYSBL13.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xDA
      MYSBL13.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0x06
      MYSBL13.menu.cpu.16MHzatmega328.bootloader.file=MYSBootloader/MYSBL13pre_atmega328_16Mhz.hex
      MYSBL13.menu.cpu.16MHzatmega328.build.mcu=atmega328p
      MYSBL13.menu.cpu.16MHzatmega328.build.f_cpu=16000000L
      
      MYSBL13.menu.cpu.8MHzatmega328=ATmega328 8MHz (RC, BOD1V8)
      MYSBL13.menu.cpu.8MHzatmega328.upload.maximum_size=30720
      MYSBL13.menu.cpu.8MHzatmega328.upload.maximum_data_size=2048
      MYSBL13.menu.cpu.8MHzatmega328.upload.speed=38400
      MYSBL13.menu.cpu.8MHzatmega328.bootloader.low_fuses=0xE2
      MYSBL13.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xDA
      MYSBL13.menu.cpu.8MHzatmega328.bootloader.extended_fuses=0x06
      MYSBL13.menu.cpu.8MHzatmega328.bootloader.file=MYSBootloader/MYSBL13pre_atmega328_8Mhz.hex
      MYSBL13.menu.cpu.8MHzatmega328.build.mcu=atmega328p
      MYSBL13.menu.cpu.8MHzatmega328.build.f_cpu=8000000L
      
      MYSBL13.menu.cpu.1MHzatmega328=ATmega328 1MHz (RC/8, BOD1V8)
      MYSBL13.menu.cpu.1MHzatmega328.upload.maximum_size=30720
      MYSBL13.menu.cpu.1MHzatmega328.upload.maximum_data_size=2048
      MYSBL13.menu.cpu.1MHzatmega328.upload.speed=9600
      MYSBL13.menu.cpu.1MHzatmega328.bootloader.low_fuses=0x62
      MYSBL13.menu.cpu.1MHzatmega328.bootloader.high_fuses=0xDA
      MYSBL13.menu.cpu.1MHzatmega328.bootloader.extended_fuses=0x06
      MYSBL13.menu.cpu.1MHzatmega328.bootloader.file=MYSBootloader/MYSBL13pre_atmega328_1Mhz.hex
      MYSBL13.menu.cpu.1MHzatmega328.build.mcu=atmega328p
      MYSBL13.menu.cpu.1MHzatmega328.build.f_cpu=1000000L
      
      ##############################################################
      

      Please read this excellent guide written by @scalz about MySensors OTA programming.

      In brief:

      Copy bootloader *.hex files (from Bootloader folder) to the [Arduino IDE installation folder]/hardware/arduino/avr/bootloaders/MYSBootloader/

      Restart Arduino IDE, choose under Tools | Board | ATmega328 with MYSBootloader |, select correct board under Processor tab. Connect USBasp to sensor node and select Tools | Programmer | USBasp and hit "Burn Bootloader"
      Please use the AVR fuse calculator to retrieve the individual fuse settings. If you need to change frequency, BOD or other settings, change the fuse settings based on the fuse calculator.

      OTA FW updates using MYSController 3315 (included) (refer to @scalz's guide😞

      Copy Arduino FW .hex file to MYSController/Firmware folder and edit firmware_config.csv file according to the existing lines.

      Hit "Refresh Repo" in MYSController and the newly copied firmware should appear in the Assign FW dropdown list, ready to be uploaded.

      Read this thread for discussions on MYSBootloader 1.3pre1

      Have fun!

      posted in Development
      tekka
      tekka
    • RE: Windows GUI/Controller for MySensors

      For completeness, here are the MYSBootloader instructions for OTA updates via MYSController:

      1. Load gw sketch and connect arduino either via serial or ethernet port. No special bootloader needed for that part (i.e. standard optiboot bootloader will do the job).

      2. Add these lines to the boards.txt file in your Arduino IDE installation folder (located somewhere like C:/Program Files/Arduino/hardware/arduino/avr)

        proMYSBL16.name=ATmega328 external 16Mhz with MYSBootloader
        proMYSBL16.upload.tool=avrdude
        proMYSBL16.upload.protocol=arduino
        proMYSBL16.upload.maximum_size=30720
        proMYSBL16.upload.maximum_data_size=2048
        proMYSBL16.upload.speed=115200
        proMYSBL16.bootloader.tool=avrdude
        proMYSBL16.bootloader.low_fuses=0xF7
        proMYSBL16.bootloader.high_fuses=0xDA
        proMYSBL16.bootloader.extended_fuses=0x06
        proMYSBL16.bootloader.unlock_bits=0x3F
        proMYSBL16.bootloader.lock_bits=0x3F
        proMYSBL16.bootloader.file=MySensors/MYSBootloader.hex
        proMYSBL16.build.mcu=atmega328p
        proMYSBL16.build.f_cpu=16000000L
        proMYSBL16.build.board=AVR_UNO
        proMYSBL16.build.core=arduino
        proMYSBL16.build.variant=standard

        ######## settings for 8Mhz internal clock

        proMYSBL8.name=ATmega328 internal 8Mhz with MYSBootloader
        proMYSBL8.upload.tool=avrdude
        proMYSBL8.upload.protocol=arduino
        proMYSBL8.upload.maximum_size=30720
        proMYSBL8.upload.maximum_data_size=2048
        proMYSBL8.upload.speed=57600
        proMYSBL8.bootloader.tool=avrdude
        proMYSBL8.bootloader.low_fuses=0xE2
        proMYSBL8.bootloader.high_fuses=0xDA
        proMYSBL8.bootloader.extended_fuses=0x06
        proMYSBL8.bootloader.unlock_bits=0x3F
        proMYSBL8.bootloader.lock_bits=0x3F
        proMYSBL8.bootloader.file=MySensors/MYSBootloader.hex
        proMYSBL8.build.mcu=atmega328p
        proMYSBL8.build.f_cpu=8000000L
        proMYSBL8.build.board=AVR_UNO
        proMYSBL8.build.core=arduino
        proMYSBL8.build.variant=standard

      3. Copy MYSBootloader.hex (from MYSController/Bootloader folder) to the Arduino IDE installation folder C:/Program Files/Arduino/hardware/arduino/avr/bootloaders/MySensors/

      4. Restart Arduino IDE, choose under Tools | Board | ATmega328 external 16Mhz with MYSBootloader or Tools | Board | ATmega328 internal 8Mhz with MYSBootloader depending on your HW settings

      5. Connect USBasp to sensor node and select Tools | Burn Bootloader

      6. If everything worked well until here, you now have the MYSBootloader with the fuse settings from above burnt to your sensor node (16Mhz extXTAL or 8Mhz intRC, BOOTSZ 1024W, BOD 1V8).

      7. Please use the AVR fuse calculator to retrieve the individual fuse settings. If you need to change frequency, BOD or other settings, change the fuse settings based on the fuse calculator.
        Important: The MYSBootloader.hex file was compiled for 16Mhz oscillators but it should also work at 8Mhz. If you intend to go below 8Mhz, I highly recommend to compile the bootloader with adjusted frequency settings.

      8. Start MYSController, hit config and adjust settings (COM-Port & baud or IP address:port)

      9. Hit connect: Connection to gateway should be established (gateway answers with gateway ready message), the node should appear and request an ID & FW.

      10. Right-mouse click on that node, select assign FW, choose for example **TimeReporter ** (demo firmware included in the MYSController/Firmware folder). Then click reboot and wait until FW is uploaded and node boots.

      11. TimeReporter firmware reports every few seconds some values such as time, millis, and voltage.

      12. Custom firmware: compile your sketch and retrieve the generated .hex file (activate verbose mode in the Arduino IDE to get compiler messages and output path).

      13. Copy .hex file to MYSController/Firmware folder and edit firmware_config.csv file according to the existing lines.

      14. Hit Refresh Repo in MYSController and the newly copied firmware should appear in the Assign FW dropdown list, ready to be uploaded.

      Have fun 🙂

      posted in Controllers
      tekka
      tekka
    • RE: bootloader

      For completeness, here are the MYSBootloader instructions for OTA updates via MYSController:

      1. Load gw sketch and connect arduino either via serial or ethernet port. No special bootloader needed for that part (i.e. standard optiboot bootloader will do the job).

      2. Add these lines to the boards.txt file in your Arduino IDE installation folder (located somewhere like C:/Program Files/Arduino/hardware/arduino/avr)

        proMYSBL16.name=ATmega328 external 16Mhz with MYSBootloader
        proMYSBL16.upload.tool=avrdude
        proMYSBL16.upload.protocol=arduino
        proMYSBL16.upload.maximum_size=30720
        proMYSBL16.upload.maximum_data_size=2048
        proMYSBL16.upload.speed=115200
        proMYSBL16.bootloader.tool=avrdude
        proMYSBL16.bootloader.low_fuses=0xF7
        proMYSBL16.bootloader.high_fuses=0xDA
        proMYSBL16.bootloader.extended_fuses=0x06
        proMYSBL16.bootloader.unlock_bits=0x3F
        proMYSBL16.bootloader.lock_bits=0xFF
        proMYSBL16.bootloader.file=MySensors/MYSBootloader.hex
        proMYSBL16.build.mcu=atmega328p
        proMYSBL16.build.f_cpu=16000000L
        proMYSBL16.build.board=AVR_UNO
        proMYSBL16.build.core=arduino
        proMYSBL16.build.variant=standard

        ######## settings for 8Mhz internal clock

        proMYSBL8.name=ATmega328 internal 8Mhz with MYSBootloader
        proMYSBL8.upload.tool=avrdude
        proMYSBL8.upload.protocol=arduino
        proMYSBL8.upload.maximum_size=30720
        proMYSBL8.upload.maximum_data_size=2048
        proMYSBL8.upload.speed=57600
        proMYSBL8.bootloader.tool=avrdude
        proMYSBL8.bootloader.low_fuses=0xE2
        proMYSBL8.bootloader.high_fuses=0xDA
        proMYSBL8.bootloader.extended_fuses=0x06
        proMYSBL8.bootloader.unlock_bits=0x3F
        proMYSBL8.bootloader.lock_bits=0xFF
        proMYSBL8.bootloader.file=MySensors/MYSBootloader.hex
        proMYSBL8.build.mcu=atmega328p
        proMYSBL8.build.f_cpu=8000000L
        proMYSBL8.build.board=AVR_UNO
        proMYSBL8.build.core=arduino
        proMYSBL8.build.variant=standard

      3. Copy MYSBootloader.hex (from MYSController/Bootloader folder) to the Arduino IDE installation folder C:/Program Files/Arduino/hardware/arduino/avr/bootloaders/MySensors/

      4. Restart Arduino IDE, choose under Tools | Board | ATmega328 external 16Mhz with MYSBootloader or Tools | Board | ATmega328 internal 8Mhz with MYSBootloader depending on your settings

      5. Connect USBasp to sensor node and select Tools | Burn Bootloader

      6. If everything worked well until here, you now have the MYSBootloader with the fuse settings from above burnt to your sensor node (16Mhz extXTAL or 8Mhz intRC, BOOTSZ 1024W, BOD 1V8).

      7. Please use the AVR fuse calculator to retrieve the individual fuse settings. If you need to change frequency, BOD or other settings, change the fuse settings based on the fuse calculator.
        Important: The MYSBootloader.hex file was compiled for 16Mhz oscillators but it should also work at 8Mhz. If you intend to go below 8Mhz, I highly recommend to compile the bootloader with adjusted frequency settings.

      8. Start MYSController, hit config and adjust settings (COM-Port & baud or IP address:port)

      9. Hit connect: Connection to gateway should be established (gateway answers with gateway ready message), the node should appear and request an ID & FW.

      10. Right-mouse click on that node, select assign FW, choose for example **TimeReporter ** (demo firmware included in the MYSController/Firmware folder). Then click reboot and wait until FW is uploaded and node boots.

      11. TimeReporter firmware reports every few seconds some values such as time, millis, and voltage.

      12. Custom firmware: compile your sketch and retrieve the generated .hex file (activate verbose mode in the Arduino IDE to get compiler messages and output path).

      13. Copy .hex file to MYSController/Firmware folder and edit firmware_config.csv file according to the existing lines.

      14. Hit Refresh Repo in MYSController and the newly copied firmware should appear in the Assign FW dropdown list, ready to be uploaded.

      Have fun 🙂

      posted in Development
      tekka
      tekka
    • RE: Can't get sensors talking

      @linus72982 looks like you have an issue with your GW radio:

      0;255;3;0;9;!TSP:SANCHK:FAIL
      
      

      GW and repeater nodes have by default regular sanity checks enabled. In your case, the sanity check fails, most likely due to cable and/or power issues. Try fixing/reseating the radio cables and/or add a larger cap to the GW radio.

      Also, please post the node sketch for further analysis.


      As for the debug messages, here the most important ones:

      TSM:FPAR => Transport State Machine:Find PARent
      !TSM:UPL FAIL, SNP => Uplink failed, Search New Parent
      !TSP:SEND:TNR => Transport:SEND:Transport Not Ready
      TSM:PDT => PowerDown Transport

      I'm currently working on a PR to unify and document all transport debug log messages for troubleshooting

      In your case, this is what happened:

      1. Node initializes and assigns ID 3, then it fails to find a parent...
      TSM:INIT
      TSM:RADIO:OK
      TSP:ASSIGNID:OK (ID=3)
      TSM:FPAR
      TSP:MSG:SEND 3-3-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      TSM:FPAR
      TSP:MSG:SEND 3-3-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      TSM:FPAR
      TSP:MSG:SEND 3-3-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      TSM:FPAR
      TSP:MSG:SEND 3-3-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      !TSM:FPAR:FAIL
      !TSM:FAILURE
      TSM:PDT
      
      1. Later on it receives a response to the find parent request from node ID 0 (=GW)
      TSP:MSG:FPAR RES (ID=0, dist=0)
      TSP:MSG:PAR OK (ID=0, dist=1)
      TSM:FPAR:OK
      
      1. and finally, the TSM is fully operational.
      TSM:READY
      
      1. Then the node starts sending the presentation messages...
      
      TSP:MSG:SEND 3-3-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
      TSP:MSG:SEND 3-3-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0
      TSP:MSG:SEND 3-3-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0
      
      1. ...and fails again to (successfully) send the messages to the GW
      !TSP:MSG:SEND 3-3-0-0 s=255,c=3,t=11,pt=0,l=13,sg=0,ft=0,st=fail:Binary Sensor
      !TSP:MSG:SEND 3-3-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,ft=1,st=fail:1.0
      !TSP:MSG:SEND 3-3-0-0 s=3,c=0,t=0,pt=0,l=0,sg=0,ft=2,st=fail:
      !TSP:MSG:SEND 3-3-0-0 s=4,c=0,t=0,pt=0,l=0,sg=0,ft=3,st=fail:
      
      
      1. Hence, start searching for a new parent...
      !TSM:UPL FAIL, SNP
      TSM:FPAR
      TSP:MSG:SEND 3-3-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      
      1. ...and (again) no reply from the GW, therefore...
      !TSP:SEND:TNR
      
      1. Transport not ready, and starting from the beginning...
      posted in Troubleshooting
      tekka
      tekka
    • RE: Are we initializing the nRF24L01+ correctly?

      @Yveaux The current implementation does not initialize all registers properly, or modifies single bits (thus, the possibility of undefined conditions). The major changes are not necessarily in the init code, but rather in the pipe handling (all active RX pipes have now unique addresses) and less frequent register reading/writing.
      Over all, the library is faster, optimized to the specs and uses ~2kb less flash. However, this is still WIP and a few more pending changes before PR to dev.

      posted in Development
      tekka
      tekka
    • MYSController supports Sensebender Micro OTA FW updates

      Hi all, short update from MYSController:

      • Sensebender Micro OTA FW update is now supported

      Download here or via update button in MYSController.

      *** IMPORTANT: these instructions are only for sensebender boards or boards with the same hardware setup. For regular boards, use MYSBootloader.

      For OTA FW updates, use the dev branch (currently 1.5 b1) and uncomment
      #define MY_OTA_FIRMWARE_FEATURE
      in MyConfig.h

      MYSController will guess the board/bootloader combination based on available information during startup. If the recognition fails you can manually adjust the settings (see screenshot).

      Note: FW updates are handled in gw.process() or gw.wait().
      Battery-powered / sleeping nodes do not handle incoming commands by default - in order to handle FW updates, add gw.wait(100) after sending packages to the controller and select battery-powered / sleeping in the settings (see screenshot and supplemented SensebenderMicro.ino).

      MYSController_0_1_2_282.png

      Have fun 🙂

      posted in Controllers
      tekka
      tekka
    • RE: Battery sensor and re-connecting to gateway

      @karl261 yes, in the example you mentioned, the node won't sleep at all if connection is lost and cannot be re-established. For battery powered nodes I recommend using MY_PARENT_NODE_ID and MY_PARENT_NODE_IS_STATIC to prevent the transport state machine from entering the SNP (search new parent) state.
      MySensors 2.0.1 introduces an enhanced sleeping function with a reconnection timeout: https://github.com/mysensors/MySensors/pull/558

      tekka007 created this issue in mysensors/MySensors

      closed Redesign sleep() functions #558

      posted in Troubleshooting
      tekka
      tekka
    • RE: Are we initializing the nRF24L01+ correctly?

      @stevebus I'm doing a major RF24 lib refactoring to fully meet the nRF24L01+ specs.
      Please feel free to test it, feedbacks are appreciated.

      posted in Development
      tekka
      tekka
    • RE: Unable to initialize NRF24L01+ when using an ATmega328P-PU

      @bearwithbeard Your bare at328p runs at 8Mhz [intRC] but you compile with 16Mhz settings (according to platformio nanoatmega328 boards). You may resolve your issue with e.g. pro8MHzatmega328 settings (3V3, 8Mhz). Ideal baudrate 38400 or 57600.

      posted in Troubleshooting
      tekka
      tekka
    • RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta

      To summarize recent discussions and open questions:

      MySensors offers two OTA FW update solutions:

      Dualoptiboot requires external flash: OTA FW updates are transmitted online, i.e. while the node is active. Once all FW packets are transmitted and CRC verified, the node reboots, dualoptiboot copies FW from external flash to MCU and hands over to the new sketch/FW.

      Pro: Radio agnostic, online (while node processes sensor data)
      Cons: Faulty FW (e.g. freezing sketch) cannot be recovered OTA => recovery via serial port necessary, external flash required

      MYSBootloader does not require external flash: OTA FW updates are transmitted offline, i.e. MYSBootloader communicates with the controller and receives new FW which is directly written to MCU, once FW is transmitted and CRC verified, MYSBootloader hands over to the new sketch/FW.

      Pro: recovery OTA possible, also with a faulty/buggy sketch (if sketch freezes, watchdog resets and MYSBootloader takes over), no external flash required
      Cons: Radio specific, i.e. different bootloader for RF24 and RFM69 radio (work in progess) necessary, offline (no sensor data processing possible)

      posted in Development
      tekka
      tekka
    • RE: NRF24 transport status not initialized

      @skywatch Here is a simplified flowchart that illustrates the two most common MySensors bootup scenarios (but as @mfalkvidd pointed out, there are many more possibilities depending on the transport configuration and/or defines):

      0_1562772587482_d16c6501-500b-41f1-9c9a-44c578789a9a-image.png

      posted in Troubleshooting
      tekka
      tekka
    • MYSBootloader 1.3.0-beta.3

      And here comes another release for public testing:

      MYSBootloader v1.3.0-beta.3

      Source / compiled .HEX and additional information can be found here.

      One more (and last) time: 🎉 Happy New Year 2017!

      posted in Development
      tekka
      tekka
    • RE: [Solved] Strange behavior of RFM69 OTA burning firmware after some research

      @yury Please try with this, I've quickly added a check:

      https://github.com/tekka007/MySensors/tree/OTAUpdate
      PR: https://github.com/mysensors/MySensors/pull/718

      Edit: PR merged, try with the latest development: https://github.com/mysensors/MySensors/tree/development

      tekka007 created this issue in mysensors/MySensors

      closed OTA: Add incoming FW block check #718

      posted in Bug Reports
      tekka
      tekka
    • RE: RFM69 433Mhz ISM band

      @freynder The best solution (for the moment) is to change these defines:

      https://github.com/mysensors/MySensors/blob/development/drivers/RFM69/RFM69registers.h#L305-L307

      to

      #define RF_FRFMSB_433             0x6C
      #define RF_FRFMID_433             0x7A
      #define RF_FRFLSB_433             0xE1
      

      for 433.92 Mhz

      As @scalz pointed out, the state machine will re-initialize the radio to the original values if using setFrequency() anywhere in the code. And of course, these changes will be overridden with a new release of MySensors.

      posted in Development
      tekka
      tekka
    • RE: Converting a sketch from 1.5.x to 2.0.x

      @Maurizio-Collu Yes, the doc is in preparation, the meaning of these messages is described here (this is a PR that harmonizes the log message and will be pushed to 2.0.1).

      In brief:

      TSP:MSG:SEND 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
      
      

      TSP:MSG:SEND refers to message sending function in the transport state machine

      255-255-0-0 is the routing information, i.e. sender-last-next-destination

      s=255,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=ok:

      • s=sensor ID (255 = internal)
      • c=command (3 = C_INTERNAL)
      • t=type (3 = I_ID_REQUEST)
      • pt=payload type (0 = P_STRING)
      • l=message length (0)
      • sg=signature flag (0 = not signed)
      • ft=failed transmission counter (0 = no failed uplink transmission at this* oint)
      • st=send status (OK)
      • : actual message (empty)

      => Your node has no assigned ID (=255) and is requesting a new ID from the controller.

      Please refer to the serial protocol or API for additional information.

      Good luck!

      posted in Announcements
      tekka
      tekka
    • RE: Battery sensor and re-connecting to gateway

      @TheoL @flopp @karl261 I'm currently working on a improved sleep function in 2.0.1 that will address some of the issues mentioned above. Depending on the radio status, the node will sleep if link is ok, or try to reconnect and abort if too many failed attempts and retry later.

      posted in Troubleshooting
      tekka
      tekka
    • RE: [Solved] Strange behavior of RFM69 OTA burning firmware after some research

      @yury @Koresh Thanks for your feedback and thorough analysis, that helped to identify the issue.

      posted in Bug Reports
      tekka
      tekka
    • RE: What is a good value for a watch dog timer?

      @bjacobse Yes, wdt business can be quite confusing 🙂
      Optiboot has a sophisticated wdt approach: wdt is only enabled if the MCU is reset externally (this is the case when you upload a new sketch from the IDE), in all other reset cases (i.e. watchdog-, brownout- and power-on reset), the wdt is disabled and optiboot directly hands over to the sketch.

      See here for the conditions: https://github.com/Optiboot/optiboot/blob/master/optiboot/bootloaders/optiboot/optiboot.c#L484-L485

      And here it gets disabled:
      https://github.com/Optiboot/optiboot/blob/master/optiboot/bootloaders/optiboot/optiboot.c#L847

      This also means that with optiboot, wdt is always disabled when the sketch starts (if WDON fuse is unset).

      And to give a heads up for the MYSBootloader 1.3 release: wdt will be on by default (at the moment 4s), and the user has to either disable or reset it in the sketch. This is a safety mechanism and the only way to remotely recover from a bad/faulty FW.

      posted in Development
      tekka
      tekka
    • RE: nRF24L01+ Communication Failure: Root Cause and “Solution”

      Here is a modified RF24 stack with (among other little changes) a waiting period and no IRQ line (as @Yveaux suggested) for testing: https://github.com/tekka007/MySensors/tree/OptimizedRF24polling

      @odritter

      Using the previously mentioned sensor board with a header socket, we observed that almost any nRF24L01+ board worked when cabled (~6 inches) rather than directly plugging into the sensor board. (BUT WHY?????)

      Is this setup referring to image 7?

      posted in Troubleshooting
      tekka
      tekka
    • RE: Raspberry Pi stability problem

      @alterfritz I've prepared a PR that should fix the segmentation fault: https://github.com/tekka007/MySensors/tree/nullptr - can you test this PR?

      posted in Bug Reports
      tekka
      tekka
    • RE: how to ask a node to re-send presentation info

      @jjk Send a C_INTERNAL|I_DISCOVER_REQUEST to the broadcast address (i.e. 255) - all active (=non-sleeping) nodes will reply with I_DISCOVER_RESPONSE and the parent ID as payload. As a second step, iterate over the replies and send C_INTERNAL|I_PRESENTATION to re-request the presentation messages.

      posted in Development
      tekka
      tekka
    • RE: Heartbeat Gateway

      @sirben ok, this feature is currently disabled for GW-only with disabled transport network. I'll prepare a code update: https://github.com/mysensors/MySensors/pull/1273

      tekka007 created this issue in mysensors/MySensors

      closed Enable heartbeat for GW-only mode #1273

      posted in Bug Reports
      tekka
      tekka
    • RE: MYSBootloader 1.3.0-beta.3

      Fix: https://github.com/mysensors/MySensorsBootloaderRF24/pull/24
      Thanks for reporting.

      tekka007 created this issue in mysensors/MySensorsBootloaderRF24

      closed Fix boards.txt #24

      posted in Development
      tekka
      tekka
    • RE: ESP32 + Signing fails after xxx msg as result of memory leak

      @Technovation It take the blame 🙂
      Thanks for reporting, PR submitted.

      (The debug message is correct; msg contains the incoming nonce request => the sender is the recipient of the nonce response)

      https://github.com/mysensors/MySensors/pull/1402

      tekka007 created this issue in mysensors/MySensors

      closed ESP32: Fix memory leak in crypto functions #1402

      posted in Bug Reports
      tekka
      tekka
    • RE: Over the air updates

      @tbowmo
      Did some work on the OTA bootloader: combined optiboot (for uploads via IDE / avrdude) + OTA bootloader with some major modifications. Current version is stable and works for regular OTA updates 🙂

      I will post the source once I find some spare time to clean and comment it.

      posted in General Discussion
      tekka
      tekka
    • MYSBootloader 1.4 testing

      Hi all,

      I'm about to finalize the development of MYSBootloader 1.4 with loads of changes and improvements under the hood. If you have some spare time and willingness to test, please reply here with your node config (frequency, channel, csn pin, ce pin).

      This testing is only intended for Atmega328/nRF24L01+ nodes and should not be used in a productive environment.

      Thanks!

      posted in My Project
      tekka
      tekka
    • RE: FOTA flow in sleeping nodes - need two cycles?

      @manutremo here you go: https://github.com/tekka007/MySensors/tree/FOTAUpdates

      posted in General Discussion
      tekka
      tekka
    • RE: STM32L0 support

      @Marcell-Gerzsenyi I've added initial support for the Arduino STM32 core, but things move slowly with limited bandwith. Please feel free to test and report back:

      https://github.com/tekka007/MySensors/tree/STM32duinoUpdate

      posted in Hardware
      tekka
      tekka
    • RE: Saving three bytes of memory with this crazy loop structure..

      @Yveaux @mfalkvidd Now it gets ugly - and we are not talking ASM yet... 😜

      ISR (WDT_vect) {
        WDTCSR = _BV(WDCE) | _BV(WDE); 
        WDTCSR = _BV(WDIF) | _BV(WDIE) | 6; // 1s
        EEARL = 1;
      } 
      
      void setup() {
        WDT_vect();
      }
      
      void loop() {
          if(EEARL) {
            EEARL = 0;
            // ... code that runs every second...
          }
      }
      

      Flash: 502 bytes
      Ram: 9 bytes

      posted in General Discussion
      tekka
      tekka
    • RE: Option non blocking registration at gateway

      Important: enabling MY_TRANSPORT_DONT_CARE_MODE requires setting MY_PARENT_NODE_ID

      posted in Feature Requests
      tekka
      tekka
    • RE: MySensors 2.1.0 Released

      @mfalkvidd Yes, 2.1.0 and 2.0.0 nodes can be mixed - to eliminate the bugs found in 2.0.0 I recommend upgrading all nodes/GW to 2.1.0

      posted in Announcements
      tekka
      tekka
    • RE: 💬 Sensebender Gateway

      @jeti MySensors SAMD board defs updated to 1.0.5, supporting SAMD board defs 1.6.12

      posted in OpenHardware.io
      tekka
      tekka
    • RE: Why do "passive nodes" need to set their Node ID manually?

      @NeverDie @mfalkvidd Passive nodes communicate without message ACKs - ID requests may never make their way to the controller, hence the requirement of a static node ID.

      posted in General Discussion
      tekka
      tekka
    • RE: ESP32 Support to enable the powerful ESP32 + RFM95/Lora + LiPo battery boards

      @mfalkvidd No, testing looks good and framework runs stable - I need to sort out some warnings I get with gitler/jenkins before merging.

      posted in Feature Requests
      tekka
      tekka
    • RE: MySensors 2.3.2 released

      @alowhum No need to substitute isAck() - it is marked deprecated but remains fully functional in the 2.x code. However, it is advisable to use isEcho() in the future to avoid confusions.

      posted in Announcements
      tekka
      tekka
    • RE: 💬 Sensebender Gateway

      @pepson Did you add

      #include <Ethernet.h>
      

      ?

      posted in OpenHardware.io
      tekka
      tekka
    • RE: (Relay) node asks for parent. Gateway forwards (!)

      @Erik-Forsberg The GW replies to a I_FIND_PARENT request from node 4 - nothing unusual here. I assume there is a radio/power issue with node 4 - can you get the debug log from that node?

      Here is an explanation of the different GW messages

      1. Node 4 sends I_FIND_PARENT request to broadcast address (=255)
      TSF:MSG:READ,4-4-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
      
      1. GW receives broadcast message
      TSF:MSG:BC
      
      1. BC message is identified as I_FIND_PARENT request from node 4
      TSF:MSG:FPAR REQ,ID=4
      
      1. GW has also repeater functionality, meaning it checks the uplink (in that case to itself). Uplink is ok. FCTRL refers to "flood control", a mechanism that prevents flooding the GW with check uplink requests.
      TSF:CHKUPL:OK,FCTRL
      TSF:MSG:GWL OK
      
      1. Send I_FIND_PARENT_RESPONSE to node 4
      TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
      

      Everything as expected from a GW/repeater perspective 🙂

      posted in Troubleshooting
      tekka
      tekka
    • RE: Windows GUI/Controller for MySensors

      New version available with bug fixes 0.1.2.256:

      • "File not open" error fixed
      • Display errors fixed
      • Mac users: use wine to run program, no remapping of serial ports necessary - use e.g. /dev/ttyUSB0 in config window

      To update hit the update button or download here.


      posted in Controllers
      tekka
      tekka
    • RE: Starting flowchart

      @TheoL @logger02 Yes, that's right: during booting (transport initialization & registration) the node needs to handshake with the GW (without initial handshake, no loop() execution). If you loose connection later on, the main loop will execute and the underlying transport state machine will try to re-establish the link to the GW in regular intervals,

      posted in Troubleshooting
      tekka
      tekka
    • RE: Windows GUI/Controller for MySensors

      MYSController 0.1.2.276 and MYSBootloader 1.1 released:

      • send message upon RX (for battery-powered nodes)
      • bootloader commands (for MYSBootloader 1.1)
      • bugfixes

      Enjoy!

      posted in Controllers
      tekka
      tekka
    • RE: [Solved] MySensors 2.0 Ethernet gateway (ENC28J60) restart / IP issue

      @intellium The avr toolchain bug is related to variadic arguments used for debug prints. If you comment MY_DEBUG, do you still have the issue?

      posted in Troubleshooting
      tekka
      tekka
    • RE: Windows GUI/Controller for MySensors

      MYSController Version 0.1.2.278 released

      New features:

      • Support MYSBootloader 2.0 / SHA (signing bootloader) ==> will be released in the nearest future
      • Support 1.5 framework (dev branch)
      • Parse MySensors log/debug messages
      • Div. options

      Changelog:

      • Moved send message dialog to main window
      • Handler adjustments
      • Bugfix FW upload in GW debug mode
      • Bugfix message logging

      Update via update button in MYSController or download here.

      posted in Controllers
      tekka
      tekka
    • RE: MySensors 2.0 Ethernet gateway Atmega+W5100) restart all time

      @Maks_K @GizMoCuz I could reproduce the issue with W5100 - the issue is related to the recently updated AVR board definitions, more precisely, the Arduino Ethernet library.

      If you are running AVR board defs > 1.6.11, downgrade to 1.6.11 and the issue should be solved.

      posted in Troubleshooting
      tekka
      tekka
    • RE: Windows GUI/Controller for MySensors

      MYSController Version 0.1.2.280 released

      Changelog:

      • Bugfix FW padding (thanks @JoergP)
      • Handler rework
      • Logging format rework
      • Support battery-powered/sleeping nodes
      • Refactoring

      Update via update button in MYSController or download here.

      posted in Controllers
      tekka
      tekka
    • RE: DS18B20 Sketch from Examples doesn't brings Node to sleep.

      @Floca Your node is defined as repeater, and repeaters do not sleep by definition:

      See log:

      65890 !MCO:SLP:REP
      

      To disable repeater mode, comment this line (writing "Disabled" won't work):

      #define MY_REPEATER_FEATURE Disabled
      
      
      posted in Troubleshooting
      tekka
      tekka
    • RE: Has anyone tried software reset of an Arduino?

      @TheoL sending an C_INTERNAL/I_REBOOT will do the job, it's a wdt reset.

      posted in Development
      tekka
      tekka
    • RE: is "isTransportOK()" function obsolete in 2.1.0 ?

      @ileneken3 No, it has been renamed to isTransportReady(). The smartSleep() sleeping function has been optimized in order to address the re-connection issues mentioned in the OP.

      posted in Troubleshooting
      tekka
      tekka
    • RE: Serial Gateway not compiling without radio support

      @hek @alfredocdmiranda Yes, this is bug - thanks for reporting.
      Fixed here: https://github.com/mysensors/MySensors/pull/682

      tekka007 created this issue in mysensors/MySensors

      closed Fix debug message #682

      posted in Development
      tekka
      tekka
    • RE: Signing fails with V2.1

      @markush Thanks for testing, the bug has been insolated and bug fix created: https://github.com/mysensors/MySensors/pull/740

      tekka007 created this issue in mysensors/MySensors

      closed Fix signing presentation #740

      posted in Troubleshooting
      tekka
      tekka
    • RE: MYSBootloader 1.3.0-beta.3

      @Tetnobic, @Feji
      Dev branch updated: https://github.com/mysensors/MySensorsBootloaderRF24/tree/development

      • updated Makefile, added include files to same dir
      • To compile (under win): install make (I'm using mingw32-make from MinGW)
      • clone dev repo
      • update paths to avr tools and includes in Makefile (BINPATH, INLCUDES)
      • run Makefile to obtain .hex file
      • Flash .hex file using ISP
      posted in Development
      tekka
      tekka
    • RE: Battery sensor and re-connecting to gateway

      @Mark-Swift Almost 🙂

      #define MY_TRANSPORT_WAIT_READY_MS 60000
      

      applies only when the node starts, i.e. before entering loop(). Once you are in loop() and you put the node to sleep

      #define MY_SLEEP_TRANSPORT_RECONNECT_TIMEOUT_MS 10000
      

      defines how long the node will try to establish a connection before going to sleep, default is 10s. Please have a look here for additional information.

      posted in Troubleshooting
      tekka
      tekka
    • RE: MYSBootloader 1.3.0-beta.3

      @Werwolfx
      Disable MY_OTA_FIRMWARE_FEATURE, this is only required for the external flash/dualoptiboot OTA method, MYSBootloader handles OTA updates offline.

      posted in Development
      tekka
      tekka
    • RE: FOTA with MYSController does not work with sleeping Sensebender Micro

      @arrawx You should enable smart sleep.

      Substitute:
      https://github.com/mysensors/SensebenderMicro/blob/master/Arduino/SensebenderMicro/SensebenderMicro.ino#L221

      for

      sleep(MEASURE_INTERVAL, true);  
      

      and in MYSController set Sensebender board = TRUE, Battery-powered/sleeping = TRUE

      posted in Troubleshooting
      tekka
      tekka
    • RE: Delay after TSF:TRI:TSB

      @mfalkvidd @fausti no, this is normal the smartsleep log:

      6047 MCO:SLP:MS=20864000,SMS=1,I1=1,M1=1,I2=255,M2=255  
      

      ==> smart sleep enabled, IRQ on pin 1 set, going to sleep for 20864000 ms

      6125 TSF:MSG:SEND,9-9-0-0,s=255,c=3,t=32,pt=5,l=4,sg=0,ft=0,st=OK:500 
      

      ==> I_PRE_SLEEP_NOTIFICATION, 500ms to process any incoming message before going to seep

      6199 TSF:MSG:READ,0-0-9,s=2,c=1,t=23,pt=5,l=4,sg=0:5
      6254 TSF:MSG:ACK
      6699 TSF:TDI:TSL
      6717 MCO:SLP:WUP=1
      6735 TSF:TRI:TSB
      

      ==> sleep interrupted by IRQ 1

      8437 !TSF:MSG:SEND,9-9-0-0,s=255,c=3,t=33,pt=5,l=4,sg=0,ft=0,st=NACK:20864000
      

      ==> I_POST_SLEEP_NOTIFICATION, node was sleeping for 20864000ms (but sleep was interrupted)

      posted in Development
      tekka
      tekka
    • RE: SW_Signing failing: !TSF:MSG:SIGN FAIL

      @joaoabs Could you post the full sketch where signing fails? I assume one of the external libraries may interfere with SPI communication. To confirm, please test this PR with the failing sketch and upload the full debug log here.

      https://github.com/mysensors/MySensors/pull/1116

      tekka007 created this issue in mysensors/MySensors

      closed Add transport sanity check before entering loop() #1116

      posted in Troubleshooting
      tekka
      tekka
    • RE: Delay after TSF:TRI:TSB

      ...but, the delay between TSB and SEND is a bit odd;

      9480 TSF:TRI:TSB
      11180 !TSF:MSG:SEND,9-9-0-0,s=255,c=3,t=33,pt=5,l=4,sg=0,ft=0,st=NACK:20864000
      

      Enabling MY_DEBUG_VERBOSE_RF24 could eventually give some hints.

      posted in Development
      tekka
      tekka
    • RE: nrf24 : transmission of data works fine, but constant NACK's produced

      @sundberg84 Yes, the patch will be included in 2.3.1.

      posted in Troubleshooting
      tekka
      tekka
    • RE: Delay after TSF:TRI:TSB

      @fausti the log indicates that smartsleep is enabled - that said, smartsleep may originate from the nodemanager

      6047 MCO:SLP:MS=20864000,SMS=1

      posted in Development
      tekka
      tekka
    • RE: !MCO:PRO:RC=1 in debug logs

      Updated log parser to include RC debug messages: https://github.com/mysensors/MySensors/pull/1396

      tekka007 created this issue in mysensors/MySensors

      closed Update Log parser #1396

      posted in Troubleshooting
      tekka
      tekka
    • RE: Delay after TSF:TRI:TSB

      @fausti Can you re-test your setup with this patch (ideally, update GW and nodes): https://github.com/tekka007/MySensors/tree/RF24STDBYTiming - I've added a delay after setting the radio in standby mode.

      posted in Development
      tekka
      tekka
    • RE: Is it worth it adding a reset circuit to MySensors nodes?

      @mfalkvidd @bjacobse correct, WDT settings are saved and restored - see here https://github.com/mysensors/MySensors/blob/development/hal/architecture/AVR/MyHwAVR.cpp#L92 and https://github.com/mysensors/MySensors/blob/development/hal/architecture/AVR/MyHwAVR.cpp#L116-L119

      posted in Hardware
      tekka
      tekka
    • RE: [solved] Moteino Mega -> cannot compile 2.2.0 beta

      @alexsh1 see here: https://github.com/mysensors/MySensors/issues/665

      trlafleur created this issue in mysensors/MySensors

      closed digitalPinToInterrupt function is missing when using a MoteinoMega AVR1284P #665

      posted in Bug Reports
      tekka
      tekka
    • RE: CubeCell reloaded: the SX126x hal drivers, please test

      @eiten Great job! Did you come across an "usable" ASR6501 datasheet - so far the information on this SoC is rather sparse?

      posted in Hardware
      tekka
      tekka
    • RE: Update from 1.41 to 2.0?

      @Dan-S. Here is the change log / added features for 2.0.0

      posted in My Project
      tekka
      tekka
    • RE: domoticz auto add device (mysensors) even if disable "Accept new Hardware Devices"

      @Reza The community cannot focus all energy on supporting your case. Many if not all of your questions are answered in the howtos & forum - why don't you take advantage of the search function, enter "rf channel" and read some of the posts?

      posted in Domoticz
      tekka
      tekka
    • RE: Controller developers news for 2.0.x

      @yoram Please report it here. Thanks

      posted in Announcements
      tekka
      tekka
    • RE: MySensors GW sends it's internal command I_VERSION every 10 sec

      @macieiks This is triggered by the HA, as the log suggests:

      2020-02-19 08:18:39 DEBUG (MainThread) [mysensors] Sending 0;255;3;0;2; 
      2020-02-19 08:18:39 DEBUG (MainThread) [mysensors] Receiving 0;255;3;0;2;2.3.2 
      2020-02-19 08:18:49 DEBUG (MainThread) [mysensors] Sending 0;255;3;0;2;
      2020-02-19 08:18:49 DEBUG (MainThread) [mysensors] Receiving 0;255;3;0;2;2.3.2
      

      Please check with the HA ppl

      posted in Home Assistant
      tekka
      tekka
    • RE: My Ugly ESP GW Prototype

      @hek said:

      Waiting with interest on results from the community members trying to port MySensors library running natively on ESP.

      I'm running the GW sketch (and repeater node) natively on the ESP8266 - however, the porting needs some additional work on EEPROM handling and pointer addressing. Also, a stable power supply is important (>3.1V with ESP8266 and NRF24 attached, no peaks). Will post more as porting progresses.

      posted in My Project
      tekka
      tekka
    • RE: Option non blocking registration at gateway

      @hek correct 👍
      @Heizelmann Would be good to get some feedback on this feature, please let us know how it works in your hands.

      posted in Feature Requests
      tekka
      tekka
    • RE: 💬 Building a Raspberry Pi Gateway

      @alesc @mfalkvidd Thanks for reporting, fixed: https://github.com/mysensors/MySensors/pull/635

      tekka007 created this issue in mysensors/MySensors

      closed Fix missing RF24_NOP refactoring #635

      posted in Announcements
      tekka
      tekka
    • RE: Which ATmega do i go with?

      @samuel235 Please follow these instructions for burning MYSBootloader and testing OTA updates with MYSController. Both, USBasp and ArudinoISP are easy to use as long as you do not mix up the cables...

      posted in Hardware
      tekka
      tekka
    • RE: MYSBootloader 1.4 testing

      @Lorenzo 1.3 and 1.4 are variants with different optimizations.I suggest using MYSBootloader 1.1 (MySensorsBootloaderRF24) if you need a bootloader right now.
      The source code / and .HEX can be found here: https://github.com/mysensors/MySensorsBootloaderRF24. Adjustments to channel and/or CE/CSN pins require you to recompile the code.

      posted in My Project
      tekka
      tekka
    • RE: FOTA Update and Node Repeater

      @jkandasa actually, MYSBootloader does not implement ACK handling (due to space constraints), but online FOTA does.

      posted in MyController.org
      tekka
      tekka
    • RE: 💬 MYSController

      @iocare-research-team False alarm (4 out of 67), most likely due to the executable being packed with UPX.

      posted in Announcements
      tekka
      tekka
    • RE: Split thread?

      Yep, I already thought about that. With the release of MYSBootloader 2.0 there will be a new thread about OTA FW updates and related information.

      posted in Hardware
      tekka
      tekka
    • RE: My experiences with MySensors

      @neverdie said in My experiences with MySensors:

      Is LoRa even supported by mysensors as yet? It's been a long while since I last checked.

      Yes, we support RFM95 radios and various LoRa settings: https://www.mysensors.org/apidocs-beta/group__RFM95SettingGrpPub.html

      posted in My Project
      tekka
      tekka
    • RE: Radio fails to init on W5100

      @ximinez can you describe your exact settings, wiring and hardware, I'll see if I can reproduce the same behaviour here.

      posted in Bug Reports
      tekka
      tekka
    • RE: Something's cooking in the MySensors labs...

      @monte yes, all transport types are supported

      posted in Announcements
      tekka
      tekka
    • RE: Is it possible to use ESP8266's OTA capabilities?

      @Anduril No, I simply followed these instructions:
      https://github.com/esp8266/Arduino/blob/master/doc/ota_updates/readme.md and used this sketch for testing:
      https://github.com/mysensors/Arduino/tree/development/libraries/MySensors/examples/GatewayESP8266OTA

      posted in Hardware
      tekka
      tekka
    • RE: [RFM95] Ant Switch/TxRx switch pins

      @eiten A similar approach was used for a NRF5 +PA/LNA module: https://github.com/mysensors/MySensors/pull/1414/files#diff-7b958e4728831b83d2359a08827bcae1R64-R80

      tekka007 created this issue in mysensors/MySensors

      open Multitransport implementation #1414

      posted in My Project
      tekka
      tekka
    • RE: Radio fails to init on W5100

      @ximinez Just tested your setup/settings using an Arduino UNO + W5100 shield and I can confirm, that SOFTSPI (A2=MISO, A1=MOSI, A0=SCK, D6=CSN, D5=CE) and HWSPI (D12=MISO, D11=MOSI, D13=SCK, D6=CSN, D5=CE + #define MY_W5100_SPI_EN 4) work with the refactored RF24 driver.

      Please double check you are using the most recent MySensors 2.0.0-beta lib and GatewayW5100 sketch.

      posted in Bug Reports
      tekka
      tekka
    • RE: WiFi MQTTGateway

      Managed to run MySensors on ESP8266 (RF24 connected to HSPI of ESP8266): I'm using the dev branch with some nasty hacks here and there - but so far so good. Tested RepeaterNode and SerialGateway sketch - both working. Currently testing core functionality. PR to be prepared.

      posted in Development
      tekka
      tekka
    • RE: Over the air updates

      @tbowmo
      internal: FW streaming via controller

      posted in General Discussion
      tekka
      tekka
    • RE: STM32L0 support

      @Marcell-Gerzsenyi Perfect, thanks for reporting back!

      posted in Hardware
      tekka
      tekka
    • RE: [Solved] Internal message I_DISCOVER_RESPONSE is handed over to the controller

      @jpaulin No, this is correct - the I_DISCOVER_RESPONSE messages can be used by the controller to reveal the network topology.

      posted in Bug Reports
      tekka
      tekka
    • RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta

      @scalz I think it's always a benefit to have additional eeprom or flash on your pcb for data storage. In terms of bootloader choice it totally depends on your case and preferences. MYSBootloader has some advantages over dualoptiboot, however, dualoptiboot offers more flexibility in an evolving system with e.g. changes of transmissions protocols. On top it is radio agnostic. In my current setup and during prototyping I prefer MYSBootloader over Dualoptiboot since many of my deployed nodes do not have additional external storage.

      posted in Development
      tekka
      tekka
    • RE: Over the air updates

      @tbowmo

      Yes, in the current setup, the node requests FW blocks the way they will flashed, i.e. page-wise. If one block is missing, the bootloader will re-request that block several times and reboot after a few unsuccessful attempts. The nRF24L01 has CRC on the payload and auto-retransmission of corrupt payloads (see RFInit; 15x every 150us).
      As soon as the OTA update is initiated, the CRC is invalidated and the sensor remains in the bootloader until the update is successful and the CRC is valid.

      Updating 100 nodes simultaneously: for my understanding, the limitations are if the gateway and/or repeater nodes can handle the traffic and the connection quality). Updating sensors semi-sequentially (e.g. 5 nodes at a time) works from my experience.

      Having added "security" with an external flash is certainly a nice feature (and opens other very interesting applications), but is it that important for OTA updating nodes with a down-time of a few minutes? Again, one could instruct the controller to update the nodes in a controlled fashion...

      posted in General Discussion
      tekka
      tekka
    • RE: [Solved] Arduino Nanos don't work as nodes

      @Avamander Can you upload both, the GW and node sketches from the working pair nanoGW/megaNode? Also, it would be helpful to see the full GW log from the non-working combination (nanoNode/megaGW) with MY_DEBUG_VERBOSE_RF24 enabled. If time allows, I'd like to reproduce and test your setup.

      posted in Hardware
      tekka
      tekka
    • RE: [Solved] Strange behavior of RFM69 OTA burning firmware after some research

      @yury interesting finding, can you also post the MYSController log?

      Edit: Ok, this issue has a dual cause: RFM69 driver re-transmission timing and a missing payload check for incoming messages (needed as a consequence of the timing issue) - I will elaborate this today or later this week.

      posted in Bug Reports
      tekka
      tekka
    • RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta

      @Fabien Are you running MYSController on WINE? I updated a few things, please update to the most recent version of MYSController (build 3312, here or via update button) and post the log. Thanks.

      posted in Development
      tekka
      tekka
    • RE: Over the air updates

      @tbowmo
      ...lol 😉 shouldn't you be preparing for bar hopping instead of updating the sensors?
      as mentioned previously, no big deal to have different updating options/sources in the bootloader, I will think about that 🙂

      posted in General Discussion
      tekka
      tekka
    • RE: Compile error for Pro Mini 5,5v 168

      @tboha
      Thanks for reporting, use of digitalFastWrite modified / restricted, ATmega168 should be ok now:

      https://github.com/mysensors/MySensors/pull/739

      tekka007 created this issue in mysensors/MySensors

      closed AVR: Restrict fast pin function use #739

      posted in Bug Reports
      tekka
      tekka
    • RE: Duplicate NODE ID?

      @sundberg84 yes, but there is no guarantee that both nodes receive the message (due to the low level ACK mechanism)

      posted in Development
      tekka
      tekka