How do I update the firmware?
Please refer to Updating Firmware on the page about our Lobaro Maintenance Tool.
|for remote update via the Lobaro Platform only, needs secure fw 1.8.0|
app-nrf9160-wmbus – collect wMBus telegrams and upload via NB-IoT/LTE-M or LoRaWAN
0.15.7 - 2022-10-12
- Fix a possible issue with cron expressions.
0.15.6 - 2022-10-07
- Fix antenna configuration on certain earlier hardware revisions. Issue on older Din-Rail and Solar boards only, introduced in 0.15.0. Affected are the hardware Rev 1.0 or Rev 1.0D. This info is written small in white on the left edge of the circuit board not far from the connectors for the power supply.
0.15.5 - 2022-09-26
- Change status message to be sent a random time between 0:00:00 and 0:59:59 UTC (persistent per device).
0.15.4 - 2022-09-22
- Allow extended cron expressions that contain
Hfor individual per device constant random values,
Wfor making sure cron executes on a weekday, and
0.15.3 - 2022-09-21
determine-batterycommand to hw3.
- Parsing of parameters for
determine-batterycan now handle floats (32 bit or 64 bit).
0.15.2 - 2022-09-19
- Sun Gateway: Change default listen CRON to once a day at noon (0 0 12 * * *). Was hourly during daytime before.
- Sun Gateway: Change default requiredVoltage Parameter to 3.5V. Was 3.25V before.
0.15.1 - 2022-09-15
- Diagnosis command
determine-batteryto verify the correct battery is used.
0.15.0 - 2022-09-07
- Update nrf_modem to 2.1.3
0.14.9 - 2022-09-04
- Remove reading of system voltage directly before sleep and wakeup to improve system robustness.
0.14.8 - 2022-09-02
- Disable low voltage protection task, because nrf9160 will shut down on low voltage triggered by hardware anyway.
0.14.7 - 2022-08-31
- Sun Gateway: Add reed initiated reset of configuration with LTE connecting to platform.lobaro.com
- Default config enables both LTE-M and NB-IoT. Was only NB-IoT before.
- LTE status message now reports the used network type (LTE-M or NB-IoT)
- LTE status message now reports the used APN. Maybe helpful in conjunction with "*" automatic config parameter.
- LTE status message now reports last connection time and connection fails since reset as separate field. Was part of monitor before.
- LoRaWAN: Change remote config to answer 'S' command with 'S' instead of 's'
0.14.6 - 2022-08-26
This release improves behaviour in very weak lte signal conditions.
- Don't collect after modem power down failure before sleep, instead just restart and send status
- Increase flight mode enter timeout to 61s.
- Add some timing guards bevor entering flight mode after all work done
- Reset if modem domain does not power down now after 5 seconds + retry
0.14.5 - 2022-08-24
- Fix rare watchdog triggering after failed connection shutdown introduced in v0.14.3.
- Initial watchdog feeding upon system init
- Sun Gateway: Change Watchdog to 10h again as in other variants
- Close AT-Socket on timeout, to avoid late response messing up next command.
- Reset if modem domain does not power down within 1 second while preparing sleep
0.14.4 - 2022-08-11
- Modem hang up with following watchdog reset because the fw falsely detected lte network as connected from previous connection attempt in some network related conditions. Problem has been introduced in 0.14.3 and can be diagnosed with device reset 10.5h after 00:00h (UTC) / daily status message.
- Clear reset reason after boot, worked cumulative before (until power on reset) making it impossible to determinate the last reset reason.
- Increase for graceful modem shut-down from 30sec to 60sec, should help in bad coverage situations.
- First try modem shut-down if flight mode could not be entered before perform a self initiated system reset to recover.
- Reduce default DNS servers to two (where three before)
- Sun Gateway: Change default listen cron to daytime
- Sun Gateway: Add "Standby" config parameter to sleep device after production until reed initiated reset
- Sun Gateway: Change Watchdog to 30h instead 10h for other variants
- Sun Gateway: Don't flash the LED upon connection attempts.
0.14.3 - 2022-07-08
- Make low voltage protection more robust.
- Reenable daily status uplink when using LoRaWAN (was disabled on accident in v0.11.?).
- Add extra checks to determinate if connection is stable to communicate upon connect to avoid unnecessary retries in rare situations.
- Thread "FFFFFFFF" as invalid LTE cell in any case and stay in disconnected state. Don't use TAC as 2nd condition anymore.
- Increase proven connection timeout to 120s (was 90s before) and unproven to 300s (was 240s before).
- Sun Gateway: Add audio buzzer indication
- Add Müller-Funk (u-Mode) to LoRaWAN collection phase (was only working on LTE before).
0.14.2 - 2022-06-09
- Add support for parsing inner Device ID/Manufacturer/Type from Dif-Vif pair for telegrams with CI-field 0x78 ("no header"), if telegram is clear text and first Dif-Vif pair is 0x0779. Allows to correctly filter by ID for legacy Qundis walk-by telegrams.
0.14.1 - 2022-05-23
- Increase system stack size by 2k
- Remove unnecessary blocking mutexes during connection try statistics logging
- Add 2nd retry on internal modem mode changes (AT+CFUN)
- Start in flight mode for MFW < 1.3.0 (again)
- Count repeated dial-ups with unproven parameters as additional try (
device.conTriesproperty in platform)
- Turn off blue LED after connection attempts again under all circumstances
- Exclusively use out of band modem notifications as single decision source if connected or not. Could have false positives before leading to aborted upload cycles.
0.14.0 - 2022-05-16
- Remove graceful system resets after two consecutive failed LTE dial-ups during single activation introduced in
0.13.6release. Instead, relay on
LostRebootand handle this condition like any other communication error. Nevertheless, no more than two LTE connection attempts per activation will be tried to avoid excessive battery drain and support accurate battery lifetime predictions.
- Initial exponential join retry interval maxes out at one day, was 8h before.
- LTE connection monitor status does not reset failed connection attempt counter on next successful dial-up anymore. Change related naming status monitor
- Adjust status metrics naming:
- Remove unnecessary upload try of second / final status upload if telegram upload has failed before.
- Save sticky connection statistics also during join attempts
- Remove upload of empty data uplink, when do telegrams could be received, as that information is now communicated by a status uplink in that situation.
- Don't lose the telegram that previously failed when catching up (partly) failed wMBus uploads during following status uploads.
- Possible instant reboot during initial join procedure under certain failure sequence.
LostRebootalso during initial join attempts.
- Really remove no more needed graceful system resets after 5 unsuccessful consecutive LTE dial-ups from modem.
- Fix usage of optional external ram on board for HW3 variant.
0.13.12 - 2022-05-13
- Change "Network-Loss-Detection" for LTE to behave like for LoRaWAN: if no uplink confirmation is received by the device from the platform for more days than the value of config Parameter
LostReboot, the device reboots itself to attempt and fix the connection by starting from scratch. A value of
LostRebootdisables this feature. The prior behavior (reboot after 5 unsuccessful consecutive connection attempts) has been removed, as it could not be directly changed by configuration and was dependent on the frequency with which the device is collecting telegrams.
- LTE: on uplink failure, also look for broken mobile provider connection if using plain CoAP (was only doing this when CoAP over DTLS was used).
0.13.11 - 2022-05-12
- In LTE-status uplink report the number of times the device failed to reach the platform when trying to connect (since its last reboot) as
connectionFails, as well as outcome of previous connection attempt as
- Add number of times the device "woke up" from sleep since boot in LTE-status uplink as
- Alter network loss detection for LTE: Do not reboot after second status upload fail (still reboot after 5 upload fails).
- Fix deduplication of telegrams for new
- LTE: Do not try to upload status message, when DTLS-handshake failed.
0.13.10 - 2022-05-06
- Fix order of reading SIM, logging SIM information, and triggering reboot with missing SIM.
0.13.9 - 2022-05-05
- Increase proven dial-up timeout from 60s to 90s to enhance dial-up robustness after experience from field-testing.
0.13.8 - 2022-05-04
- Change default config value for
coaps://platform.lobaro.com,coap://platform.lobaro.com, to enable fallback to non secure connection (not using DTLS) by default. Non secure communications may be blocked per device in Lobaro platform if needed to enforce secure DTLS.
- Set dial-up timeout with unproven connection parameters to 240 seconds - was 180 seconds before.
- Set dial-up timeout with proven connection parameters to 60 seconds - was 180 seconds before.
- When dial-up with proven connection parameters fails, drop them and try again immediately - once per activation.
0.13.7 - 2022-05-03
- Improve disconnect detection for MFW < 1.3.0
0.13.6 - not released
- When trying to reconnect to platform on connection loss, also check if connection to mobile provider is broken and try to reconnect, if needed.
- Perform reconnection on failed fetch during firmware update, instead of just retrying.
- Reduce LTE-connection timeout to 3 minutes.
- Sync clock with time provided by mobile network, if possible, only fallback to platform sync, if former fails.
- Handle if both
UseNbiot=truewith MFW < 1.3.0: Now using NB-IoT only in this case.
- Confirm temp config/new firmware from remote before any downlinks are handled (as those downlinks might cause a reboot and would hence reverse the update).
- Handle downlinks after each individual uplink during LTE-Join procedure, so that no downlinks will be dropped if one of multiple queued downlinks causes a reboot.
- Don't try joining platform if connection to mobile provider already failed.
0.13.5 - not released
- Increase internal state machines stack to avoid OOM.
- Turn off modem also for MWF1.2.x during startup.
- Increase waiting sockets efficiency in modem glue.
- Fix Status Cron.
0.13.4 - pre-release - 2022-04-29
- Add second status message after uploading of telegrams.
- Retry DNS lookup once per listed DNS server.
- Retry DTLS handshake on failure (Handshake can fail due to long flight time).
- Remove status information from
deviceuplink message (will follow in
statusmessage anyway and don't belong to device info).
- When DTLS-session breaks during uploading (e.g. because the server restarts), the device tries to establish a new session (perform new DTLS-handshake). If that handshake fails (3 tries), the uplink has failed. For each uplink message, this process can happen once.
- Add low-pass filter to voltage values uploaded to platform (to get a more realistic development of battery voltage change).
- Skip initial collection of telegrams after reboot caused by config change or firmware update (unless device was interrupted during uploading by change/update).
- Port Nordic OS-Layer to Lobaro OS.
- Respect port specified for host if hostname is used instead of IP (did overwrite with default port for protocol).
0.13.3 - pre-release - 2022-04-26
- Counter Datagram split when using DTLS with Modem FW < 1.3.1.
- Fix memory corruption introduced in 0.13.2.
0.13.2 - pre-release - 2022-04-25
- Reduce transmission overhead (save data volume and battery life).
- Adjust CoAP timeouts to better suit NB-IoT conditions.
- Remove diagnostic data ("monitor" string and other values) from telegram upload message.
- Add "monitor" string to status message (warning: "monitor" string is subject to change and might disappear in future).
- Upgrade nordic BSD-Lib to 1.4.1.
- Fix some memory issues from 0.13.1
- Fix id filter parsing from 0.13.0
0.13.1 - pre-release - 2022-04-21
- Support for reception of u-Link (Müller Funk) as
- New Config Parameter
umodeDurSecfor u-Link (Müller Funk)
- Fix addressing of optional external ram used for storage of large numbers of telegrams.
0.13.0 - pre-release - 2022-03-29
- Support for DTLS secured connections to Lobaro platform.
- Use device's certificate to authenticate/authorise device in platform when using CoAP over DTLS.
- Use Lobaro Root CA Certificate in device to authenticate/authorise Lobaro platform when using CoAP over DTLS.
- Output Root CA Certificate and Device Certificate to UART-log on booting.
- Create device certificate on booting, if it is missing or found to be broken.
- Upload used Band in status message over LTE.
- Log IMSI and ICCID in params during boot (is SIM present).
- Log CI-Field and Hop Count of received telegrams.
- Log complete wMBus telegram if verbose logging is enabled.
- Config Parameter
Hostnow supports specifying protocol, e.g.
- Reuse successfully used Operator/Band connection on subsequent connection buildups to speed up connecting (only if no explicit values are set by config).
- Increase LTE connection timeout from 2 minutes to 5 minutes.
- Remove power on wMBus receive test.
- Filter configuration is now verified on boot and invalid entries are treated as configuration error (they used to be silently ignored).
- For device filter configuration, leading zeros of wMBus device IDs can be omitted.
- Hard fail on boot when no valid DevEUI / device address is present in device.
- Reduce logging output of telegram store unless verbose logging is activated.
- Change default values of configuration parameters
Bandto be empty.
- Initial CoAP connection to platform now fails if device does not exist or another error occurs.
- Roll back firmware update, if platform cannot be reached with temporary firmware (same as with temporary config).
0.12.0 - 2022-02-16
- (altphy releases only) Support for using alternative OMS Phys (on different frequencies).
- (altphy releases only, hw3 only) Support for using addon for 433 MHz frequencies, special releases only.
0.11.10 - 2022-03-10 (bugfix release)
- Fix a hard fault that happened after LoRaWAN join.
0.11.9 - 2022-02-07
- (solar only) Fix behaviour on low power situation.
0.11.8 - 2022-01-31
- Fix reading of testing firmware name (fixes self test
0.11.7 - 2022-01-28
- (solar and hw3) Fix a situation that could lead to increased power consumption during sleep.
- (solar only) Add parameters
restVoltagefor adjusting charging / discharging.
- (solar only) Adjust voltage limit levels, remove parameter
- Initial support for Solar Gateway variant.
- (solar only) Skip operation below critical voltage, skip status messages on even lower voltage.
- (solar only) New config value
requiredVoltagefor controlling operation on low charge.
- (solar only) New value
voltageSkipin status message, communicating skipped operations due to low voltage.
- (solar only) Send status message during daytime, not during nighttime.
- (solar only) Interrupt running data upload when voltage drops too low.
- (solar only) Wait for required voltage after boot before starting work.
0.11.3 - 2022-01-10
- Verify secure firmware is of sufficient version on boot.
- Upload used host entry in status message (for verification if DNS is working as intended).
- Upload device's certificate on bootup (temporary message, might be removed at any time in future releases).
- Delay confirmation of firmware update until backend has been connected / OTAA join is completed.
0.11.2 - 2022-01-04
- Reduce program size (no functional changes).
0.11.1 - 2022-01-03
- Default Configuration now uses LoRaWAN 1.0 exclusively (was LoRaWAN 1.1 with fallback to 1.0).
- Fix some issues with LoRaWAN that could prevent Device from working when configured to use LoRaWAN.
0.11.0 - 2021-12-23
- Switch to use new Hash Store for saving wMBus telegrams (faster, no hard limit on number of telegrams).
- Allow use of external RAM for wMBus store.
- Handling of telegram filters sped up significantly.
- New config parameter
ExtRamfor making firmware use optionally soldered external SRAM.
- New config parameter
verbosefor activating more logging messages (reduces device's efficiency).
0.10.1 - 2021-12-06
- Upload of usage statistics with every status message.
0.10.0 - pre-release 2021-12-03
- Add DNS support for platform configuration.
- Multiple values for
- DNS-Server configuration (parameter
- Extend "Lost Reboot" feature to restart after 24h+ network loss.
- For GW v3: New parameter
- Use stored factory test result in boot up testing (written by provisioning firmware).
- Remove parameter
Port(now part of
- "Lost Reboot" feature now also triggers if mobile network is unreachable.
0.9.4 - 2021-11-05
- Adjust wMBus parameters to better receive som DME meters.
0.9.3 - 2021-11-04
- Fix a rare crash in wmbus-Stack
0.9.2 - 2021-10-19
- Support new format for device parameters in log.
- Support for new board nrf9160-sx-gw2 (GW V3).
- Boot Firmware >=1.7.1
- Modem Firmware >=1.1.0
0.9.1 - 2021-10-07
- Fix a bug where receiving many long telegrams could lead to an assert. (Assert: 32:/c/src/github.com/lobaro/app-nrf9160-wmbus/src/common.cpp)
- Reduce CoAP log to speed up upload.
0.9.0 - 2021-09-14
- Implement new low voltage protection: reboot on consistent low voltage during normal operations. On boot: turn off device completely when voltage is too low (multiple measurements taken).
- Critical voltage: 2.7V
- Introduce new filter for CI-Field in wMBus-Telegrams.
- Update boot Firmware to 1.7.0
- Update integrated mcuBoot Firmware to 1.3.0 (supports older versions)
- Boot Firmware >=1.7.0
- Modem Firmware >=1.1.0
0.8.8 - 2021-07-29
- Reactivate UDP config (was falsely deactivated in recent release).
- Boot Firmware >=1.6.0
- Modem Firmware >=1.1.0
0.8.7 - 2021-06-08
- Fix a memory problem introduced in 0.8.6.
0.8.6 - 2021-05-12
- Use inner ID and Type for Telegrams with CI 0x72 (repeaters)
- Update nrf9160 HAL
0.8.5 - 2021-04-26
- Internal changes on how band lock is executed.
0.8.4 - 2021-03-26 (unreleased)
- Internal changes on how band lock is executed.
0.8.0 - 2021-02-25 (prerelease)
- Full support for LoRaWAN as in dedicated lorawan wmbus bridge. Device can run in two different modes:
lteto connect either via NB-IoT or LTE-M,
lorawanto connect via LoRaWAN.
- New Config Parameter
lorawanto change between modes.
- New Config Parameters for LoRaWAN:
timeinformation in LTE Status Message.
- Filter list for Sensus-RF now supports IDs with prefixes other than
- Sensus-RF IDs for Filter list must now be given full as 11 digits (without dashes
- Drop support for Hardware Revision HW1.
0.7.2 - 2021-01-27
- Support for Xylem Sensus RF Bubbel Up Telegrams (X-Mode)
- New Config Parameter:
- Config Parameter
devFilternow also accepts Sensus RF Meter IDs (9 or 11 digits, no dashes. First two digits of ID are optional and will be ignored).
- Add value
modeto telegram upload indicating mode used during reception. Values:
- Add value
typeto telegram upload indicating telegram's type. Values:
0.7.1 - unreleased
- Include diagnostic information about time syncing.
0.7.0 - 2021-01-14
- Only support Bands 8 and 20.
- New config parameter
PINto support SIM cards that require a PIN (no support for entering PUK).
- Support for LoRaWAN as alternative upload technology on HW revision 2 (OTAA only) -- activated on special request only!.
0.6.10 - 2020-12-17
- Fix filtering of telegrams by manufacturer ID for telegrams that use a non globally unique address (highest bit in M-Field set to 1).
0.6.9 - 2020-10-27
- Include new information in status message:
collectedindicates if telegrams have just been collected on this activation,
telegramssays how many telegrams have been collected on last collection,
uploadingindicates how many telegrams will be uploaded following this status message (this helps in diagnosing connection lost during upload of telegrams and continuation of transmission on next status upload).
- Set default config value for
0 0 12 * * *to have a value that does not drain your battery too but gives you the ability to queue a downlink for the current day during your office hours. Also collecting during day, because some meters do not send during night hours.
- When uploading telegrams, always send status message first as well.
- Fix a bug that prevented the reception of certain wMBus-Telegrams C-Mode Class-A (valid telegrams of a certain length where falsely rejected as having an invalid CRC).
- Fix an issue triggered by certain unusual bytes in the air that could lead to temporary problems on wMBus reception (that could result in receivable telegrams not being received).
- Continuation of failed uploads on next status activation was losing the telegram that failed to upload. Now it will be retransmitted.
0.6.8 - 2020-09-25
- Fix handling of Type B Telegrams.
0.6.7 - 2020-09-17
- Failed data uploads will be retried to upload along with status messages. There will be no new collection for this; telegrams are only collected on data cron (and after boot). On upload failure, collected data is kept until it is uploaded during status or until data cron activates again (if there is still pending data from last activation, that is dropped).
- Also evaluate server requests after Status Message only uploads.
0.6.6 - 2020-09-09
- Enhance timing on handling of incoming wMBus telegrams, so we are less likely to miss any.
0.6.5 - 2020-09-08
- Support CoAP blockwise to enable up-/downloading huge device configs.
- Human readable logging of CoAP options
- Evaluate downlink after every uplink during telegram upload.
- Only output printable chars in log during CoAP communication
0.6.4 - 2020-08-27
- Increased size for CoAP buffer to enable upload of config in max size.
0.6.1 - 2020-08-25
- Evaluate downlinks on bootup (after all initial uplinks are sent).
0.6.0 - 2020-08-24
- Daily status uplink to CoAP backend, independent of configuration.
- Initial status uplink to CoAP backend after boot, before initial collection.
- Parsable meta information like connection quality etc (CBOR).
- Validate all config values before operation starts (cron was missing in validation)
0.5.6 - 2020-07-14
- Revert too restrict 3of6 decoding size check
- Use task notification again in virq for more efficiency since it did not affect HF problem
0.5.5 - 2020-07-13
- Use Newlib allocator for freeRTOS
- Set stack and heap sizes in cmake file of app
- Use queue for sx1272 irq to task synchronisation instead of task notifications before
0.5.4 - 2020-07-08
- Start lobcom frame counter at 1, not at 0
- Remove diagnostic logs, change version number for release.
0.5.3 - 2020-07-07
- Support new dedicated hardware HW2
- Reboot when losing connection to network (in case modem is stuck)
- Add optional upload per raw UDP (without coap) to alternate address
- Support only LTE-M/NB-IoT in firmware as supported by current hardware
- Increase config size, up to 175 device IDs
- Disable modem on initial wMBus collection to enhance reception quality
0.4.0 - 2020-05-15
- Start changelog.
- Make Firmware work with nrf-Board 1.4 (fix power on logic for module).
- Removed learning mode.