Windows GUI/Controller for MySensors



  • @tekka silly ?

    But still last night changed from serial to Ethernet gw using iboard wiz5100 and the h/w changes.

    No issues but for later problems do I ---use myscontroller by way of FTDI connector>usb or

    -- continue to plug the original serial gw into laptop leaving Ethernet still in use ( plugged in).


  • Admin

    @5546dug said:

    @tekka silly ?

    But still last night changed from serial to Ethernet gw using iboard wiz5100 and the h/w changes.

    No issues but for later problems do I ---use myscontroller by way of FTDI connector>usb or

    -- continue to plug the original serial gw into laptop leaving Ethernet still in use ( plugged in).

    I'm not quite sure I understand your question. Are you having issues with the EthernetGW?



  • @tekka No everything is ok now but there will be problems in the future to sort out if history repeats itself.

    So it is just a learning question for troubleshooting later.

    To "see" Ethernet gw in your gui use FDTI>usb>laptop (with gw still connected to the router) or use the serial gw I had from before connected remotely to laptop via usb..

    As of now I use only Ethernet gw plugged into router and the serial gw is no longer plugged into my vera.



  • @cdr said:

    @tekka I feel really, really, REALLY stupid;

    I changed the channel in the mysensors config.h to 77, this was the reason no node would ever show up since the default mysbootloader uses the default channel 76.

    D'OH

    Thanks for your patience and help, everything is working now and I'm really happy!
    👍

    @tekka is there a way to change the default channel in MYSbootloader ?



  • What ware the designed values for "type" in the fimware_config.csv?
    Can I use this variable for my sensor IDs?


  • Hero Member

    @tekka, I've being playing with MYSController and MYSBootloader over last days, I'm totally amazed by them 😉 Thank you so much for developing such nice tool!

    If you allow me, I have only one ask for the santa-claus list: Perhaps it is possible for MYSBootloader capture serial output from a node, allowing OTA Serial monitor via MYSController? I know you guys are doing a miracle within 2KB, but who knows...

    Again, thanks a lot!


  • Admin

    @NewFolk said:

    @tekka is there a way to change the default channel in MYSbootloader ?

    Yes, but for that you'll have to re-compile it.


  • Admin

    @Pendragon said:

    What ware the designed values for "type" in the fimware_config.csv?
    Can I use this variable for my sensor IDs?

    Yes, but this is only an internal reference and not being used for AutoFW assignment


  • Hero Member

    This sounds like a great app! What is the current status? I clicked on the link in the OP expecting it would connect with GitHub (where there might be a ReadMe.txt which tells what the current status is), but instad of that it just downloaded the app right then and there! There are now 197 posts on this thread, which is a bit many to sort through to find the status....

    Move it to Github?


  • Admin

    @rvendrame said:

    @tekka, I've being playing with MYSController and MYSBootloader over last days, I'm totally amazed by them 😉 Thank you so much for developing such nice tool!

    If you allow me, I have only one ask for the santa-claus list: Perhaps it is possible for MYSBootloader capture serial output from a node, allowing OTA Serial monitor via MYSController? I know you guys are doing a miracle within 2KB, but who knows...

    Again, thanks a lot!

    Thanks, I'm glad you like the tools. 🙂
    Unfortunately your suggestion is not possible: bootloader and sketch run sequentially, not in parallel, and thus, cannot communicate with each other.


  • Admin

    @NeverDie said:

    This sounds like a great app! What is the current status? I clicked on the link in the OP expecting it would connect with GitHub (where there might be a ReadMe.txt which tells what the current status is), but instad of that it just downloaded the app right then and there! There are 197 posts on this thread, which is a bit many to sort through to find the status....

    Move it to Github?

    The first post is updated once a new version is released 🙂


  • Hero Member

    @tekka said:

    @NeverDie said:

    This sounds like a great app! What is the current status? I clicked on the link in the OP expecting it would connect with GitHub (where there might be a ReadMe.txt which tells what the current status is), but instad of that it just downloaded the app right then and there! There are 197 posts on this thread, which is a bit many to sort through to find the status....

    Move it to Github?

    The first post is updated once a new version is released 🙂

    So then, as far as status goes, based on the version number, I guess it's still an unstable alpha release? Am I reading between the lines correctly?

    I did download it, and I can see that the files are from 7/25/2015, but there's no readme or other indication as to its status.

    I imagine others probably have the same question....


  • Admin

    @NeverDie No, just never felt to change the major version number...I'll add it to the feature requests 🙂


  • Hero Member

    @tekka said:

    Unfortunately your suggestion is not possible: bootloader and sketch run sequentially, not in parallel, and thus, cannot communicate with each other.

    Maybe by re-implementing serial.print methods, in order to first checking which FW is installed, and if MYSBootloader, re-direct the output to a internal radio message? Just brainstorming....



  • @tekka

    @tekka said:

    @NewFolk said:

    @tekka is there a way to change the default channel in MYSbootloader ?

    Yes, but for that you'll have to re-compile it.

    Could you help me to find where to change channel? It is in MYSBootloaderHW.h ?



  • Du you all connect the controller direct to the gateway?

    I have a serial gateway which is connected directly to a raspberry running domoticz. I can rum ser2net and then connect the MYSController via ethernet. While ser2net is running, domoticz does not get any data from the gateway.

    Has anyone found a solution to use both, MYSController and a controller software (e.g. domoticz) in parallel?


  • Admin

    @NewFolk said:

    Could you help me to find where to change channel? It is in MYSBootloaderHW.h ?

    No, it's defined in MyConfig.h (see here)


  • Admin

    @rvendrame said:

    @tekka said:

    Unfortunately your suggestion is not possible: bootloader and sketch run sequentially, not in parallel, and thus, cannot communicate with each other.

    Maybe by re-implementing serial.print methods, in order to first checking which FW is installed, and if MYSBootloader, re-direct the output to a internal radio message? Just brainstorming....

    I like the idea, but again, the bootloader cannot handle that.
    However, we may think about implementing an OTA serial monitor in the library, let's say re-routing the serial output and transmit it via a dedicated debug sensor instance back to the GW...@hek, what do you think about that?


  • Admin

    Hmm.. One idea is that you could enable nodes to broadcast (they are not being routed/retransmitted) log data as internal (I_LOG) messages.

    Gateway would pick up these messages if node is in range and just log them to controller.



  • Hi Tekka.
    Great software, thanks for sharing.

    I 've being doing some tests and found a problem that seems to be related to my own sketches.

    When I upload through OTA the TimeReporter sketch, it uploads fine, and I am able to change the firmware afterward for another one.
    But when I upload my own sketch, It uploads fine, and works fine, but it stops to answer MYScontroller commands, such as reboot or assing firmware. So I am stuck with that sketch in that node. To flash another sketch in that node, I have to reflash MYSBootloader again via usbASP and later on, upload the desire sketch wit MYSController.

    Am I skiping something in my code that allows MYSBootloader to respond to MYSController commands?
    Could you please upload the TimeReporter.ino sketch as example of a working sketch with MYSController/MYSBootloader?

    Thanks, regards!

    Gonzalo


  • Admin

    @gonzalonal said:

    Hi Tekka.
    Great software, thanks for sharing.

    I 've being doing some tests and found a problem that seems to be related to my own sketches.

    When I upload through OTA the TimeReporter sketch, it uploads fine, and I am able to change the firmware afterward for another one.
    But when I upload my own sketch, It uploads fine, and works fine, but it stops to answer MYScontroller commands, such as reboot or assing firmware. So I am stuck with that sketch in that node. To flash another sketch in that node, I have to reflash MYSBootloader again via usbASP and later on, upload the desire sketch wit MYSController.

    Am I skiping something in my code that allows MYSBootloader to respond to MYSController commands?
    Could you please upload the TimeReporter.ino sketch as example of a working sketch with MYSController/MYSBootloader?

    Thanks, regards!

    Gonzalo

    There is nothing special about the sketch, except of calling gw.process() as often as possible. If you have delay() call gw.wait() instead.

    For the sake of completeness, here you go:

    #include <SPI.h>
    #include <MySensor.h>  
    #include <Time.h>  
    #include <avr\wdt.h> 
    
    #define NODE_ID AUTO
    #define CHILD_ID_GENERAL 0
    #define CHILD_ID_POWER 1
    #define CHILD_ID_TEMPERATURE 2
    #define SketchName "TimeReporter"
    #define SketchVersion "20150826"
    
    #define UPDATE_TIME 100000L
    #define REPORT_TIME 5000L
    
    MySensor gw;
    boolean timeReceived = false;
    unsigned long ms_now;
    unsigned long lastUpdate=0, lastRequest=0;
    
    MyMessage msgGeneral(CHILD_ID_GENERAL, V_VAR1);
    MyMessage msgPower(CHILD_ID_POWER, V_VOLTAGE);
    MyMessage msgTemperature(CHILD_ID_TEMPERATURE, V_TEMP);
    
    void setup()  
    {  
      // watchdog 8s
      wdt_enable(WDTO_8S);
      // repeater mode on
      gw.begin(NULL,NODE_ID,true);
      // Send sketch version and information
      gw.sendSketchInfo(SketchName, SketchVersion);
      // Register sensors to gateway
      gw.present(CHILD_ID_GENERAL, S_ARDUINO_NODE,"Main node"); 
      gw.present(CHILD_ID_POWER, S_POWER,"ADC power",true); 
      gw.present(CHILD_ID_TEMPERATURE, S_TEMP,"Chip temp"); 
      // request time
      gw.requestTime(receiveTime);
        
    }
    
    // time callback
    void receiveTime(unsigned long time) {
      // Ok, set incoming time 
      setTime(time);
      timeReceived = true;
    }
    
    long readMUX(uint8_t aControl) {
      long result;
      
      ADMUX = aControl;
      delay(20); // Wait for Vref to settle
      ADCSRA |= _BV(ADSC); // Convert
      while (bit_is_set(ADCSRA,ADSC));
      result = ADCL;
      result |= ADCH<<8;
      return result;
    }
    
    long readVcc() {
     // Read 1.1V reference against AVcc
      return 1126400L / readMUX(_BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1));  
    }
    
    float readTemp() {
     // Read 1.1V reference against MUX3  
      return (readMUX(_BV(REFS1) | _BV(REFS0) | _BV(MUX3)) - 125) * 0.1075; 
    }
     
    void loop()     
    {     
      // watchdog reset
      wdt_reset();
      // process incoming messages and repeater function
      gw.process();
      // get millis since start
      ms_now = millis();
      // time update needed?
      if (timeReceived && ms_now-lastRequest > UPDATE_TIME) {
        // Request time from controller. 
        gw.requestTime(receiveTime);  
        lastRequest = ms_now;
      }
      
      // report time
      if (timeReceived && ms_now-lastUpdate > REPORT_TIME) {
        
        gw.send(msgGeneral.set(ms_now));  
        char Output[10];
        String OutStr = String(hour()) + ":" + String(minute()) + ":" + String(second());
        OutStr.toCharArray(Output,10);
        
        gw.send(msgGeneral.set(Output));
        gw.send(msgTemperature.set(readTemp(),1));
        gw.send(msgPower.set(readVcc()),true);
        lastUpdate = ms_now;
      }
    
    }
    


  • Thanks Tekka for replying.

    Just another silly question.
    How should I compile my sketch to later be uploaded into a MYSBootloader Arduino Nano?
    Should I compile for "Arduino Nano" or for "ATMega328 16Mhz MYSBootloader"?

    Thanks, regards.

    Gonzalo


  • Admin

    @gonzalonal Assuming that you have the Nano 3.0, you should be good to go with "ATMega328 16Mhz MYSBootloader"...



  • Ok, thanks for that.

    I finally found my problem.
    The Node was sleeping most of the time. In spite of waking up twice per second, it was not enough to enter the uploading mode in the mysbootloader, so the node wasn't answering back to the gateway, nor MYSController.

    Now I have a questions

    How can I OTA update/upload the firmware of a sleeping node? Should the gateway, or a relay node, send the upload message to the sleeping node as soon as it wakes up for transmiting its data?
    I guess that in order to do that, the sleeping node should always wait for an aknowledge or some kind of message after waking up. I mean:

    Sleeping node wakes up
    Then, it send its data to controller or to relay node
    Afterwards, it wait for the controller to acknoledge the data just send, and to tell him (sleeping node) if there is a firmware upgrade for it.
    If there's not, go back to sleep. If there is, go to OTA upgrade routine.

    Thanks, regards.


  • Admin

    @gonzalonal
    OTA updates for sleeping nodes with MYSBootloader:

    • add gw.wait(200) after the gw.send() (=node processes incoming messages for 200ms after sending a message)
    • In MYSController, right-click on the node, select "Battery-powered / sleeping", then assign FW, confirm to reboot node (reboot request is now queued)

    MYSController will now wait until it receives a message from that node, send the reboot command and hence, initiate OTA update.



  • @tekka Great Tekka, thanks again. I will try that.
    Regards.



  • Hi,

    I am trying to debug a mysensors temp. sensor using this tool (it is not detected by Domoticz). I connected the serial gateway to your program and when I turn the temperature sensor, I see that there is traffic back and forth between the gateway and the sensor. But my knowledge stops there.... any pointers? I can upload a screenshot of the log if it helps.

    Thanks
    Z.


  • Admin

    @zuru screenshots and/or log files are always good starting points 😉



  • I found my problem.... so everything is fine now.
    Thanks
    Z.



  • Hey guys,
    maybe anyone can help. I tried to debug my sensors, but didn't got MYSController to talk with my gateway.
    I have the NRF24L01+ directly connected to my rPi and can use the Gateway with Pimatic plugin. Then I tried different ways to give MYSController access:

    1. redirecting the serial gateway to tcp port (tried ser2net and socat) to use ethernet option, but didn't got this to work.
    2. creating a new gateway using a spare nano with NRF24L01+ at my PC. This one worked, but the gateway didn't noticed my nodes. Are they somehow coded to only talk with the gateway they know? I waited serveral minuters (sensors reporting each minute), but didn't got any readings. I assume this programm has an auto update to show now nodes, right?

    Hope someone can help, I would realy love the option to debug using my windows PC and in future upload new sketches OTA (with new bootloader).

    Regards,
    Anduril



  • I have followed the procedure listed and that mentioned in post 77. Pro Mini 3.3v 8mhz Arduino.

    I keep getting the following message in the debug window every few minutes. Have repeated the process in post 77 several times however get the same results.

    [2015-09-01 18:09:17.276 Info] DEBUG Undefined firmware/type for node=2
    [2015-09-01 18:09:17.323 Info] INFO BL version=257
    [2015-09-01 18:09:17.354 Info] INFO Send FW info to node 2: type=A, version=1, blocks=0x0048, CRC=0xD098
    [2015-09-01 18:09:17.386 Info] TX 2;0;4;0;1;0A000100480098D0
    [2015-09-01 18:09:17.417 Info] RX 2;255;4;0;0;FFFFFFFFFFFFFFFF0101

    Any pointers??


  • Admin

    @allysmith please provide more information about the setup and upload the MYSController log for further troubleshooting



  • @tekka What kind of SPI flash is needed for this OTA stuff? Can you provide part numbers?


  • Admin

    @ericvdb MYSBootloader works without external flash, in contrary to the sensebender board and dualoptiboot bootloader



  • @tekka Thanks for getting back to me. This is my my first go at this bootloader. Hope I am not doing something daft!

    I have Arduino IDE 1.6.5, MySensors 1.5, MYSBootloader 1.1, MYSController_0_1_2_282 running on Windows 8, USBasp to urn bootloader.

    Arduino Pro Mini 3.3v 8mhz board. I am using the standard settings in your write up for the boards.txt

    Log file hopefully attached.

    MySensors_20150901-185920.log


  • Admin

    @allysmith Try clearing EEPROM via MYSBootloader command, assign blink FW and upload the entire log again....



  • @tekka As requested, cleared EEPROM via MYSBootloader, assigned blink FW.
    Attached is the log.
    Device shows up in the nodes window as Booting: 65535:65535 (BL1.1)

    MySensors_20150902-055736.log



  • @tekka Have made a change to how I was powering the NRF and now straight from battery.

    Looks like it was a power issue. Sufficient for transmit from the node ut not for receiving the updates.

    See attached log.

    Now got a different issue when I tried to reassign the FW from link to Timereporter.

    I think I am moving in the right direction now.

    Thanks for your help so far.

    Keep up this great work.Deug.txt



  • WOOOHOOO, i got OTA working 👯
    This is awesome guys

    BTW, I guess OTA will not work if there's a repeater in the middle?


  • Admin

    @ericvdb said:

    WOOOHOOO, i got OTA working 👯
    This is awesome guys

    BTW, I guess OTA will not work if there's a repeater in the middle?

    congrats! 🙂
    OTA updates will also work with repeating nodes in between...



  • @tekka i guess OTA is not available when using a MQTT gateway?

    I would like to switch my whole setup to MQTT, but don't wanna loose the super fantastic OTA feature.


  • Admin

    @ericvdb in theory possible, but AFAIK not supported by any controller...at the moment 🙂



  • @tekka would you mind describing in detail the process (on the controller side) how the OTA works?



  • Can somebody explain to me how the "Reassing ID" function works in MYScontroller? I haven't been able to change a ID remotely.

    ID's keep the same after reboots or power cycles, with or without the AutoID option on.


  • Hero Member

    @cdr IDs are assigned the first time the node starts up and then stored in the Arduino EEPROM. To get a new ID, you would have to clear (that portion of) the EEPROM, or you can upload a copy of the sketch with the ID hard-coded.

    Cheers
    Al



  • It's possible to reassign ID if you use MYSBootloader.



  • I use MYSbootloader, but can neither get "reassign ID", nor "clear eeprom" functions to work.

    I guess I could make a cleareeprom hex, but that feels like a workaround.



  • I just try (never before) and it doens't work for me too.



  • quite a few post. so apologies if this has been asked before.
    I'm trying to upload a sketch(hex) to one of my nano's
    it's going but froze at 70%
    i had to reboot the gateway.
    this time it got to 87% and seems froze again.
    any thoughts/suggestions on why the gateway is freezing up?

    edit: i can't seem to get a sketch to upload. it gets to some random % and then the gateway freezes.
    a push of the gateway reset button seems to start it over. but then freezes at random.

    edit 2: must have been a distance thing.. i put the bridge right next to the gateway and the code uploaded quickly without freezing.
    however, i still am curious as to why the gateway fails to respond/freezes if the firmware is not able to be uploaded.


  • Admin

    @cdr said:

    Can somebody explain to me how the "Reassing ID" function works in MYScontroller? I haven't been able to change a ID remotely.

    ID's keep the same after reboots or power cycles, with or without the AutoID option on.

    Reassign ID & clear EEPROM are commands implemented in MYSBootloader 1.1: A special ST_FIRMWARE_CONFIG_RESPONSE sequence (see the source code for detail) will instruct the bootloader to either change the ID in EEPROM or clear the EEPROM. The reassign ID command will only have effect, if the firmware has does not have static a ID setting. In order to use the bootloader commands the controller should be able to reboot the node.



  • Hi @tekka,

    Thanks for the reply, I created a "clear eeprom" hex and after uploading it is working as expected, the ID resets.

    Using the function in Mycontroller however, does not work. Not sure if this is a bug, or perhaps an error caused by an Arduino clone, but the "reassign ID" function is not working as intended here.

    Anyone here that got it working as intended?


  • Admin

    @cdr please post the MYScontroller log to figure out what's going on. Thanks



  • @Tekka Same "bug" here" with MYSBootloader 1.1 (hex from github) on arduino nano. Try to change ID of node N°1, Log :

     [2015-09-21 21:52:57.053 Info] INFO	*** Logging START ***
     [2015-09-21 21:52:57.053 Info] VERSION	MYSController 0.1.2.282
     [2015-09-21 21:52:57.053 Info] STARTUP	INI file loaded
     [2015-09-21 21:52:57.053 Info] STARTUP	Loading FW repository...
     [2015-09-21 21:52:57.054 Info] REPO	FW "Blink" loaded. t=10, v=1, blocks=72, crc=0xD098
     [2015-09-21 21:52:57.064 Info] REPO	FW "TimeReporter" loaded. t=20, v=1, blocks=840, crc=0x4AC5
     [2015-09-21 21:52:57.076 Info] REPO	FW "Motion" loaded. t=30, v=1, blocks=1024, crc=0xD1BF
     [2015-09-21 21:52:57.092 Info] REPO	FW "Sensebender Micro" loaded. t=100, v=1, blocks=1344, crc=0x3482
     [2015-09-21 21:52:57.108 Info] REPO	FW "Sensebender Blink" loaded. t=110, v=1, blocks=768, crc=0x1314
     [2015-09-21 21:52:57.108 Info] REPO	FW repository loaded. Items=5
     [2015-09-21 21:52:57.111 Info] STARTUP	Initialize message types
     [2015-09-21 21:52:57.111 Info] NODE	New node discovered, node id=0
     [2015-09-21 21:52:57.111 Info] NODE	New node discovered, node id=255
     [2015-09-21 21:52:59.606 Info] INFO	Connected to 192.168.1.90:5003
     [2015-09-21 21:53:04.373 Info] NODE	New node discovered, node id=1
     [2015-09-21 21:53:04.376 Info] CHILD	New child discovered, node id=1, child id=internal
     [2015-09-21 21:53:04.379 Info] INFO	BL version=257
     [2015-09-21 21:53:04.380 Info] INFO	No FW assigned
     [2015-09-21 21:53:04.383 Info] RX	1;255;4;0;0;1E0001000004BFD10101
     [2015-09-21 21:53:04.681 Info] NODE	New node discovered, node id=4
     [2015-09-21 21:53:04.685 Info] CHILD	New child discovered, node id=4, child id=1
     [2015-09-21 21:53:04.688 Info] RX	4;1;1;0;0;21.6
     [2015-09-21 21:53:04.691 Info] CHILD	New child discovered, node id=4, child id=2
     [2015-09-21 21:53:04.694 Info] RX	4;2;1;0;1;71
     [2015-09-21 21:53:06.421 Info] INFO	BL version=257
     [2015-09-21 21:53:06.424 Info] INFO	No FW assigned
     [2015-09-21 21:53:06.427 Info] RX	1;255;4;0;0;1E0001000004BFD10101
     [2015-09-21 21:53:08.470 Info] INFO	BL version=257
     [2015-09-21 21:53:08.472 Info] INFO	No FW assigned
     [2015-09-21 21:53:08.476 Info] RX	1;255;4;0;0;1E0001000004BFD10101
     [2015-09-21 21:53:14.903 Info] UPDATE	4295098650
     [2015-09-21 21:53:14.906 Info] INFO	BL version=257
     [2015-09-21 21:53:14.909 Info] INFO	No FW assigned
     [2015-09-21 21:53:14.913 Info] RX	1;255;4;0;0;1E0001000004BFD10101
     [2015-09-21 21:53:14.916 Info] INFO	BL version=257
     [2015-09-21 21:53:14.918 Info] INFO	No FW assigned
     [2015-09-21 21:53:14.922 Info] RX	1;255;4;0;0;1E0001000004BFD10101
     [2015-09-21 21:53:14.925 Info] DEBUG	Update child id=255, type=ARDUINO_NODE
     [2015-09-21 21:53:14.929 Info] RX	1;255;0;0;17;1.5
     [2015-09-21 21:53:14.933 Info] TX	1;255;3;0;6;M
     [2015-09-21 21:53:14.937 Info] RX	1;255;3;0;6;0
     [2015-09-21 21:53:14.945 Info] CHILD	New child discovered, node id=0, child id=0
     [2015-09-21 21:53:14.950 Info] RX	0;0;3;0;14;Gateway startup complete.
     [2015-09-21 21:53:16.680 Info] RX	1;255;3;0;11;Motion Sensor
     [2015-09-21 21:53:16.691 Info] RX	1;255;3;0;12;1.0
     [2015-09-21 21:53:16.695 Info] CHILD	New child discovered, node id=1, child id=1
     [2015-09-21 21:53:16.701 Info] DEBUG	Update child id=1, type=MOTION
     [2015-09-21 21:53:16.714 Info] RX	1;1;0;0;1;
     [2015-09-21 21:53:16.718 Info] RX	1;1;1;0;16;0
     [2015-09-21 21:53:38.779 Info] INFO	Node trigger set, node=1, trigger=1
     [2015-09-21 21:53:39.793 Info] INFO	Retained message triggered for release, node=1
     [2015-09-21 21:53:39.796 Info] CHILD	New child discovered, node id=1, child id=1
     [2015-09-21 21:53:39.800 Info] TX	1;0;3;0;13;0
     [2015-09-21 21:53:39.805 Info] RX	1;1;1;0;16;1
     [2015-09-21 21:53:39.808 Info] CHILD	New child discovered, node id=1, child id=internal
     [2015-09-21 21:53:39.811 Info] DEBUG	Update child id=255, type=ARDUINO_NODE
     [2015-09-21 21:53:39.815 Info] RX	1;255;0;0;17;1.5
     [2015-09-21 21:53:56.729 Info] INFO	Disconnected
     [2015-09-21 21:53:58.924 Info] INFO	*** Logging STOP ***```

  • Admin

    @Fabien I have an idea what is going wrong here: To confirm please enable DEBUG in the gateway and kindly re-post the full log again. The issue is related to signing...



  • @tekka, I can't enable debug if I'm right. Not enouch space for the sketch.


  • Admin

    Issue is signing-related and fixed in the new version. MYSBootloader 1.5. release pending. Thanks to @Fabien for testing.


  • Plugin Developer

    @tekka Is it possible to upgrade MYSbootloader from 1.1 to 1.5 via OTA?


  • Admin

    @jkandasa Technically possible but tricky...


  • Plugin Developer

    @tekka Could you please explain the steps. Otherwise on next upgrade I have open all the boxes and play with soldering iron 😞


  • Admin

    @jkandasa Please read about NRWW and RWW flash memory sections of Atmel MCUs. The trick is (in summary) to have RWW section code calling NRWW flash updating procedures in order to same-section code...


  • Admin

    I have decided it is time for me to finally learn how to do OTA uploading so I read though all the posts to learn how to do it. As I was reading through the posts I was thinking how this tool would be also be useful for troubleshooting. I'm not at home so I can't do any testing right now but I was wondering if it's possible to have the MYSController accessing my Ethernet gateway at the same time my controller (Vera) is? It seems like there could be problems with ACK messages but maybe I'm not fully understanding something? What I'd like to do is have this controller running to watch messagew but not have it interfere with normal communications with Vera. Is that possible? Thanks in advance!


  • Hero Member

    @petewill , I have Vera (lite) + Ethernet GW, and eventually I fire the MYSController in my computer in order to debug / update FW etc. They all live together and in peace 😉 Thanks to @tekka for producing such great tool!



  • @petewill yeah i 2nd that.
    i keep it up to make sure the sensors are sending and then watch the change in vera.
    so no problems running both at the same time for however long you want.


  • Admin

    @rvendrame & @mvader Great, thanks!


  • Contest Winner

    @tekka Do you have any plan of supporting DualOptiboot in the MYSController (not a request, just an inquiry). I believe (at least for myself) that your excellent tool is the best option to instrument OTA and since I have included external flash in my boards I would like to use DualOptiboot for OTA since it provides some "safety" in case RF transmission is shaky.
    I am not saying MYSBootloader is bad in any way, but since it does not need an external flash (which is a good thing), it is more sensitive to RF interference and sometimes I suppose boards will be "soft bricked" in that case.


  • Contest Winner

    @petewill I can also confirm that MYSController can coexist with Vera.
    I use node-red to abstract things. In my case, I want the Vera (and MYSController) to be left in the dark on how my controller is actually implemented and node-red is the ideal tool to do this.

    This is my "flow"
    upload-15f178c5-b7e4-4216-b469-301b48dcc060
    Using it, I can have either a serial or an ethernet gw without the controllers knowing.
    Instead, I create network serial pipes using socat that the controllers connect to.
    I can also filter out the debug prints from the gw if I want to examine something and also prevent them from "disturbing" the controllers (if they do not explicitly support the debug messages or gets bogged down by them).

    I still need to see if the node-red nodes support OTA since they key packets on '\n' currently which is not really "binary friendly" though, but for normal MySensors operation not involving binary streams, it works just fine 🙂


  • Admin

    @Anticimex The latest MYSController release supports DualOptiboot, simply check the sensebender board option (node tree, right click). Besides that, MYSBootloader will not leave you with a "soft-bricked" node but rather with a slower OTA update time in the case of RF interferences. If the OTA update fails for whatever reasons (loss of connection, power issues, etc.) MYSBootloader will re-request the FW during the next power-up. Since many community members do not have an external flash option, a slightly longer down-time for the direct update should not cause any problems. Importantly, a faulty sketch with the DualOptiboot update (e.g. no regular gw.process() calls) will result in a real "soft-bricked" node. In the end, both OTA update options have their (dis)advantages, a hardware configuration w/o external flash will only work with offline OTA updates.


  • Admin

    @Anticimex Thanks! Looks like I have some more reading to add to the list. Node-Red looks cool but well beyond my current knowledge...



  • @mvader said:

    quite a few post. so apologies if this has been asked before.
    I'm trying to upload a sketch(hex) to one of my nano's
    it's going but froze at 70%
    i had to reboot the gateway.
    this time it got to 87% and seems froze again.
    any thoughts/suggestions on why the gateway is freezing up?

    edit: i can't seem to get a sketch to upload. it gets to some random % and then the gateway freezes.
    a push of the gateway reset button seems to start it over. but then freezes at random.

    edit 2: must have been a distance thing.. i put the bridge right next to the gateway and the code uploaded quickly without freezing.
    however, i still am curious as to why the gateway fails to respond/freezes if the firmware is not able to be uploaded.

    I thought this may have been a fluke or something. but tonight i tried to OTA a mysensors sensebender board and ran into the same issue basically.
    i get to some random point 60 or 70 % and then it just stops.
    i moved my sensor right next to the gateway and reset it.
    took off again.. but then stopped at a certain point.
    and i see "firmware 130" a few times but nothing else about firmware.
    the board and gateway continue to function, the sensor sends back temp and humidity etc. but nothing else about firmware. on the left in the gui, it says FW updating. but that never changes.
    i won't post the entire debug log, but just the last part of it so you can see what i'm talking about

    9/29/2015 21:34:44	RX	3;255;4;0;2;82000100DA04
    9/29/2015 21:34:44	TX	3;255;4;0;3;82000100D90421503109410951095695479537952795
    9/29/2015 21:34:44	RX	3;255;4;0;2;82000100D904
    9/29/2015 21:34:44	TX	3;255;4;0;3;82000100D80460E874E88EE190E0A70196010E945F2C
    9/29/2015 21:34:44	RX	3;255;4;0;2;82000100D804
    9/29/2015 21:34:44	TX	3;255;4;0;3;82000100D704EF92FF92CF93DF93EC016A017B01B22E
    9/29/2015 21:34:44	RX	3;255;4;0;2;82000100D704
    9/29/2015 21:34:44	TX	3;255;4;0;3;82000100D6040F91FF90DF90CF900895BF92CF92DF92
    9/29/2015 21:34:44	RX	3;255;4;0;2;82000100D604
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100D5048064808381E090E00F90DF91CF911F91
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100D504
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100D404FC91579760835096ED91FC9151978081
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100D404
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100D304FC915397808180620CC0D6015696ED91
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100D304
    9/29/2015 21:34:45	RX	3;1;1;0;0;75.5
    9/29/2015 21:34:45	RX	3;2;1;0;1;56
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100D204FF4F6083D6015B960C935B975296ED91
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100D204
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100D1040E940D266981EBCF838DE80FF11DE35A
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100D104
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100D004ED91FC915197808185FFF1CFC6016983
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100D004
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100CF04848DF81211C00FB607FCF9CFD6015096
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100CF04
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100CE04038D10E00F5F1F4F0F731127F02EF601
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100CE04
    9/29/2015 21:34:45	TX	3;255;4;0;3;82000100CD045096ED91FC915197808185FD2EC0F601
    9/29/2015 21:34:45	RX	3;255;4;0;2;82000100CD04
    9/29/2015 21:34:46	TX	3;255;4;0;3;82000100CC045B969C915B975C968C915C97981307C0
    9/29/2015 21:34:46	RX	3;255;4;0;2;82000100CC04
    9/29/2015 21:34:46	TX	3;255;4;0;3;82000100CB04CDB7DEB76C0181E0D60158968C935897
    9/29/2015 21:34:46	RX	3;255;4;0;2;82000100CB04
    9/29/2015 21:34:46	TX	3;255;4;0;3;82000100CA04CF92DF92FF920F931F93CF93DF931F92
    9/29/2015 21:34:46	RX	3;255;4;0;2;82000100CA04
    9/29/2015 21:34:46	RX	3;255;3;0;0;59
    9/29/2015 21:34:46	TX	3;255;4;0;3;82000100C904EDCFCE010E940D26E7CFDF91CF910895
    9/29/2015 21:34:46	RX	3;255;4;0;2;82000100C904
    9/29/2015 21:34:46	TX	3;255;4;0;3;82000100C804F5CF808185FFF2CFA889B9898C9185FF
    9/29/2015 21:34:46	RX	3;255;4;0;2;82000100C804
    9/29/2015 21:34:46	TX	3;255;4;0;3;82000100C70405C0A889B9898C9186FD0FC00FB607FC
    9/29/2015 21:34:46	RX	3;255;4;0;2;82000100C704
    9/29/2015 21:34:47	TX	3;255;4;0;3;82000100C604EC01888D8823C9F0EA89FB89808185FD
    9/29/2015 21:34:47	RX	3;255;4;0;2;82000100C604
    9/29/2015 21:34:47	TX	3;255;4;0;3;82000100C504F389E02D80818F7D80830895CF93DF93
    9/29/2015 21:34:47	RX	3;255;4;0;2;82000100C504
    9/29/2015 21:34:47	TX	3;255;4;0;3;82000100C4048C9180648C93938D848D981306C00288
    9/29/2015 21:34:47	RX	3;255;4;0;2;82000100C404
    9/29/2015 21:34:47	RX	3;1;1;0;0;75.5
    9/29/2015 21:34:47	RX	3;2;1;0;1;56
    9/29/2015 21:34:47	TX	3;255;4;0;3;82000100C3048F739927848FA689B7892C93A089B189
    9/29/2015 21:34:48	RX	3;255;4;0;2;82000100C304
    9/29/2015 21:34:48	TX	3;255;4;0;3;82000100C204A80FB11DA35ABF4F2C91848D90E00196
    9/29/2015 21:34:48	RX	3;255;4;0;2;82000100C204
    9/29/2015 21:34:48	TX	3;255;4;0;3;82000100C104692781110C9400000895FC01848DDF01
    9/29/2015 21:34:48	RX	3;255;4;0;2;82000100C104
    9/29/2015 21:34:48	RX	3;1;1;0;0;75.5
    9/29/2015 21:34:48	RX	3;2;1;0;1;56
    9/29/2015 21:34:48	TX	3;255;4;0;3;82000100C00497E2892B49F080E090E0892B29F00E94
    9/29/2015 21:34:48	RX	3;255;4;0;2;82000100C004
    9/29/2015 21:34:48	TX	3;255;4;0;3;82000100BF049F73928F90E008958FEF9FEF089589E6
    9/29/2015 21:34:48	RX	3;255;4;0;2;82000100BF04
    9/29/2015 21:34:48	TX	3;255;4;0;3;82000100BE04828DDF01A80FB11D5D968C91928D9F5F
    9/29/2015 21:34:48	RX	3;255;4;0;2;82000100BE04
    9/29/2015 21:34:48	TX	3;255;4;0;3;82000100BD048FEF9FEF0895FC01918D828D981761F0
    9/29/2015 21:34:48	RX	3;255;4;0;2;82000100BD04
    9/29/2015 21:34:49	RX	3;255;3;0;0;60
    9/29/2015 21:34:49	RX	3;255;4;0;2;130
    9/29/2015 21:34:49	RX	3;1;1;0;0;75.6
    9/29/2015 21:34:49	RX	3;2;1;0;1;56
    9/29/2015 21:34:49	RX	3;255;4;0;2;130
    9/29/2015 21:34:49	RX	3;1;1;0;0;75.5
    9/29/2015 21:34:49	RX	3;2;1;0;1;56
    9/29/2015 21:34:50	RX	3;255;4;0;2;130
    9/29/2015 21:34:50	RX	3;255;4;0;2;130
    9/29/2015 21:34:50	RX	3;1;1;0;0;75.6
    9/29/2015 21:34:50	RX	3;2;1;0;1;56
    9/29/2015 21:34:51	RX	3;1;1;0;0;75.5
    9/29/2015 21:34:51	RX	3;2;1;0;1;56
    9/29/2015 21:34:51	RX	3;255;4;0;2;130
    9/29/2015 21:34:51	RX	3;1;1;0;0;75.5
    9/29/2015 21:34:51	RX	3;2;1;0;1;56
    9/29/2015 21:34:58	RX	1;1;1;0;0;72.8
    9/29/2015 21:34:58	RX	1;2;1;0;1;58
    9/29/2015 21:35:55	RX	3;1;1;0;0;75.3
    9/29/2015 21:35:55	RX	3;2;1;0;1;56
    9/29/2015 21:36:02	RX	1;1;1;0;0;72.8
    9/29/2015 21:36:02	RX	1;2;1;0;1;58
    9/29/2015 21:37:06	RX	1;1;1;0;0;72.9
    9/29/2015 21:37:06	RX	1;2;1;0;1;58
    9/29/2015 21:38:03	RX	3;1;1;0;0;75.0
    9/29/2015 21:38:03	RX	3;2;1;0;1;57
    9/29/2015 21:38:10	RX	1;1;1;0;0;72.9
    9/29/2015 21:38:10	RX	1;2;1;0;1;58
    9/29/2015 21:38:58	RX	2;1;1;0;0;72.1
    9/29/2015 21:39:07	RX	3;1;1;0;0;74.9
    9/29/2015 21:39:07	RX	3;2;1;0;1;57
    9/29/2015 21:39:14	RX	1;1;1;0;0;72.9
    9/29/2015 21:39:14	RX	1;2;1;0;1;58
    9/29/2015 21:40:03	RX	2;1;1;0;0;72.2
    9/29/2015 21:40:03	RX	2;2;1;0;1;55
    9/29/2015 21:40:11	RX	3;1;1;0;0;74.8
    9/29/2015 21:40:11	RX	3;2;1;0;1;58
    9/29/2015 21:40:17	RX	1;1;1;0;0;72.9
    9/29/2015 21:40:17	RX	1;2;1;0;1;58
    9/29/2015 21:41:15	RX	3;1;1;0;0;74.7
    9/29/2015 21:41:15	RX	3;2;1;0;1;58
    9/29/2015 21:41:21	RX	1;1;1;0;0;72.8
    9/29/2015 21:41:21	RX	1;2;1;0;1;58
    9/29/2015 21:42:18	RX	3;1;1;0;0;74.6
    9/29/2015 21:42:19	RX	3;2;1;0;1;58
    9/29/2015 21:42:25	RX	1;1;1;0;0;72.9
    9/29/2015 21:42:25	RX	1;2;1;0;1;58
    9/29/2015 21:43:22	RX	3;1;1;0;0;74.6
    9/29/2015 21:43:22	RX	3;2;1;0;1;58
    9/29/2015 21:43:29	RX	1;1;1;0;0;72.9
    9/29/2015 21:43:29	RX	1;2;1;0;1;58
    9/29/2015 21:44:26	RX	3;1;1;0;0;74.4
    9/29/2015 21:44:26	RX	3;2;1;0;1;56
    9/29/2015 21:44:33	RX	1;1;1;0;0;72.9
    9/29/2015 21:44:33	RX	1;2;1;0;1;58
    9/29/2015 21:45:23	RX	2;1;1;0;0;72.1
    9/29/2015 21:45:23	RX	2;2;1;0;1;54
    9/29/2015 21:45:30	RX	3;1;1;0;0;74.2
    9/29/2015 21:45:30	RX	3;2;1;0;1;54
    9/29/2015 21:45:37	RX	1;1;1;0;0;72.9
    9/29/2015 21:45:37	RX	1;2;1;0;1;58
    9/29/2015 21:46:27	RX	2;1;1;0;0;72.2
    9/29/2015 21:46:28	RX	2;2;1;0;1;54
    9/29/2015 21:46:41	RX	1;1;1;0;0;72.9
    9/29/2015 21:46:41	RX	1;2;1;0;1;58
    9/29/2015 21:47:38	RX	3;1;1;0;0;73.9
    9/29/2015 21:47:38	RX	3;2;1;0;1;53
    9/29/2015 21:47:45	RX	1;1;1;0;0;72.9
    9/29/2015 21:47:45	RX	1;2;1;0;1;58
    

  • Contest Winner

    @tekka ok, cool! But I installed from the link in the top post last night and I could not find DualOptiboot mentioned anywhere. Is it only by picking a Sensbender board type that option appears? Are there other settings also affected by that? My board(s) are not Sensbenders per se although they should have the same hw features.


  • Admin

    @Anticimex Yes, use Sensebender board for the DualOptiboot option. MYSController will simply initiate the FW upload (assuming that OTA update is uncommented...)


  • Admin

    @mvader please upload the entire log file to check a few things. Also, if the node is next to (or too close) you will get RF interferences (this has been observed for the large antenna and max tx power).

    EDIT: before I forget, also upload the log from the node - this will help to elicit the problem...



  • @tekka I tried from the basement.
    moved up to the fireplace mantel and then finally put it about 1 foot away from the gateway. still the same thing.
    tonight after work i will pull the complete logs and post for your review.
    thanks!


  • Contest Winner

    @tekka I think I might have found a bug (or perhaps this is considered a feature request):
    The GW "version" (1.5) is not shown in the node info although it has sent a response to a version request as shown here:
    upload-59d5fea8-52ae-4f8c-8bfa-bdb9ebac82a2
    upload-fbd28c37-06f4-46d5-bba4-be8e6f6ad412

    Also, I am not sure what the "signing" field is intended for. Showing signing request status? It says "Unknown" for both my GW and my "secure" node. The node require signing and the gw is signing messages sent to it. Perhaps reserved for future functionality?

    Still a great and very useful tool!



  • @mvader said:
    i'm not sure how to grab the log from the node, please advise.
    here is the MYSController debug log in full.
    MySensors_20150930-203313.log


  • Plugin Developer

    @tekka MYSBootloader is a great gift for us. With zero touch we can upgrade our firmware in to target board.

    In some cases I want to recompile the source code for 8 MHz or lesser frequency or different boards. As this is not a Arduino code, I do not know how to recompile this software. I hope many people facing issue with recompiling. Could you please add some document how to recompile this source code under https://github.com/mysensors/Arduino/tree/master/MYSBootloader

    Also can you post source code of MYSBootloader 1.5 version?

    Thank you!


  • Admin

    @jkandasa The source code for 1.5 will be available upon release (mid-end October if time allows).


  • Admin

    @mvader For the node log: simply connect a serial adapter to the sensebender node and retrieve the serial output.


  • Admin

    @Anticimex No, not a bug and in the feature request list (I_VERSION handling). The signing field is updated once the node sends its signing preferences.


  • Contest Winner

    @tekka Ok, but then I believe I found a bug, because I have reset my node and it did send its presentation messages, but the field did not update. I'm not at home right now so I can't get you the logs but I will see if I can replicate the steps and send you later on.


  • Admin

    @tekka Thanks for this great tool! I have been using it to monitor my nodes successfully for over a day. It's great. I do have a couple of questions.

    Is there a way to see Variables that are sent from my controller (Vera)? I see the request sent from the node but not the response from Vera. Here is a screenshot. I would expect to see numbers sent back from Vera but maybe I'm missing something.
    Variables.png

    Is there a way to send a message to a node that hasn't checked in with the controller yet? I tried to manually type in a Node and Sensor but was unable to. I'd like to be able to send commands to nodes that haven't checked in if possible. For example, if the controller wasn't running for a while but I want to start it up to send a reboot command to a node that is no longer communicating. Or, if I have a relay node that doesn't check in often but I need to change the state.

    Thanks again!!


  • Admin

    @petewill said:

    Is there a way to see Variables that are sent from my controller (Vera)?

    No, not to my knowledge - anybody?

    Is there a way to send a message to a node that hasn't checked in with the controller yet? I tried to manually type in a Node and Sensor but was unable to.

    You can manually add a node, but not a sensor: in the node tree view: right click | Add node | enter ID.

    I will add the manual sensor adding to the feature requests.


  • Admin

    @Anticimex Just had a quick look at the library code: if signing is enabled (in the GW), the I_REQUEST_SIGNING message is not published. This field is only updated if signing is disabled (in the GW). However, MYSController will reply with a "signing not supported" message.


  • Contest Winner

    @tekka right. Signing exchange is currently only done in the rf protocol, not to the controller. So are there currently any ways for the controller to populate that field?
    A future addition of a I_CONFIG message is under discussion where node properties such as signing and other things can be published to a controller, so I suppose that field in the ui is for future use then 🙂


  • Admin

    @Anticimex ~yup 🙂


  • Admin

    @tekka said:

    I will add the manual sensor adding to the feature requests.

    Great, thanks!

    As for the variables, I don't think I was clear in what I was asking. The variable is a MySensors variable. It just doesn't look like it's picked up by the MYSController. I am doing a horrible job describing this but here is that I see in the log file:

    50	10/02/15 7:30:16.689	luup_log:27: Arduino: Request: 1;2;2;0;24;Front Yard <0x308de680>
    50	10/02/15 7:30:16.689	luup_log:27: Arduino: Requesting status for: 1;2 <0x308de680>
    50	10/02/15 7:30:16.690	luup_log:27: Arduino: Request status for Variable1 <0x308de680>
    50	10/02/15 7:30:16.690	luup_log:27: Arduino: Sending: 1;2;1;0;24;8 <0x308de680>
    

    I'm not seeing the '8' in the MYSController though. Hopefully that makes a little more sense.

    Thanks again for all the hard work!



  • @tekka said:

    @mvader please upload the entire log file to check a few things. Also, if the node is next to (or too close) you will get RF interferences (this has been observed for the large antenna and max tx power).

    EDIT: before I forget, also upload the log from the node - this will help to elicit the problem...

    I have to do more testing over the weekend, but i updated my gateway to 1.5, as my nodes where 1.5 but gate was 1.4, the 1st one i tried, worked without issue.
    dont know if it was a fluke/lucky or updating to 1.5 on the gateway solved my issue.. i'll post more as i test more nodes



  • This post is deleted!

  • Admin

    @petewill said:

    As for the variables, I don't think I was clear in what I was asking. The variable is a MySensors variable. It just doesn't look like it's picked up by the MYSController. I am doing a horrible job describing this but here is that I see in the log file:

    50	10/02/15 7:30:16.689	luup_log:27: Arduino: Request: 1;2;2;0;24;Front Yard <0x308de680>
    50	10/02/15 7:30:16.689	luup_log:27: Arduino: Requesting status for: 1;2 <0x308de680>
    50	10/02/15 7:30:16.690	luup_log:27: Arduino: Request status for Variable1 <0x308de680>
    50	10/02/15 7:30:16.690	luup_log:27: Arduino: Sending: 1;2;1;0;24;8 <0x308de680>
    

    I'm not seeing the '8' in the MYSController though. Hopefully that makes a little more sense.

    The controller receives messages from the GW but does not intercept messages sent from other controllers (due to the architecture). Similarly, messages sent with MYSController won't appear in Vera.

    But this leads me to an interesting idea...let's see 🙂



  • looking for some help with OTA and a sensebender board.
    if i manually reset the board, then it will take the OTA and that works fine.
    however, that's the only way i can get it to work.
    it doesn't respond to a reboot command (I assume this is because it's sleeping)
    and even if i select the battery/sleeping option, when a transmission does come in, it doesn't reset or start an OTA.
    the only way so far is to physically PF the device and then the OTA works.
    what am i missing?
    thanks!

    EDIT: so this does seems to work.. i spent all morning trying to come up with hack-y ways to get this to work.
    using the default sensebender sketch the OTA wait time is set to 300 milli seconds. which is like .3 seconds.
    i changed that 3000 (3 seconds) set the FW and waited for the next transmission..boom off it went (the OTA).
    so for anyone running into this issue. try this solution.
    I cant imagine 3 seconds vs .3 seconds is going to make a huge difference in battery life.



  • Looking for help to interpret log data after an OTA update. I am just learning, and successfully OTA'ed a simple DS18B temperature sketch to a node using MysController. Now I am trying to OTA an DHT22 node (the example sketch in 1.5 version, no changes to it.) The firmware OTA seems to go fine, but the Pro Mini never seems to start. Below is the log, I have bolded the log entries I don't understand. As shown, the first bold section comes right after the OTA. The second 16 minutes later is because I pushed the reset button on the pro mini. Any help understanding the log entry is appreciated.

    10/5/2015 7:04:01 RX 2;255;4;0;2;820001000200
    10/5/2015 7:04:01 TX 2;255;4;0;3;8200010001000C94AE010C94AE010C94ED020C94AE01
    10/5/2015 7:04:01 RX 2;255;4;0;2;820001000100
    10/5/2015 7:04:01 TX 2;255;4;0;3;8200010000000C9486010C94D11A0C94FE1A0C94AE01
    10/5/2015 7:04:01 RX 2;255;4;0;2;820001000000
    10/5/2015 7:04:01 INFO BL version=257
    10/5/2015 7:04:01 INFO Send FW info to node 2: type=82, version=1, blocks=0x0570, CRC=0x9AEC
    10/5/2015 7:04:01 TX 2;0;4;0;1;820001007005EC9A
    10/5/2015 7:04:01 RX 2;255;4;0;0;820001007005EC9A0101

    10/5/2015 7:07:23 RX 24;1;1;0;0;60.5
    10/5/2015 7:07:23 RX 24;2;1;0;1;59
    10/5/2015 7:11:41 RX 24;1;1;0;0;60.5
    10/5/2015 7:11:41 RX 24;2;1;0;1;59
    10/5/2015 7:13:24 RX 23;0;1;0;1;55.7
    10/5/2015 7:15:59 RX 24;1;1;0;0;60.5
    10/5/2015 7:15:59 RX 24;2;1;0;1;59
    10/5/2015 7:18:27 CHILD New child discovered, node id=23, child id=1
    10/5/2015 7:18:27 RX 23;1;1;0;0;63.0
    10/5/2015 7:18:27 RX 23;0;1;0;1;55.9
    10/5/2015 7:20:14 INFO BL version=257
    10/5/2015 7:20:14 INFO Send FW info to node 2: type=82, version=1, blocks=0x0570, CRC=0x9AEC
    10/5/2015 7:20:14 TX 2;0;4;0;1;820001007005EC9A
    10/5/2015 7:20:14 RX 2;255;4;0;0;820001007005EC9A0101

    10/5/2015 7:21:50 TX 2;0;3;0;13;0
    10/5/2015 7:23:32 RX 23;0;1;0;1;56.0
    10/5/2015 7:24:26 RX 24;3;1;0;24;78


  • Admin

    @tekka said:

    The controller receives messages from the GW but does not intercept messages sent from other controllers (due to the architecture). Similarly, messages sent with MYSController won't appear in Vera.

    But this leads me to an interesting idea...let's see 🙂

    Oh, sorry. I thought it did. I can see my light (relays) messages when turning on/off with my Vera but maybe that's the ACKs?


  • Admin

    @novicit The bold section is the bootloader sending/requesting the current node configuration. Did you set a static node ID in your sketch?



  • @tekka Thank you for your response. The sketch does not have a static ID - the line is "gw.begin();" So it should receive a node ID. I had MysController set to "AutoID" and it successfully issued the next free ID, which was 2. How would I test further to see why it does not begin execution. (I am using ethernet gateway with authentication, but the configuration is set to 'false', so a node not asking for Atsha response does not get one. Other non-atsha nodes work fine-as shown in the log. Don't know if this would make a difference.)



  • @tekka, In thinking about your question .... As the sketch begins execution after OTA'ing, it then asks for a node id to be issued (even though it has received one from the MysController) - and since I am using an ethernet gateway (& Domoticz) which does not automatically issue a node ID, the pro mini just sits there and waits for a node id? Would it then work if I put in a static node ID, even if it is different than the one issued by Myscontroller? And the node then adopts the static ID. ??



  • @tekka I tried 2 new nodes with static id assigned [gw.begin(incomingMessage, 21, false);] and [gw.begin(NULL, 23, false);] ---- still same frozen response.

    10/5/2015 17:18:46 TX 3;255;4;0;3;1400010000000C9486010C94D81A0C94051B0C94AE01
    10/5/2015 17:18:46 RX 3;255;4;0;2;140001000000
    10/5/2015 17:18:47 INFO BL version=257
    10/5/2015 17:18:47 INFO Send FW info to node 3: type=14, version=1, blocks=0x0570, CRC=0xE30B
    10/5/2015 17:18:47 TX 3;0;4;0;1;1400010070050BE3
    10/5/2015 17:18:47 RX 3;255;4;0;0;1400010070050BE30101
    10/5/2015 17:20:32 RX 1;0;1;0;0;19.5

    and:

    10/5/2015 16:59:29 TX 2;255;4;0;3;1400010000000C9486010C94D11A0C94FE1A0C94AE01
    10/5/2015 16:59:29 RX 2;255;4;0;2;140001000000
    10/5/2015 16:59:29 INFO BL version=257
    10/5/2015 16:59:29 INFO Send FW info to node 2: type=14, version=1, blocks=0x0570, CRC=0x2E9E
    10/5/2015 16:59:29 TX 2;0;4;0;1;1400010070059E2E
    10/5/2015 16:59:29 RX 2;255;4;0;0;1400010070059E2E0101
    10/5/2015 17:00:59 RX 24;1;1;0;0;62.8

    Any idea what the nodes are waiting for?

    I also reset the gateway to see if it sent anything that cleared the freeze, but no response. Hmmm.


  • Admin

    @novicit Can you temporarily use a serial gateway with debug enabled and upload a debug-enabled sketch to see what's going on on both sides? Please post the node and gateway log for further hints.



  • Can I set up Hydroponic Greenhouse automation with MYSController???



  • @tekka just wondering.. is there anywhere a documentation how the OTA works?
    I'm currently trying to write a little perl-script with OTA support and had a hard time misreading the source code of the MYSController and OTABootloader.



  • @tekka, problem solved! I took a debug log from the node per your suggestion and was surprised to get:
    radio init fail
    radio init fail
    radio init fail
    This of course surprised me after it just finished downloading 20kb+. Turns out after I made the first test of OTA which worked fine, my home network automatically synchronized my laptops & desktop. This brought over a copy of myconfig.h which had softspi enabled! (I had been setting up the gateway on a different computer). So when I went to OTA on the second and third nodes it picked up the synched myconfig.h. Ugh, such little strange things that take so much time to find.
    @tekka, my apologies for using some of your time. And my Thanks for your great work and sharing with the community!! Hopefully others will avoid similar mistakes by reading this.


Log in to reply
 

Suggested Topics

  • 3
  • 3
  • 6
  • 6
  • 37
  • 73

34
Online

11.4k
Users

11.1k
Topics

112.6k
Posts