iOS Toolkit App


Hi Everyone,
Thank you for the comments and ideas relating to the implementation of the Multipeer framework for local messages - definite food for thought…

Version 3.4 of Mesh Developers Toolkit is now available in the iTunes App Store.

This has a number of stability improvements when using Multipeer to communicate with other iOS devices.

A new preference “Multipeer Key” has been added.

This allows you to set a unique key to ensure that only devices with the same key appear in your list of devices and shouts will also only go to iOS devices with the same key.

If the preference is left blank you will see all devices running Mesh Developers Toolkit which don’t have a key set.

Although it should be noted that due to the restrictions on the length and encoding of the service name a long key will be truncated, this is to prevent a crash I identified if an incorrect encoding or too long key is used.

You can now share any messages received over a Multipeer connection by swiping left on the message in the “Messages” tab and selecting “Share” which will then allow you to share the message using iOS share panel.

You cannot share to a Mutlipeer connection using the iOS share panel as Apple’s Multipeer framework does not remain active when the App is in the background (and you cannot use it in a Share Extension!) but you can still share over the goTenna connection.:slightly_smiling_face:


Version 3.5 of Mesh Developers Toolkit is now available in the iTunes App store, in this version the Script editor has been reworked.

It is now possible to have different scripts for “events” (e.g. “timer event” or “start up” event) and the available events are listed in the Script tab, removing the need for a large “if/else” statement.

If you don’t have a script for an event the message will be passed to the default script “scriptfile.js”.

You can also setup new “events” or “keywords” which allows you to define a script which will be parsed if it matches the first word of the incoming message.

For example if you have a script with gets weather data from - you can create a script called “weather” and then any message starting with weather will be passed to the script, without the need for you to parse it out of the full message script.

The point size of the script editor has also been increased to make it more readable :slightly_smiling_face:


Hi @MrTSolar I have finally found some time to build some more battery monitoring functionality.

Version 3.6 of Mesh Developers Toolkit ,which has been released in the iTunes store, now generates a message when the iOS device or goTenna’s battery drops below 10%, 5% or 1%.

The message is either sent as a predefined message using the GUID set in the new setting, “Reporting GUID”, without the need for a custom javascript, in line with your suggestion.

If the “Reporting GUID” preference is blank a script event will be generated (6 different events 10%,5%, 1% iPhone and goTenna). You can see the “event” names in the new script editor tab.

If the script is blank the “event” will be passed to the default script.

When the battery level drops below a threshold the message will be sent twice, with a 1 minute interval between the two messages - just incase the first message does not get through.

If the voltage goes back over a threshold (e.g. from Solar charging) no event will be generated.

The messages Tab UI has been changed so that if the goTenna retries sending a message or fails to the send the message, it is now recorded in the tab - Colour coded yellow for message resends or red for failures.



I have been experimenting with the app, adding functionality via Javascript for automating a station to be remotely controlled. One problem I noticed during testing is that shout(message) when called via Javascript does not appear to work.

After trying many different things to troubleshoot, it seems that shouts to other instances of MDTK work. That is, independent nodes paired with MDTK do receive the shout messages. However, nodes paired with the official goTenna app do not receive the shout messages. Or if the radio is receiving, the official app is not presenting it to the user.

Do you know if there is something intentionally different between MDTK shouts and ‘official’ goTenna shouts that would cause this? Is this something that can be controlled, or do I potentially have a setting set incorrectly?

Testing with iOS 12.0, FW 1.1.8, goTenna app 5.3.1, MDTK 3.7.

Thanks! This is truly a great app, and amazingly flexible!


Hi Chiggins,
Thank you for your comments.

I think that there is a difference between SDK Shouts and the ‘Official’ GoTenna shouts and that it was changed in the last Firmware (or I am doing something wrong…).

When I put together the next build (I am looking to build some functionality to allow easer interaction with the Python SDK) I will check if there is anything obvious.