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. 💬 Atmospheric Pressure Sensor

💬 Atmospheric Pressure Sensor

Scheduled Pinned Locked Moved Announcements
pressurebmp085
60 Posts 22 Posters 29.5k Views 19 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.
  • James FlosseJ Offline
    James FlosseJ Offline
    James Flosse
    wrote on last edited by James Flosse
    #19

    Hi @mfalkvidd. This is the debug output and my code

    2269 MCO:REG:REQ
    2277 TSF:MSG:SEND,3-3-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
    2287 TSF:MSG:READ,0-0-3,s=255,c=3,t=27,pt=1,l=1,sg=0:1
    2293 MCO:PIM:NODE REG=1
    2295 MCO:BGN:STP
    2306 MCO:BGN:INIT OK,TSP=1
    Forecast at minute 1 dP/dt = 0.00kPa/h --> unknown
    Temperature = 31.00 *C
    Pressure = 728.00 hPa
    Forecast = unknown
    2359 TSF:MSG:SEND,3-3-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:31.0
    2369 TSF:MSG:SEND,3-3-0-0,s=0,c=1,t=4,pt=7,l=5,sg=0,ft=0,st=OK:728
    2381 TSF:MSG:SEND,3-3-0-0,s=0,c=1,t=5,pt=0,l=7,sg=0,ft=0,st=OK:unknown
    2387 MCO:SLP:MS=60000,SMS=0,I1=255,M1=255,I2=255,M2=255
    2394 MCO:SLP:TPD
    
    // Enable debug prints to serial monitor
    #define MY_DEBUG 
    
    // Enable and select radio type attached
    #define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69
    
    #include <SPI.h>
    #include <MySensors.h>  
    #include <Wire.h>
    #include <Adafruit_BMP085.h>
    
    #define BARO_CHILD 0
    #define TEMP_CHILD 1
    
    const float ALTITUDE = 688; // <-- adapt this value to your own location's altitude.
    
    // Sleep time between reads (in seconds). Do not change this value as the forecast algorithm needs a sample every minute.
    const unsigned long SLEEP_TIME = 60000; 
    
    const char *weather[] = { "stable", "sunny", "cloudy", "unstable", "thunderstorm", "unknown" };
    enum FORECAST
    {
        STABLE = 0,            // "Stable Weather Pattern"
        SUNNY = 1,            // "Slowly rising Good Weather", "Clear/Sunny "
        CLOUDY = 2,            // "Slowly falling L-Pressure ", "Cloudy/Rain "
        UNSTABLE = 3,        // "Quickly rising H-Press",     "Not Stable"
        THUNDERSTORM = 4,    // "Quickly falling L-Press",    "Thunderstorm"
        UNKNOWN = 5            // "Unknown (More Time needed)
    };
    
    Adafruit_BMP085 bmp = Adafruit_BMP085();      // Digital Pressure Sensor 
    
    float lastPressure = -1;
    float lastTemp = -1;
    int lastForecast = -1;
    
    const int LAST_SAMPLES_COUNT = 5;
    float lastPressureSamples[LAST_SAMPLES_COUNT];
    
    // this CONVERSION_FACTOR is used to convert from Pa to kPa in forecast algorithm
    // get kPa/h be dividing hPa by 10 
    #define CONVERSION_FACTOR (1.0/10.0)
    
    int minuteCount = 0;
    bool firstRound = true;
    // average value is used in forecast algorithm.
    float pressureAvg;
    // average after 2 hours is used as reference value for the next iteration.
    float pressureAvg2;
    
    float dP_dt;
    bool metric;
    MyMessage tempMsg(TEMP_CHILD, V_TEMP);
    MyMessage pressureMsg(BARO_CHILD, V_PRESSURE);
    MyMessage forecastMsg(BARO_CHILD, V_FORECAST);
    
    
    void setup() 
    {
        if (!bmp.begin()) 
        {
            Serial.println("Could not find a valid BMP085 sensor, check wiring!");
            while (1) {}
        }
        metric = getControllerConfig().isMetric;
    }
    
    void presentation()  {
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("Pressure Sensor", "1.1");
    
      // Register sensors to gw (they will be created as child devices)
      present(BARO_CHILD, S_BARO);
      present(TEMP_CHILD, S_TEMP);
    }
    
    void loop() 
    {
        float pressure = bmp.readPressure() / 100 ;
        float temperature = bmp.readTemperature();
    
        if (!metric) 
        {
            // Convert to fahrenheit
            temperature = temperature * 9.0 / 5.0 + 32.0;
        }
    
        int forecast = sample(pressure);
    
        Serial.print("Temperature = ");
        Serial.print(temperature);
        Serial.println(metric ? " *C" : " *F");
        Serial.print("Pressure = ");
        Serial.print(pressure);
        Serial.println(" hPa");
        Serial.print("Forecast = ");
        Serial.println(weather[forecast]);
    
    
        if (temperature != lastTemp) 
        {
            send(tempMsg.set(temperature, 1));
            lastTemp = temperature;
        }
    
        if (pressure != lastPressure) 
        {
            send(pressureMsg.set(pressure, 0));
            lastPressure = pressure;
        }
    
        if (forecast != lastForecast)
        {
            send(forecastMsg.set(weather[forecast]));
            lastForecast = forecast;
        }
    
        sleep(SLEEP_TIME);
    }
    
    float getLastPressureSamplesAverage()
    {
        float lastPressureSamplesAverage = 0;
        for (int i = 0; i < LAST_SAMPLES_COUNT; i++)
        {
            lastPressureSamplesAverage += lastPressureSamples[i];
        }
        lastPressureSamplesAverage /= LAST_SAMPLES_COUNT;
    
        return lastPressureSamplesAverage;
    }
    
    
    
    // Algorithm found here
    // http://www.freescale.com/files/sensors/doc/app_note/AN3914.pdf
    // Pressure in hPa -->  forecast done by calculating kPa/h
    int sample(float pressure)
    {
        // Calculate the average of the last n minutes.
        int index = minuteCount % LAST_SAMPLES_COUNT;
        lastPressureSamples[index] = pressure;
    
        minuteCount++;
        if (minuteCount > 185)
        {
            minuteCount = 6;
        }
    
        if (minuteCount == 5)
        {
            pressureAvg = getLastPressureSamplesAverage();
        }
        else if (minuteCount == 35)
        {
            float lastPressureAvg = getLastPressureSamplesAverage();
            float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
            if (firstRound) // first time initial 3 hour
            {
                dP_dt = change * 2; // note this is for t = 0.5hour
            }
            else
            {
                dP_dt = change / 1.5; // divide by 1.5 as this is the difference in time from 0 value.
            }
        }
        else if (minuteCount == 65)
        {
            float lastPressureAvg = getLastPressureSamplesAverage();
            float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
            if (firstRound) //first time initial 3 hour
            {
                dP_dt = change; //note this is for t = 1 hour
            }
            else
            {
                dP_dt = change / 2; //divide by 2 as this is the difference in time from 0 value
            }
        }
        else if (minuteCount == 95)
        {
            float lastPressureAvg = getLastPressureSamplesAverage();
            float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
            if (firstRound) // first time initial 3 hour
            {
                dP_dt = change / 1.5; // note this is for t = 1.5 hour
            }
            else
            {
                dP_dt = change / 2.5; // divide by 2.5 as this is the difference in time from 0 value
            }
        }
        else if (minuteCount == 125)
        {
            float lastPressureAvg = getLastPressureSamplesAverage();
            pressureAvg2 = lastPressureAvg; // store for later use.
            float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
            if (firstRound) // first time initial 3 hour
            {
                dP_dt = change / 2; // note this is for t = 2 hour
            }
            else
            {
                dP_dt = change / 3; // divide by 3 as this is the difference in time from 0 value
            }
        }
        else if (minuteCount == 155)
        {
            float lastPressureAvg = getLastPressureSamplesAverage();
            float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
            if (firstRound) // first time initial 3 hour
            {
                dP_dt = change / 2.5; // note this is for t = 2.5 hour
            }
            else
            {
                dP_dt = change / 3.5; // divide by 3.5 as this is the difference in time from 0 value
            }
        }
        else if (minuteCount == 185)
        {
            float lastPressureAvg = getLastPressureSamplesAverage();
            float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
            if (firstRound) // first time initial 3 hour
            {
                dP_dt = change / 3; // note this is for t = 3 hour
            }
            else
            {
                dP_dt = change / 4; // divide by 4 as this is the difference in time from 0 value
            }
            pressureAvg = pressureAvg2; // Equating the pressure at 0 to the pressure at 2 hour after 3 hours have past.
            firstRound = false; // flag to let you know that this is on the past 3 hour mark. Initialized to 0 outside main loop.
        }
    
        int forecast = UNKNOWN;
        if (minuteCount < 35 && firstRound) //if time is less than 35 min on the first 3 hour interval.
        {
            forecast = UNKNOWN;
        }
        else if (dP_dt < (-0.25))
        {
            forecast = THUNDERSTORM;
        }
        else if (dP_dt > 0.25)
        {
            forecast = UNSTABLE;
        }
        else if ((dP_dt > (-0.25)) && (dP_dt < (-0.05)))
        {
            forecast = CLOUDY;
        }
        else if ((dP_dt > 0.05) && (dP_dt < 0.25))
        {
            forecast = SUNNY;
        }
        else if ((dP_dt >(-0.05)) && (dP_dt < 0.05))
        {
            forecast = STABLE;
        }
        else
        {
            forecast = UNKNOWN;
        }
    
        // uncomment when debugging
        Serial.print(F("Forecast at minute "));
        Serial.print(minuteCount);
        Serial.print(F(" dP/dt = "));
        Serial.print(dP_dt);
        Serial.print(F("kPa/h --> "));
        Serial.println(weather[forecast]);
    
        return forecast;
    }
    
    2017-03-09 10:52:56.474 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 10:52:56.475 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 10:52:56.488 (GATEWAY) Temp (Temp)
    2017-03-09 10:52:56.497 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:52:56.503 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:53:40.053 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 10:53:40.054 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 10:53:40.067 (GATEWAY) Temp (Temp)
    2017-03-09 10:53:40.075 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:53:40.081 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:54:14.102 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 10:54:14.104 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 10:54:14.148 (GATEWAY) Temp (Temp)
    2017-03-09 10:54:14.162 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:54:14.172 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:54:26.662 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 10:54:26.664 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 10:54:26.676 (GATEWAY) Temp (Temp)
    2017-03-09 10:54:26.685 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:54:26.691 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:54:44.122 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 10:54:44.123 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 10:54:44.136 (GATEWAY) Temp (Temp)
    2017-03-09 10:54:44.145 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:54:44.150 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:54:50.417 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 10:54:51.225 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 10:54:51.227 (GATEWAY) Temp (Temp)
    2017-03-09 10:54:51.236 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:54:51.242 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:55:55.513 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:58:05.600 (GATEWAY) Temp (Temp)
    2017-03-09 10:58:05.608 (GATEWAY) General/Barometer (Baro)
    2017-03-09 10:59:10.651 (GATEWAY) Temp (Temp)
    2017-03-09 11:01:20.704 (GATEWAY) Temp (Temp)
    2017-03-09 11:02:00.701 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 11:02:00.702 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 11:02:00.715 (GATEWAY) Temp (Temp)
    2017-03-09 11:02:00.723 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:00.728 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:31.650 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 11:02:31.652 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 11:02:31.664 (GATEWAY) Temp (Temp)
    2017-03-09 11:02:31.673 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:31.678 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:38.872 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 11:02:38.873 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 11:02:38.886 (GATEWAY) Temp (Temp)
    2017-03-09 11:02:38.894 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:38.900 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:41.863 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 11:02:41.864 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 11:02:41.887 (GATEWAY) Temp (Temp)
    2017-03-09 11:02:41.895 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:41.901 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:49.208 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 11:02:49.209 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 11:02:49.232 (GATEWAY) Temp (Temp)
    2017-03-09 11:02:49.240 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:02:49.245 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:03:54.286 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:04:59.319 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:06:04.359 (GATEWAY) Temp (Temp)
    2017-03-09 11:06:04.368 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:06:36.109 MySensors: Node: 3, Sketch Name: Pressure Sensor
    2017-03-09 11:06:36.111 MySensors: Node: 3, Sketch Version: 1.1
    2017-03-09 11:06:36.123 (GATEWAY) Temp (Temp)
    2017-03-09 11:06:36.132 (GATEWAY) General/Barometer (Baro)
    2017-03-09 11:06:36.137 (GATEWAY) General/Barometer (Baro)
    
    1 Reply Last reply
    0
    • mfalkviddM Offline
      mfalkviddM Offline
      mfalkvidd
      Mod
      wrote on last edited by
      #20

      The node sends the data received from the bmp180, so everything seems to be correct. Could you clarify what you expected?

      1 Reply Last reply
      0
      • James FlosseJ Offline
        James FlosseJ Offline
        James Flosse
        wrote on last edited by
        #21

        The pressure and temperature is incorrect xD. sorry, i have 20°C in my room and the METAR of the near airport say 1016 hPa.

        mfalkviddM 1 Reply Last reply
        0
        • James FlosseJ James Flosse

          The pressure and temperature is incorrect xD. sorry, i have 20°C in my room and the METAR of the near airport say 1016 hPa.

          mfalkviddM Offline
          mfalkviddM Offline
          mfalkvidd
          Mod
          wrote on last edited by
          #22

          @James-Flosse thanks :)
          Strange problem. Is the bmp getting stable power? Maybe it is defective? You don't happen to have another bmp to compare with?

          1 Reply Last reply
          0
          • James FlosseJ Offline
            James FlosseJ Offline
            James Flosse
            wrote on last edited by
            #23

            Only bmp180 connected to arduino and i have test with 3 other :s

            1 Reply Last reply
            0
            • ghislainG Offline
              ghislainG Offline
              ghislain
              wrote on last edited by ghislain
              #24

              Hi, i'm using this sketch and I had to modify it a little bit. But i'm at work and i haven't it.

              You defined the altitude to 688 meters in you sketch, are you sure, you said you're at 1014mbars. If you're really at 700m you should be near 930mbars not 1014mbars.

              1 Reply Last reply
              0
              • James FlosseJ Offline
                James FlosseJ Offline
                James Flosse
                wrote on last edited by
                #25

                Ok i defined the altitude by my own (225 meters) but i have the same pressure and temperature :S

                1 Reply Last reply
                0
                • ghislainG Offline
                  ghislainG Offline
                  ghislain
                  wrote on last edited by
                  #26

                  Too bad, can you upload a basic example sketch in the library adafruit to read pressure and temperature, just to be sure there is the same behavior.

                  1 Reply Last reply
                  0
                  • James FlosseJ Offline
                    James FlosseJ Offline
                    James Flosse
                    wrote on last edited by
                    #27
                    #include <Wire.h>
                    #include <Adafruit_Sensor.h>
                    #include <Adafruit_BMP085_U.h>
                       
                    Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
                     
                    void setup(void) 
                    {
                      Serial.begin(9600);
                      Serial.println("Pressure Sensor Test"); Serial.println("");
                      
                      /* Initialise the sensor */
                      if(!bmp.begin())
                      {
                        /* There was a problem detecting the BMP085 ... check your connections */
                        Serial.print("Ooops, no BMP085 detected ... Check your wiring or I2C ADDR!");
                        while(1);
                      }
                    }
                     
                    void loop(void) 
                    {
                      /* Get a new sensor event */ 
                      sensors_event_t event;
                      bmp.getEvent(&event);
                     
                      /* Display the results (barometric pressure is measure in hPa) */
                      if (event.pressure)
                      {
                        /* Display atmospheric pressure in hPa */
                        Serial.print("Pressure: "); Serial.print(event.pressure); Serial.println(" hPa");
                      }
                      else
                      {
                        Serial.println("Sensor error");
                      }
                      delay(250);
                    }
                    
                    Pressure: 756.46 hPa
                    Pressure: 756.47 hPa
                    Pressure: 756.49 hPa
                    Pressure: 756.44 hPa
                    Pressure: 756.44 hPa
                    Pressure: 756.46 hPa
                    Pressure: 756.41 hPa
                    Pressure: 756.44 hPa
                    Pressure: 756.42 hPa
                    Pressure: 756.39 hPa
                    Pressure: 756.42 hPa
                    Pressure: 756.44 hPa
                    Pressure: 756.38 hPa
                    Pressure: 756.40 hPa
                    Pressure: 756.41 hPa
                    Pressure: 756.38 hPa
                    Pressure: 756.41 hPa
                    Pressure: 756.40 hPa
                    Pressure: 756.38 hPa
                    Pressure: 756.40 hPa
                    Pressure: 756.42 hPa
                    Pressure: 756.34 hPa
                    Pressure: 756.22 hPa
                    Pressure: 756.33 hPa
                    Pressure: 756.37 hPa
                    Pressure: 756.38 hPa
                    
                    

                    same pressure

                    1 Reply Last reply
                    0
                    • ghislainG Offline
                      ghislainG Offline
                      ghislain
                      wrote on last edited by
                      #28

                      Where did you buy your bmp180 ? you said the 3 you have make the same behavior ? something is wrong with the BMP sensor.

                      1 Reply Last reply
                      0
                      • James FlosseJ Offline
                        James FlosseJ Offline
                        James Flosse
                        wrote on last edited by
                        #29

                        I bought it in banggood, but it work's before...

                        1 Reply Last reply
                        0
                        • ghislainG Offline
                          ghislainG Offline
                          ghislain
                          wrote on last edited by
                          #30

                          It worked for a while and now it doesn't ? no problem of power supply ? 3v3 ?

                          1 Reply Last reply
                          0
                          • James FlosseJ Offline
                            James FlosseJ Offline
                            James Flosse
                            wrote on last edited by
                            #31

                            I supply itwith the 3.3 V output off arduino

                            1 Reply Last reply
                            0
                            • ghislainG Offline
                              ghislainG Offline
                              ghislain
                              wrote on last edited by
                              #32

                              I supply it with 5v, are you sure it's a 3v3 version ?

                              1 Reply Last reply
                              0
                              • James FlosseJ Offline
                                James FlosseJ Offline
                                James Flosse
                                wrote on last edited by James Flosse
                                #33

                                i tested with 3.3V and 5volt but same result
                                http://www.banggood.com/fr/GY-68-BMP180-Digital-Barometric-Pressure-Sensor-Board-Module-p-1059025.html?rmmds=myorder

                                1 Reply Last reply
                                0
                                • ghislainG Offline
                                  ghislainG Offline
                                  ghislain
                                  wrote on last edited by
                                  #34

                                  OK, i've no further idea to help you. But i think your sensor is dead. DId you try older or newer library to compile your project ?

                                  1 Reply Last reply
                                  0
                                  • James FlosseJ Offline
                                    James FlosseJ Offline
                                    James Flosse
                                    wrote on last edited by
                                    #35

                                    Have you link for older library? Are you french?

                                    1 Reply Last reply
                                    0
                                    • ghislainG Offline
                                      ghislainG Offline
                                      ghislain
                                      wrote on last edited by
                                      #36

                                      I am and you ? I can give you the sketch which is working for me with library i used.

                                      1 Reply Last reply
                                      0
                                      • James FlosseJ Offline
                                        James FlosseJ Offline
                                        James Flosse
                                        wrote on last edited by
                                        #37

                                        Yes ^^ . can you give me at snyp_thx at hotmail dot fr?

                                        1 Reply Last reply
                                        0
                                        • B Offline
                                          B Offline
                                          bgunnarb
                                          wrote on last edited by
                                          #38

                                          Hi!
                                          I had exactly the same problem until I realised I had compiled for the 8 MHz version of the Arduino Pro Mini instead of the 16 MHz version.
                                          Also, recently building an humidity sensor I realised there are no pull-up resistors on the SDA SDL lines, but that should be built-in if you use a break-out module.

                                          I have never been so busy since I retired!

                                          1 Reply Last reply
                                          2

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          18

                                          Online

                                          12.0k

                                          Users

                                          11.2k

                                          Topics

                                          113.4k

                                          Posts


                                          Copyright 2025 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