I’m excited to share that we’ve developed and released a brand-new add-on using the SwitchBot API specifically tailored for MQTT integration.
One of the standout features is its comprehensive support for virtual infrared remote devices. Plus, it’s capable of receiving and processing Webhooks, which is quite a game-changer.
What’s more, the core of this add-on is built using C# .NET 6, and you’ll be amazed to know that the user interface is powered by Blazor Server, bringing a unique touch to the Ingress screen.
I understand that some folks might have security concerns, but we’ve taken a novel approach by incorporating Ngrok internally to enable Webhook reception without the need to open ports externally. It’s something you probably haven’t seen before.
Lastly, since it’s running on the .NET , it does have a slightly higher memory consumption (around 300MB on the amd64 architecture).
I invite you to check out the repository and would absolutely love to hear your feedback. Pull requests are more than welcome too!
Looks like a great add-on. Just getting started with it and when I try to pull in my devices, the list remains blank. The logs show a success/100 message back, and I can see all of my devices in the array, but then it appears to hit an error:
10:11:00 fail: SwitchBotMqttApp.Logics.DeviceConfigurationManager[0] LoadDevicesAsync error. System.InvalidOperationException: Sequence contains no matching element at System.Linq.ThrowHelper.ThrowNoMatchException() at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate) at SwitchBotMqttApp.Logics.DeviceConfigurationManager.<>c__DisplayClass9_0.<LoadDevicesAsync>b__0(Devicelist d) in C:\github\hsakoh\switchbot-mqtt\src\SwitchBotMqttApp\Logics\DeviceConfigurationManager.cs:line 86 at System.Linq.Enumerable.SelectArrayIterator`2.ToList() at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at SwitchBotMqttApp.Logics.DeviceConfigurationManager.LoadDevicesAsync(DevicesConfig currentData, CancellationToken cancellationToken)