About

I felt like iOS (or mobile in general) lacked a simple and easy to use MQTT client, so I decided to build my own. It started off with very limited features, but over time while using it with my own setup I kept adding new functionality.

The most interesting feature is Siri Shortcuts support. It allows you to connect actions on your phone to your existing MQTT and Home Automation setup. With the new automation triggers in iOS 14, this opens up a lot of possibilities for automating things. It’s also possible to trigger sending MQTT messages over Siri or manually run shortcuts over the Shortcuts widget.

The app supports both iPhones as well as iPads (iOS 13+) with all the fancy things like split screen and Slide Over.

How it all started

I started my journey down the home automation rabbit hole in 2017. For me, and I’d imagine most people, it started with smart lightbulbs. Ikea just released their cheap (compared to Philips hue) Zigbee lightbulbs and I picked up a couple with a gateway to play around with. Back then, they didn’t have any integrations with Alexa, Google Home and other smart home software and the only way to control your lights was through the app. I eventually came across Homebridge to allow connecting those lights to Homekit. Shortly after, I discovered the fantastic Home Assistant project.

Fast forward two years, one move into a new house and a whole pile of smart home lights, switches and sensors later, I stumbled upon Zigbee2mqtt. With all the smart Zigbee devices I had around my house, it seemed like the perfect solution to replace all the gateways and hubs and combine everything into one network. As with everything DIY smart home related, Zigbee2mqtt wasn’t the most straightforward thing to set up. There are no nice GUIs for it and the only way to interact with the hub is over SSH or MQTT.

That’s what gave me the idea to start writing my own MQTT client. I found the CocoaMQTT and decided to write an app around it to allow me to better manage my MQTT broker and control Zigbee2mqtt. I had an initial version up and running rather quickly and already used it to replace MQTT apps I used on Mac before.

I used this initial version for a few months, until Apple introduced SwiftUI at WWDC. It caught my interest and I decided to completely rewrite my MQTT helper app, giving it a nicer UI and making it easier to use. The result was quite usable and I started thinking about additional features to add. Typing out long MQTT topics always felt like too much work, so I added a feature to save frequently used topic and messages. I got the idea to include Siri Shortcuts with the release of iOS 13, when Siri Shortcuts became a lot more powerful. After some quick research, I realised that there aren’t many nice looking MQTT apps for iOS out there and with the addition of Siri Shortcuts it would make for quite a nice niche to be filled.

Once the quarantine hit, I found myself with a couple of extra hours each day that I saved from the lack of commuting, so I used that time to further develop EasyMQTT. I went through multiple iterations the following months and about a month long public beta phase over Testflight. After receiving some great feedback I was able to squash the last few bugs, add some more valuable features, and then finally felt comfortable to release EasyMQTT 1.0.