Blynk 2.0 Local server

But if they are controlled via an app, like Tuya for example, then that bit is easy if you are the Chinese government and have access to the hosting servers and have the data on how the app works.
It may not even require hacking, as the government may require the access to be built-in.

BTW, I’m not a conspiracy theorist at all, I’m just commenting on the potential for this to be done. It’s interesting that many countries have banned Huawei from 5G infrastructure contracts over similar concerns though :thinking:

Pete.

1 Like

Yes, in the case of the tuya, the task is really simple.

Yeah. I know also, that a lof high tech equipment is remotely controlled and can be turned off at any time if required.

PeteKnight, please don’t tell the Chinese! :sunglasses:

Dmitry, the last question for today, is there a ready-made recipe for how to combine sleep and AIR update in one sketch. Is this possible?

@Yury maybe @vshymanskyy could help here.

Dmitry, there are few functions in automation today, can you show a roadmap for the development of this section?

As a DIYer I use blynk local because I don’t want my internet to be a requirement to open my garage, turn a light on etc. Dumb there is no local server option. Oh well on to the next…

just my bit of feedback on this topic…

I am a hobbyist tinkerer so my activity will not make or break a company like Blynk.
I have lots of IoT things in my house. I have found time and time again that the company making the hardware (E.g. heat pump water heater, provide really crappy software, and then after some years, that software is no longer supported, or can’t be installed on a newer phone OS, etc. Now one is likely left with a lump of hardware that cannot be used. The IoT industry is new and people have not yet realized this problem. I want to see such product manufacturers use open standard systems that allow access to the devices, and continue to work with existing interfaces. I also want to be able to write my own code to interact with those devices. I own the hardware on my LAN and I want to talk to them, even if my internet is lost.

Blynk provided my first way to get code running on my Android phone and it was very well designed and a great system, but it still tied me to Blynk servers. I had one device monitoring the water pumps of AC and water heater, one controlling my trains, one controlling my lights, one controlling an outdoor train signal, one tracking the temperature, another operating some curtains. These 6 apps ran fine for some years. Then Blynk announced that we have to move them to a new platform, again underscoring the reliance I had built up on an external system beyond my control.

I don’t want to have to migrate from one platform to another every few years. I like the old computer adage, “Never touch a working system”.

I discovered a programming platform for making computer games called AGK (AppGameKit) and it lets us code in either Basic or C++ and then run that code on Windows, Android or iOS. This lets me create and reuse user interface items, and access items on my network. The build environment is fully on my computer as is all the source code which I can put into source code control.

I converted all my Blynk apps to use RemoteSign ESP modules - these can control lights, relays, displays, host sensors, and I can talk to them from AGK apps.

I created a system similar to MQTT (but not as good) that lets me share data between RemoteSigns and the RemoteSign Sequencer so I am able to keep status data synchronized between my phone, wall switches and other RemoteSigns. Due to its complexity, I am planning on migrating that aspect to MQTT and adding that functionality to RemoteSign too. When I have done that I will probably run a local MQTT server so I have no external dependencies.

Having the ability switch lights etc. on and off using wall switches, voice and phone is great, but it has to all work just as well as the old physical switch, even when there is no internet connection.

I don’t want to subscribe to services. I totally understand the drive for such models by service providers. $5 here, $5 there and there and there and next things we are spending hundred per month, which I can’t afford. I would rather try a system out (even if it has some limitations) and if I like it, buy that software and unlock the restrictions.

Companies wanting to sell devices, can pay for servicing those devices through companies such as Blynk, and I think they should pay for usage, so that the fees scale along with their business. This could do provisioning, registration, after sales stuff, support, etc., but ideally once installed the customer should be autonomous and not reliant on an internet connection where there is no real need for data to be transferred. For example if weather data is used, the software must assume that weather data may not be available (no internet) and not start failing to run the heating or AC because it has no weather data. If the vendor or their service provider go out of business, the stuff should carry on working.

This is why a local server is important. It enables people to build things and develop an ecosystem. Yes, it does not bring in any money for Blynk, but it is essentially the same software you need to run in-house for users so it needs to be maintained anyway. Yes, there are costs in supporting the server, and people are idiots, but writing the docs etc., for it likely makes your in-house experience better too.

What is important is building an ecosystem with no barriers to adoption, such that users know their investment is secure. When they develop good apps they can then go commercial and pay for hosting as needed. Perhaps moving to MQTT is the way to go for the cloud side of things. Then you don’t need to create, maintain and support the hosting side, just the gateways to it.

Here is another example of how I got burned relying on BIG name outside providers. I developed a system for my model train layout that allowed me to perform an unlimited set of actions via voice. For example I could create events like “thunderstorm”. I could then say to the Google assistant, “Event thunderstorm”. That would trigger a web hook via IFTTT and that would hit my router with an HTTP request that would pass in the parameter “thunderstorm”. My layout software would then trigger the event called thunderstorm. This all worked great for years and if I created a new event I did not even have to add any code, I could trigger it simply by saying its name.
Then Google and IFTTT decided they were no longer going to allow parameters to be passed. This completely broke the system. I would have to create new recipes and google assistant routines for every event, and every time I created a new one. Blah! Nope.

@DaleSchultz your post rambles around a little from appearing to want a Blynk IoT local server to wanting MQTT access to the Blynk cloud servers and a subscription free environment - so it’s a little difficult to provide any feedback.

As I’m sure you know, my home automation uses MQTT, Node-Red and Blynk this runs on a local MQTT/Node-Red server in a Raspberry Pi, with the existing Node-Red to Blynk plug-in.
I also have wall-mounted controllers (Nextion devices) physical switches, 433MHz remote controls, IR remote controls, voice control via Amazon Alexa etc.

Obviously the Blynk side of things and the Alexa control don’t work if I have no internet connection, but every else does - provided my Raspberry Pi is running as intended.
I have an MQTT app that gives me a simple way to control any of my devices if my internet is down, without the need to sit at a console and type MQTT commands (although that is on possible too).
I also have a simple way to control devices via my Node-Red flows, but this is an admin function rather than a method that I’d want others to use.
There is also the possibility of using the Node-Red’s dashboard as a web-based controller, but I don’t like the dashboard very much so, after trying that briefly I abandoned that approach.

The beauty of Node-Red is that it acts as a rules engine, making changes to logic operations easy without the need to start updating the code running on the devices (unless it’s a major re-write of course) and it makes interfacing with other systems very easy. I briefly dabbled with IFTTT in the early (free) days but quickly realised that it was totally unnecessary in 99% of situations if you use Node-Red.

So for me, I have the best of both worlds - a home-hosted system that I have full control over, and interfacing with Blynk to provide an alternative control and monitoring system as well as interfacing with things like Alexa, weather services, information services etc.

Of course, there is a cost to running and maintaining your own Node-Red/MQTT server, both in terms of hardware investment, power consumption and maintenance overhead. Provided you’re comfortable with that then it’s an excellent approach to take in my opinion.

Pete.

Hi Pete, which MQTT app do you use to control your devices if the internet is down? How is it implemented? I am asking from an interest point of view.

I use an iOS app called “IoT OnOff”
It’s not great though. You can’t share the dashboards across devices and it doesn’t work that well on newer iPhones with the ‘notch’ at the top.

I have it installed on an iPad that always stays at home, which works around those issues.
It’s primarily used as a way to turn lights etc on/off. This would normally be handled by spoken Alexa commands or via Blynk, but if the internet connection is down then this app gives a way to control devices via a dashboard rather than using something like MQTT Explorer to publish the necessary commands.

Pete.

Hi Pete, thanks for that, I guessed it was different to MQTT Explorer which I use a lot on my PC / Laptop but not on my Android phone. I need to change my phone so I might look at an IOS phone as there have been a number of Apps I have wanted that don’t work on Android. IOS phone packages seem to be somewhat pricey, that’s the issue for me.

looks like IoT OnOff is available for Android too…

Pete.

Thanks Pete, sorry for the late reply, it has been a busy week. That looks like a useful app. I downloaded it but have not had chance to try it yet.