I’ve re-written this blog today – as the people at Blynk have been quite useful – promising to fix some items I’ve griped about/commented on. I hope they don’t mind me pinching some of their imagery.
One of the problems with home control – is making a nice web interface that is also powerful.
and with that in mind… of my readers recently brought my attention to http://www.blynk.cc/ - I put the link in as that spelling makes it a little hard to find otherwise.
Now if you look at their site – they show a really nice mobile dashboard – see my screen grab on the right - and that IS achievable – kind of… but I think there’s a way to go before this takes over an utterly destroys the likes of NETIO or my own JQUERY MOBILE efforts. But read on.
So – you get the APP for free (well, for now – if they keep it down to a couple of quid I doubt anyone would mind) and you select gadgets like on off buttons, graphs, gauges, LEDs etc. a REALLY nice selection of the type that NETIO should have done but wasted the opportunity to do so, such that many of us are moving away from that package and seeking alternatives. So with BLYNK, it’s easy to make a nice page full of buttons and lights.
The next easy bit – take an Arduino or an ESP8266 using the Arduino-ESP development environment and drop in a program with nothing more than code from them…. and a connection to your WIFI – and BOBS YOUR UNCLE – you have an app on the phone and you can turn things on and off or PWM or read the state of analog inputs.
It sounds like NIRVANA but for me that is no good at all. Firstly I’m not interested in controlling on gadget, I’m interested in controlling a BOATLOAD of them.
However, as those of you who’ve been following my blog will know, Node-Red has answers to all the world’s problems and as it happens, there is a set of NODE-RED nodes to let you intervene with Blynk. As of this morning I have most of their controls working alongside Node-Red and the rest of my kit. So essentially you can have Node-Red talk to the APP – and of course Node-Red can then talk to everything else via MQTT – or maybe you want to control pins on a PI – well Node-Red can do that too.
But before you get TOO excited there are currently a lot of issues:
1. One page per “application” – and switching applications involves disconnecting from one and connecting to the other (2 button presses as well as moving across to another application).
2. Turn off the power to the end gadget using the BLYNK code and back on – it does not remember it’s original state – and the phone app can’t tell the state. Of course if you don’t use their code, you could write a little code on your ESP or whatever so that when an output is turned on – you store it in EPROM… yes, but then after power down and up – you restore the state of the output and…. here’s the killer, there’s no way to restore that state to the button on the phone!! They’ve said they will fix that – I need to be able to say to a button on the phone “Look like you’re ON or OFF”.
I HAVE discovered a programmable timing READ event on for example the GAUGE so that when the App page opens I can go get the voltage and update it – this needs to be extended to buttons, lets etc.
3, If you give the app to your WIFE – the apps don’t yet stay in sync. They say they will fix this.
4. There are no small up/down buttons or a small display – so if you want a page full of timing controls for your heating – forget it – I have asked for small, simple up/down buttons and a small display.
5. Currently the only timer available on the APP is elementary – send something at a given time – I’m not sure I even see a use for that. What is needed is something that will send a signal when the APP or a given page is ACTIVATED – and then perhaps every second (programmable) – because otherwise all your gadgets have no way to know, other than manual button pressing, when to send status info!! There is a PAGE timer apparently but I’ve not found it yet.
6. No haptic feedback – feels odd when you press a button and the phone doesnt’ buzz.
7. Instead of controlling real IO pins as you might when using their ESP or Arduino software, you use VIRTUAL pins. There are around 30 – I’d rather have 100 – especially when they implement multiple pages per application.
8. Some things like the excellent RGB control has a fixed name – not much use if you have 2 on one screen.
9. Buttons etc show the “virtual” or “real” IO number you use – great for debugging – utterly pointless on the end user display – I can see my wife asking “What’s that “V10” on the button for. They really should have EDIT/REVIEW/RUN controls so you could on the last one turn off that stuff.
10. You have to press the RUN button a lot and you can edit stuff at any time – great for me but do I want a family member messing with this? No. I think really the edit etc should be done under a password or SOMETHING so the default mode is RUN.
So LOTS of issues and let’s hope they get fixed – I have asked and they’ve been positive up to now.
So why am I even bothering.
On the PLUS side:
1. instead of using THEIR server for the APP and Node-RED to talk to (sometimes there IS an annoying LAG) – you can put a copy of their central server on a PI so you’re not relying on a third party…
2. The App display is LOVELY. The LCD is great, the LEDs are great, the graphing looks good, the joysticks look good etc. Needs lots more widgets but in minutes you’re up and running and making your own screens which your non-technical partner will love to use.
So – here is my little test app – and here is my NODE-RED info for controlling lights – notwithstanding some SEVERE restrictions mentioned above – this is actually running and doing things reliably.
Where we go from here is entirely up to the guys at Blynk – this has so much potential – but I need WAY more – multiple pages etc… this only controls tiny fraction of what I have running right now. Don’t forget if you’re not into all of this – the APP will run with an ESP or Arduino stand-alone. But WITH this – so much more because with Node-Red functions which are just simple script – you can do so much more.
Oh and thanks to the guys writing in with updates or corrections!!