Skip to content


Choose a tag to compare
@fallberg fallberg released this 18 Jun 14:35
· 108 commits to master since this release

Highlights in this release

New gateways

  • TinyGSM based gateway support for ESP8266. Thanks @thucar.


  • Config files are used to store more settings (security keys, gateway settings, etc)
  • More security settings available


  • The simple password flag has been redesigned:
    • MY_SIGNING_SIMPLE_PASSWD only affects signing.
    • MY_ENCRYPTION_SIMPLE_PASSWD only affects encryption.
    • MY_SECURITY_SIMPLE_PASSWD enable both signing and encryption flags.
  • Software AES encryption now available for RFM85 radios


Pin changes

  • ESP8266 changes RFM69/95 default IRQ pin to D1.


MySensors 2.3.0 release

15351cdd5b92248 by Patrick Fallberg at 2018-06-18 14:15:50

Linux: Add rfm95 configure options (#1135)

b84cd6ac4ecacdd by Marcelo Aquino at 2018-06-16 17:19:32

Pre-register PR build statuses on GitHub (#1145)

This enables GitHub to show all statuses planned for execution.
88a0d70e4d66984 by Patrick Fallberg at 2018-06-16 14:41:37

Avoid data array overflow (#1142)

Occurs through packet collisions. Sometimes a wrong length is received.
a28b7036caa787f by seeers at 2018-06-16 11:32:10

Jenkins: Update CI scripts + Arduino IDE 1.8.5 (#1144)

f934d7c46f92f51 by tekka at 2018-06-10 11:05:47

Jenkins: Update ESP8266 board defs 2.4.1 (#1143)

fc99db60e0f870d by tekka at 2018-06-10 08:59:48

Remove redundant keyword identifiers (#1140)

The third field of keywords.txt is used to provide Arduino Language
Reference links, which are accessed from the Arduino IDE by
highlighting the keyword and then selecting "Find in Reference"
from the Help or right click menu. Adding values to this field that
do not match any existing reference pages results in a "Could not
open the URL" error.
9f987a98f951772 by per1234 at 2018-06-08 08:29:06

Add software AES encryption to RFM95 transport HAL (#1054)

Also clean up capabilities flags a bit and fix test-sketch
for rfm95 to use proper encryption flag.
bbaa9399d6e68f1 by Patrick Fallberg at 2018-05-29 22:09:24

Fix syntax error in MyGatewayTransportEthernet (#1132)

Code doesn't compile very well if statements are missing
a semicolon at the end.

This error snuck in in
59b15f5824bf060 by Mikael Falkvidd at 2018-05-18 13:46:12

Refine cppcheck analysis (#1133)

  • Details link on github for cppcheck now goes straight to the report
  • Removed umatched suppression from the cppcheck suppression file
    4e1d69dbb232bd8 by Patrick Fallberg at 2018-05-18 06:35:43

Add error message when HAL is undefined (#1131)

ba7027ce1d4ba81 by Avamander at 2018-05-16 08:34:14

Update cast in msg.set (#1130)

A while ago, MySensors changed to use int32_t
instead of long int (and similar for other data
types). This change was not applied to all examples,
causing some examples to fail compilation for
ESP8266 with the following message:

call of overloaded 'set(long int)' is ambiguous

This update changes the casts to match the new style.
This fixes
Thanks to for reporting.
0b9af6d713aaa17 by Mikael Falkvidd at 2018-05-14 19:32:11

Fixed some minor typos in comments (#1082)

  • Fixed typo in the username
    f5ed26c778c1810 by Marco Bakera at 2018-05-06 18:22:56

Remove use of titles by CI Butler (#1125)

c08b80cb90b434c by Martin Hjelmare at 2018-05-04 16:35:00

Kill Gitler and make way for The Butler (#1124)

The Butler is a more polite and helpful replacement to the
grumpy old Gitler.
The Butler will do his utmost to assist new (and old)
contributors to the MySensors cause.
d9e05eb39c387ce by Patrick Fallberg at 2018-05-04 07:38:24

Add transport sanity check before entering loop() (#1116)

153850de808023e by tekka at 2018-05-01 20:33:26

Fix RFMxx deadlock and minor optimization (#1099)

3c07390323fb104 by tekka at 2018-05-01 20:31:16

Add sleep forever by sleep(0); (#1113)

For battery powered sensors which wake up by the RST Pin its useful
to sleep the cpu forever. When using this command:
the code will be stripped down to hwSleep(0);.
But this will not sleep the cpu forever.
1c5853ce79fb62b by Tombula at 2018-05-01 14:59:04

Word corrections (#1114)

Consolidate WiFi defines (#1110)

Great work @tekka007
bb7766197c982eb by tekka at 2018-05-01 14:54:43

Add more missing keywords (#1111)

This fixes
and also adds Doxygen and syntax highlighting
for the following keywords:
e0988e6d9e368f1 by Mikael Falkvidd at 2018-04-10 18:22:39

Clarify default defines (#1106)

Moved example values after the @brief portion of Doxygen,
so the default (empty/undefined) values are visible
in Doxygen.
a8429868e770ce8 by Mikael Falkvidd at 2018-04-10 12:58:11

Add Doxygen for MQTT_USER and MQTT_PASSWORD (#1105)

This fixes
df1bb7fcc538a0c by Mikael Falkvidd at 2018-04-10 05:56:17

Fix spelling mistakes (#1104)

f2d9f72cf488b86 by Mikael Falkvidd at 2018-04-09 21:31:50

Add keywords that already have Doxygen (#1108)

Found some keywords that already have Doxygen comments
but were not present in keywords.txt
bb80732eada0443 by Mikael Falkvidd at 2018-04-09 21:27:19

ESP32: Support HW (#865)

This fixes #968
eaf1b9452bef48f by tekka at 2018-04-07 12:46:01

Remove faulty wiring instructions from ESP gateways (#1100)

This fixes
has been updated to include GPIOn instructions
(in addition to the existing Dn instructions).

Thanks to RWoerz for reporting this discrepancy.

Also, the "barebone" boot wiring has been moved to
d1aa419efe612bf by Mikael Falkvidd at 2018-04-07 08:42:52

Add missing keywords 2 (#1087)

  • Add missing keywords and blacklist

These keywords already exist in Doxygen and should be highlighted
in the Arduino IDE.

Some keywords should not be highlighed and are therefore added
to the blacklists at end of keywords.txt

  • Sort keywords in each section

  • Add blacklist of MY_MQTT_TOPIC_PREFIX
    9809eb6270ae6c9 by Mikael Falkvidd at 2018-04-05 20:25:05

RF24: Minor power optimization (#1069)

2994d83e53cda28 by tekka at 2018-04-04 18:48:36

Linux: Support keys in config file (#1093)

  • Signing and encryption keys are set through the configuration file.
  • SoftEeprom update.
    3c0b2727a569072 by Marcelo Aquino at 2018-04-04 18:43:13

MY_GATEWAY_TINYGSM support. GSM gateway using a modem module (#1097)

Added TinyGSM driver and GatewayGSMMQTTClient example
4d90c00f984e3af by thucar at 2018-04-04 14:40:11

Linux: RF24 interrupt trigger workaround (#1094)

Fix #870
b5a2fc226fe6475 by Marcelo Aquino at 2018-03-27 21:07:57

Linux: Minor log fix (#1092)

Use colored log messages only on the terminal.
fb95a84e6f6eaeb by Marcelo Aquino at 2018-03-25 18:51:41

Linux: Fix stability problem with ethernet (#1091)

  • Fix a problem where mysgw stops working and consumes a lot of cpu.
  • Fix bug with tcp sockets where socket descriptor wasn't being
    ea6d07cb79394d6 by Marcelo Aquino at 2018-03-24 07:16:44

Linux: Use config file for gateway settings (#1061)

  • The following settings can be use on the config file:
    • verbose=[debug,info,notice,warn,err] - Logging verbosity.
    • log_file[0|1] - Enable logging to a file.
    • log_filepath=(FILE) - Log file path.
    • log_pipe=[0|1] - Enable logging to a named pipe(aka fifo).
      Use this option to view your gateway's log messages from the
      log_pipe_file (defined below).
      To do so, run the following command on another terminal:
      • $ cat "log_pipe_file"
    • log_pipe_file=(FILE)
    • syslog=[0|1] - Enable logging to syslog.
    • eeprom_file=[/etc/mysensors.eeprom]
    • eeprom_size=[1024]
  • Change some mysgw parameters:
    • Added:
      • -q, --quiet: for quiet mode, disable log messages written to the
    • Removed:
      • -d, --debug: removed, log messages are now enabled by default.
    • Replaced:
      • -b, --background: replaced by --daemon
  • isatty() is no longer used, log messages by default are printed to
    stderr unless the gateway is started with --quiet (#1022)
  • MY_LINUX_CONFIG_FILE: no longer holds the path to the eeprom file,
    but to the configuration file
    2175c993ef81b78 by Marcelo Aquino at 2018-03-23 10:00:34

Add detection of missing keywords to gitler (#1085)

06f8d2b7e5dc3cc by Mikael Falkvidd at 2018-03-22 07:26:27

Add missing keywords (#1084)

A blacklist is available at the end of keywords.txt

I decided to blacklist all the LINUX keywords. I guess people
could use the Arduino IDE to edit the sketch for the raspberry
pi gateway, but I'm not sure we should encourage that.

I'll add gitler support for auto-detecting missing keywords
in a separate PR.
c9c461846a8ce77 by Mikael Falkvidd at 2018-03-21 14:08:02

Simplify doxygen for ./configure (#1080)

No need to grep when we have a command that outputs
exactly what we want.
7a33082eaf506c1 by Mikael Falkvidd at 2018-03-12 10:47:39

Fix default IRQ pins on ESP8266 that prevent MCU from boot (#1076)

  • Derive default interrupt from configured instead of default pin

Derive DEFAULT_RFM69_IRQ_NUM from MY_RFM69_IRQ_PIN instead of
DEFAULT_RFM69_IRQ_PIN so that _NUM does not have to be defined
if _PIN is redefined

  • Change default IRQ pin for RFM69/95 on ESP8266 to GPIO5=D1

The originally defined pin GPIO2 prevent ESP8266 from booting,
since it has to be pulled high for booting and DIO0 from the
RFM69 is defaul low.
For this reason, it is improbably that anyone is using the default
and would be affected by this change.
3d093e6beda34fe by kvoit at 2018-03-08 16:56:22

Add git commit message hook to the mystools bundle (#1067)

The message hook validates that the c ommit message follows
the MySensors requirements.
More specifically, it checks that

  • Commit message does not exceed a line length of 72 characters
  • Commit title start with an uppercase character
  • Commit title does not end with a period ('.')

Fixes #672
3f2d2921428ef2a by Patrick Fallberg at 2018-03-06 16:32:54

Development version 2.3.0-alpha (#1073)

eb839464b8e17f9 by Patrick Fallberg at 2018-03-04 16:49:51

AVR: Fix OTA logging (#1074)

c805f77f202cfc2 by tekka at 2018-03-01 19:27:07

Nvm fota (#1018)

  • New Firmware OTA for NVM/mcuboot (nRF5)
  • Support for mcuboot (nRF5)
  • Support for run length encoded data
  • Support for smaller FIRMWARE_BLOCK_SIZE, if required
  • Update NVM

  • New MY_LOCK_MCU for NRF5

  • Test with Sensebender GW + Sensebender Micro was successful
    fe42dbdcca4ced3 by d00616 at 2018-02-28 19:03:34

ESP8266 Gateway examples: clarify inclusion pin (#1065)

The comment for inclusion mode pin and the definition of

GPIO5 should be safe to use, while GPIO3 is used for the
UART which might result in conflict.

This fixes
599c0bada60089c by Mikael Falkvidd at 2018-02-22 11:04:03

Transport code harmonization (#1072)

57eca4f4afb3a26 by tekka at 2018-02-20 11:32:17

Fix MY_CORE_ONLY: Initialize HW (#1070)

b51981ab3d11454 by tekka at 2018-02-20 11:32:03

Fix variable names, minor updates (#1071)

345d6d7d119f5d2 by tekka at 2018-02-19 12:26:14

RFM69: Updates and optimizations (#1049)

  • RFM69: Updates and optimizations

  • RFM69: Updates and optimizations
    a0af38a0d8cd2cb by tekka at 2018-02-18 20:06:28

RFM95: Updates and optimizations (#1063)

0bc3ac9cb32e6f9 by tekka at 2018-02-18 20:05:25

Linux: Serial minor update (#1053)

  • The symlink name for the PTY device is set using --my-serial-port
    making --my-serial-pty deprecated
  • MY_DEBUGDEVICE can be used to print debug messages from MySensors
    (as it is currently in the other architectures)
  • Rename SerialSimulator class to StdInOutStream
  • Remove old deprecated option --my-radio
    54fb250ab278324 by Marcelo Aquino at 2018-02-13 12:22:27

Restructure transport HAL (#1062)

6794c72ecd8c35c by tekka at 2018-02-11 15:48:11

Revamp the simple password flag and rPi fixes (#1056)

MY_SIGNING_SIMPLE_PASSWD only affects signing,
only affects encryption.
MY_SECURITY_SIMPLE_PASSWD enable both these flags.

The rPi port has been improved to support more
security settings and it is now also possible to
enable encryption for RFM69 transport.

Documentation has been improved to provide a
"Security" section under "Library customisation"
which has a table that summarize all security
related configuration flags, and the corresponding
rPi configuration flags.

The signing personalization documentation has been
updated to include the procedure for rPi.

Fixes #1055
8a1f5f4cf9d4a5c by Patrick Fallberg at 2018-02-11 10:22:48

Various CI-pipeline fixes (#1042)

  • Let Gitler produce a changelog for release builds
  • Fix bug in publishing release documentation
  • Fix bug in labeling documentation
    (now uses tag data for better tracability)
  • Update copyright in documentation
    968b2daff731873 by Patrick Fallberg at 2018-02-10 19:43:18

AVR: Harmonize code (#1059)

72b71c8fc810c89 by tekka at 2018-02-10 17:58:20

Fix smartSleep() (#1060)

dea0fd50ca2a9c7 by tekka at 2018-02-10 17:49:31

RFM69 - add keyword MY_RFM69_IRQ_PIN (#1052)

  • Add MY_RFM69_IRQ_PIN keyword

Add MY_RFM69_IRQ_PIN into keywords.txt
7ed54423fbee959 by Miloslav Kazda at 2018-02-02 11:37:53

Add URL option for MQTT broker in example sketch (#1033)

14d8accf3716919 by Kartik Arora at 2018-01-30 20:04:37

Doxygenize MyMessage / Message manipulation (#1035)

  • Fix cppcheck issues

Fixes the following cppcheck issues:
305 variableScope 398 style
The scope of the variable 'timeDiff' can be reduced.

127 variableScope 398 style
The scope of the variable 'led_state' can be reduced.

  • Doxygenize MyMessage / Message manipulation

This should replace the static documentation at

I have enabled existing comments and added new comments where
necessary. Feedback on syntax and contents is welcome.
8fbdca445280ac4 by Mikael Falkvidd at 2018-01-30 19:47:11

RFM69: Fix compiler warning (#1046)

eff11367333162a by tekka at 2018-01-28 13:41:03

Fix cppcheck issues (#1036)

Fixes the following cppcheck issues:
305 variableScope 398 style
The scope of the variable 'timeDiff' can be reduced.

127 variableScope 398 style
The scope of the variable 'led_state' can be reduced.
06269dd94908c35 by Mikael Falkvidd at 2018-01-28 08:31:19

Development version 2.2.1-alpha (#1043)

52ac498edae9f22 by Patrick Fallberg at 2018-01-25 21:52:57