Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. Windows GUI/Controller for MySensors

Windows GUI/Controller for MySensors

Scheduled Pinned Locked Moved Controllers
myscontrollermysbootloader
486 Posts 101 Posters 348.0k Views 73 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Pendragon

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

    tekkaT Offline
    tekkaT Offline
    tekka
    Admin
    wrote on last edited by
    #197

    @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

    1 Reply Last reply
    0
    • NeverDieN Offline
      NeverDieN Offline
      NeverDie
      Hero Member
      wrote on last edited by NeverDie
      #198

      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?

      tekkaT 1 Reply Last reply
      0
      • rvendrameR rvendrame

        @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!

        tekkaT Offline
        tekkaT Offline
        tekka
        Admin
        wrote on last edited by
        #199

        @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.

        1 Reply Last reply
        0
        • NeverDieN NeverDie

          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?

          tekkaT Offline
          tekkaT Offline
          tekka
          Admin
          wrote on last edited by
          #200

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

          NeverDieN 1 Reply Last reply
          0
          • tekkaT tekka

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

            NeverDieN Offline
            NeverDieN Offline
            NeverDie
            Hero Member
            wrote on last edited by NeverDie
            #201

            @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....

            tekkaT 1 Reply Last reply
            0
            • NeverDieN NeverDie

              @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....

              tekkaT Offline
              tekkaT Offline
              tekka
              Admin
              wrote on last edited by
              #202

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

              1 Reply Last reply
              0
              • rvendrameR Offline
                rvendrameR Offline
                rvendrame
                Hero Member
                wrote on last edited by
                #203

                @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....

                Home Assistant / Vera Plus UI7
                ESP8266 GW + mySensors 2.3.2
                Alexa / Google Home

                tekkaT 1 Reply Last reply
                0
                • tekkaT tekka

                  @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.

                  N Offline
                  N Offline
                  NewFolk
                  wrote on last edited by
                  #204

                  @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 ?

                  tekkaT 1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    Pendragon
                    wrote on last edited by
                    #205

                    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?

                    1 Reply Last reply
                    1
                    • N NewFolk

                      @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 ?

                      tekkaT Offline
                      tekkaT Offline
                      tekka
                      Admin
                      wrote on last edited by
                      #206

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

                      1 Reply Last reply
                      0
                      • rvendrameR rvendrame

                        @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....

                        tekkaT Offline
                        tekkaT Offline
                        tekka
                        Admin
                        wrote on last edited by
                        #207

                        @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?

                        1 Reply Last reply
                        0
                        • hekH Offline
                          hekH Offline
                          hek
                          Admin
                          wrote on last edited by
                          #208

                          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.

                          1 Reply Last reply
                          0
                          • G Offline
                            G Offline
                            gonzalonal
                            wrote on last edited by gonzalonal
                            #209

                            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

                            tekkaT 1 Reply Last reply
                            1
                            • G gonzalonal

                              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

                              tekkaT Offline
                              tekkaT Offline
                              tekka
                              Admin
                              wrote on last edited by tekka
                              #210

                              @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;
                                }
                              
                              }
                              
                              1 Reply Last reply
                              0
                              • G Offline
                                G Offline
                                gonzalonal
                                wrote on last edited by gonzalonal
                                #211

                                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

                                tekkaT 1 Reply Last reply
                                0
                                • G gonzalonal

                                  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

                                  tekkaT Offline
                                  tekkaT Offline
                                  tekka
                                  Admin
                                  wrote on last edited by
                                  #212

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

                                  1 Reply Last reply
                                  0
                                  • G Offline
                                    G Offline
                                    gonzalonal
                                    wrote on last edited by
                                    #213

                                    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.

                                    tekkaT 1 Reply Last reply
                                    1
                                    • G gonzalonal

                                      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.

                                      tekkaT Offline
                                      tekkaT Offline
                                      tekka
                                      Admin
                                      wrote on last edited by
                                      #214

                                      @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.

                                      G 1 Reply Last reply
                                      0
                                      • tekkaT tekka

                                        @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.

                                        G Offline
                                        G Offline
                                        gonzalonal
                                        wrote on last edited by
                                        #215

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

                                        1 Reply Last reply
                                        0
                                        • Z Offline
                                          Z Offline
                                          zuru
                                          wrote on last edited by
                                          #216

                                          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.

                                          tekkaT 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          11

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular