Receiving and Decoding Battery Status and Additional Data from a SenseCAP LoRaWAN Weather Station

Hello everyone,

I’m currently operating a SenseCAP S2120 weather station that transmits data over LoRaWAN to a ChirpStack server. The data is processed in Node-RED on a Synology NAS, where I use a JavaScript decoder to extract and store various sensor readings (e.g., temperature, humidity, UV index, barometric pressure) into my database.

Issue:
One value I need is the battery status of the weather station. However, this battery reading only appears sporadically or not at all in the payload, and I’m unsure whether the station sends this value regularly or only under specific conditions. I also suspect there may be additional status or system information in the payload that I’m not yet decoding.

My Questions:

  1. Is the battery status included by default in the SenseCAP weather station uplink data? If so, how often is it transmitted, and under what conditions?
  2. Is there a way to adjust the frequency of battery status transmission and other system information (e.g., firmware or hardware status), or to ensure these data points are regularly sent?
  3. Are there specific data IDs or decoder techniques I should use to retrieve any other relevant status information (if available) from the payload?

Thank you very much for any help or guidance on configuration and decoding!

The battery status is included by default in the uplink data from the SenseCAP S2120, but it might not be transmitted with every uplink. Status information like battery level is typically sent less frequently than primary sensor data to conserve power and reduce data usage.

Hi, Baselbieter.
I’m not sure if your questions have been answered. But here’s my more detailed answer to yours.

  • A packet of battery information will be uploaded when the device is powered on or reboot for the first time.Thereafter, the battery information will be uploaded once a day.
  • By default, the battery status is included at the end of the uplink data with frame ID ‘03’ and when the device is first powered up or rebooted, the status is uplinked with ID ‘04’. It is currently not possible to adjust the frequency of battery status transmission.
  • If you are using ChirpStack v4, you can check this wiki for S2120 decoder SenseCAP Decoder.
  • For more details you can check the ‘Payload Decoder’ part of S2120’s user guide S2120 8-in-1 Weather Station User Guide.
1 Like