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. Announcements
  3. Sensebender Micro

Sensebender Micro

Scheduled Pinned Locked Moved Announcements
584 Posts 84 Posters 401.8k Views 35 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.
  • tbowmoT Offline
    tbowmoT Offline
    tbowmo
    Admin
    wrote on last edited by
    #273

    @korttoma

    thanks for helping my memory :)

    1 Reply Last reply
    0
    • korttomaK korttoma

      There is an explanation to the problem further up in the thread:

      @gloob said:

      Hello

      I found an error in the sensebender micro sketch in the latest release.

      The calculation of the temperature change is wrong.

      float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths) / 100);
      

      needs to be replaced with

      float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths) / 100.0);
      

      The division with 100 needs to be 100.0 otherwise the result will be an integer instead of a float value and the difference will be the decimal places of the last temperature.

      M Offline
      M Offline
      mvader
      wrote on last edited by
      #274

      @korttoma i did see that. but your saying that is what is causing it to transmit every 1 minute?

      korttomaK 1 Reply Last reply
      0
      • M mvader

        @korttoma i did see that. but your saying that is what is causing it to transmit every 1 minute?

        korttomaK Offline
        korttomaK Offline
        korttoma
        Hero Member
        wrote on last edited by
        #275

        @mvader yes, it is rounding the temperature difference to the nearest degree so the difference is almost always more then the 0.5.

        • Tomas
        1 Reply Last reply
        0
        • tbowmoT Offline
          tbowmoT Offline
          tbowmo
          Admin
          wrote on last edited by
          #276

          Just a hint, itead studio is starting a sale with 10% off on all imall items.. So maybe it's time to buy some Christmas presents for the inner geek :)

          1 Reply Last reply
          0
          • A Offline
            A Offline
            akbooer
            wrote on last edited by
            #277

            Oh no! Lousy timing, I just bought some...
            ... in fact, they arrived today.

            Speaking of which, whilst I got them to run the default sketch, do I actually need a programmer to do anything different, or can this be done OTA (from a Mac) ?

            1 Reply Last reply
            0
            • tbowmoT Offline
              tbowmoT Offline
              tbowmo
              Admin
              wrote on last edited by
              #278

              @akbooer

              The default sketch doesn't support OTA, as it wasn't available in the stable branch at the time of launch

              1 Reply Last reply
              0
              • 5546dug5 Offline
                5546dug5 Offline
                5546dug
                wrote on last edited by
                #279

                @tbowmo Good sales but did not see the Sensebender too bad .

                1 Reply Last reply
                0
                • tbowmoT Offline
                  tbowmoT Offline
                  tbowmo
                  Admin
                  wrote on last edited by
                  #280

                  @akbooer

                  It's here http://www.itead.cc/mysensors-micro.html

                  1 Reply Last reply
                  0
                  • epierreE Offline
                    epierreE Offline
                    epierre
                    Hero Member
                    wrote on last edited by epierre
                    #281

                    @hek I've soldered a second unit to compare, same error, I flashed back the sensebender version from the examples and on both I am stuck here: "Sensebender Micro FW 1.2radio init fail"

                    Gateway is 1.5 BTW, one radio is from itead the other not.

                    z-wave - Vera -> Domoticz
                    rfx - Domoticz <- MyDomoAtHome <- Imperihome
                    mysensors -> mysensors-gw -> Domoticz

                    1 Reply Last reply
                    0
                    • SparkmanS Sparkman

                      @epierre Can you confirm the settings you used in the IDE to program it? Are you sure there are no solder bridges where you soldered the radio or socket for the radio? Have you tried powering it with a couple of AA batteries after you uploaded the sketch?

                      Cheers
                      Al

                      epierreE Offline
                      epierreE Offline
                      epierre
                      Hero Member
                      wrote on last edited by
                      #282

                      @Sparkman said:

                      @epierre Can you confirm the settings you used in the IDE to program it?

                      1.6.5 version

                      Are you sure there are no solder bridges where you soldered the radio or socket for the radio?

                      same behavior on two units

                      Have you tried powering it with a couple of AA batteries after you uploaded the sketch?

                      not yet but why should that change anything ?

                      z-wave - Vera -> Domoticz
                      rfx - Domoticz <- MyDomoAtHome <- Imperihome
                      mysensors -> mysensors-gw -> Domoticz

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mvader
                        wrote on last edited by
                        #283
                        This post is deleted!
                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          akbooer
                          wrote on last edited by
                          #284

                          Just tried out my first Sensebender...
                          soldered pins and battery power...
                          turn on...
                          led flashes once...
                          start inclusion...
                          3 devices...
                          Vera restarts (actually, it's openLuup running on an Arduino Yún)...
                          there they are...
                          and updating every minute!

                          Thanks so much to all who made this level of sophistication so easy!! (Z-wave was never this simple!)

                          Whilst I need a couple of temp/humidity sensors, I also need to reflash one as a 4-switch sensor. Can I do this with an Arduino Uno configured with the ArduinoISP sketch as described here ?
                          https://www.arduino.cc/en/Tutorial/ArduinoISP

                          Any advice or useful pointers? Thanks.

                          1 Reply Last reply
                          0
                          • tbowmoT Offline
                            tbowmoT Offline
                            tbowmo
                            Admin
                            wrote on last edited by
                            #285

                            @epierre

                            What do you use as supply voltage for the thing? What is the output from testmode?

                            Did you add a capacitor on the radio module? How did you mount them together? (picture?)

                            1 Reply Last reply
                            0
                            • tbowmoT Offline
                              tbowmoT Offline
                              tbowmo
                              Admin
                              wrote on last edited by
                              #286

                              @akbooer

                              Should be doable with an arduino as isp. Another option is to use the serial upload.

                              1 Reply Last reply
                              0
                              • J Offline
                                J Offline
                                jovo
                                wrote on last edited by
                                #287

                                I am a noob in coding so I need some advice for tuning the sensebender.ino
                                current observed problems:

                                1. sensor values transmitted every minutes
                                2. battery level info seems wrong

                                I am running the default senseblender.ino.

                                on 1) What I understood in this forum, it should transmit the temp. values only every 30min (or direct when change is >.05). However, I see them arriving in my controller (Domoticz) every minute. What should I change to have it send every 30min?

                                on 2) I observe in Domoticz that the battery levels reported (in the Devices section) are inaccurate. For example: one sensebender with 3.2v measured power reports 80, where I would expect round 100 (this one has new batteries). Other sensebenders with still 2.63v report 53. How to calibrate the battery measurement?

                                I have been searching this forum, but was unable to find the answer.
                                Alternatively, a pointer to a wiki on sensebender.ino that has this explained would work as well.

                                martinhjelmareM 1 Reply Last reply
                                0
                                • tbowmoT Offline
                                  tbowmoT Offline
                                  tbowmo
                                  Admin
                                  wrote on last edited by
                                  #288

                                  @jovo

                                  The firmware that the sensebender is shipped with is pretty old, compared to the one that's available in the current master branch of mysensors library. A lot have been done to do better transmit control (like, limiting number of transmits etc.)

                                  About the battery voltage, the sensebender is measuring against an internal vref, which isn't that accurate. I can't remember the specifics at the moment, but it's hidden somewhere in the datasheet. The measurement method has a lot of inaccuracy, but on the other hand it saves external components and power.

                                  I didn't focus on it, but one could perhaps make some kind of calibration routine, use a known supply voltage and do some internal calculations and store an offset in eeprom.

                                  1 Reply Last reply
                                  0
                                  • F Offline
                                    F Offline
                                    Fabien
                                    wrote on last edited by
                                    #289

                                    @jovo for battery mesurement it's correct 100% is for 3.3V and 0% for 1.9 V (BOD fuse setting). so for 2.63 you have 52,14 %

                                    1 Reply Last reply
                                    0
                                    • J jovo

                                      I am a noob in coding so I need some advice for tuning the sensebender.ino
                                      current observed problems:

                                      1. sensor values transmitted every minutes
                                      2. battery level info seems wrong

                                      I am running the default senseblender.ino.

                                      on 1) What I understood in this forum, it should transmit the temp. values only every 30min (or direct when change is >.05). However, I see them arriving in my controller (Domoticz) every minute. What should I change to have it send every 30min?

                                      on 2) I observe in Domoticz that the battery levels reported (in the Devices section) are inaccurate. For example: one sensebender with 3.2v measured power reports 80, where I would expect round 100 (this one has new batteries). Other sensebenders with still 2.63v report 53. How to calibrate the battery measurement?

                                      I have been searching this forum, but was unable to find the answer.
                                      Alternatively, a pointer to a wiki on sensebender.ino that has this explained would work as well.

                                      martinhjelmareM Offline
                                      martinhjelmareM Offline
                                      martinhjelmare
                                      Plugin Developer
                                      wrote on last edited by
                                      #290

                                      @jovo As @Fabien wrote, the default code puts 3.3 V as 100%. Look for the percentage calculation. You will see that it's basically (vcc - 1900)/14. This makes sense if using a step-up converter where you get 3.3 V. But if connecting directly to two AAs, 100% should be around 3 V. So just replace 14 with 11 in the calculation.

                                      1 Reply Last reply
                                      0
                                      • J Offline
                                        J Offline
                                        jovo
                                        wrote on last edited by jovo
                                        #291

                                        Thanks for the comments and suggestion.
                                        Now I have installed the master branch code from the mys. library.
                                        Unfortunately no change. Still very frequent updates (under the same circumstances).
                                        I sense it has something to do with :
                                        bool tx = force;
                                        but I am not quite sure where to change it in.
                                        I will continue my search.....

                                        1 Reply Last reply
                                        0
                                        • tbowmoT Offline
                                          tbowmoT Offline
                                          tbowmo
                                          Admin
                                          wrote on last edited by
                                          #292

                                          @jovo

                                          There is a small error in the sketch, that falsely converts floats to ints. Look at line 243, it's dividing by 100:

                                          float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths)/100);
                                          float diffHum = abs(lastHumidity - raHum.getAverage());
                                          

                                          This should be changed to 100.0 instead. This way the calculation is returning as a float.

                                          float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths)/100.0);
                                          float diffHum = abs(lastHumidity - raHum.getAverage());
                                          
                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          13

                                          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