[0.5 Release on Play,App Store] A mobile client for Node-RED Dashboard and Admin (update 09Nov)

Node-RED is great and I use for my smart home. However, the lacking of mobile app is a big disadvantage, and most of people like to use Home Assisstant for its mobile support

I decide to develope a mobile app for Node RED, support Dashboard and Admin and native features like background location tracking, voice command, mqtt client, wysiwyg editor...

UPDATE information 09 November, first official 0.5 release on Play and App Store

PLEASE NOTE - THIS THREAD IS CONTINUED AT [0.7] Node-RED Client Editor app update: Push Notification (22 Nov)

Now avaiable on App Store and Google Play
play icon app store icon

Features of first official build

  1. Config and save username, password for Dashboard, Admin
  2. Auto login Dashboard, Admin. Add home button to make mobile feel. When in Dashboard or Admin, click Home button to back to App Home
  3. Add buttons to Admin to quickly edit, copy delete node property, show left, right panel, re-arrange and tweak layout for mobile (show UI on some editor not fit to mobile)
  4. Background Location tracking: Background location tracking, works even app not open in front. Tested for IOS and Android, don't open app for whole day and still receive location data. Custom endpoint url, support basic-node-auth, many params add to setting, Native Test button for easily debug. User can config a node to get current location from phone and display on map, geofence. App help to create these node. Documentation on Background Location Tracking:

Note: Please remove previous nodes and recreate by this version

  1. Editor mode:: Seperate to a new JS. Currently cleanup so remove from this release. Current dev version have features: click and edit, drag and drop, save (still buggy)

TODO

  1. Voice command
  2. WYSIWYG Editor
  3. Push notifications custom server
  4. MQTT client
  5. Learn features for button (from MQTT, similar some commercial app)
  6. Add RTSP camera support (using vlcLib) to stream video directly from camera to app without streaming server

Hope this app could fulfill a big gap of Node-RED.

Github: https://github.com/linhtranvu/node-red-app

SCREENSHOT FROM CURRENT BUILD

Main screen, dashboard, configuration

Admin editor with button, easy to access and edit node


image image

Background Location tracking: Button to Config, Test, Create location node, Map track


SCREENSHOT OF IN DEVELOPMENT FEATURES
Editor mode

image

8 Likes

Nice, I will have a look at it the upcoming days.

Have time to make IOS compile today. Run perfectly
Also RTSP stream work, test both ios and android. Need to write UI to dynamic config

Hi Zacharias,
Nice to see this kind of contributions arriving!
I developed some time ago node-red-contrib-ui-web-push. It works well on Android, but unfortunately iOs doesn't support web push...
Do you think it would be possible to support native notifications in your apps in the future?
Thanks and keep up the good work!
Bart

1 Like

Surely push notification is a must for an app, with location tracking, that make app differ a web.
However for massive use, push server will cost money, that s a problem

Ah I wasn't aware that you need a push server. With web-push, my Node-RED flow sends a notification via push server (from Google, Apple or Microsoft( to tge device. Thought that native notifications would do something similar...

1 Like

That would be indeed a very cool feature. Because when we do it now in the dashboard (via javascript), it uses to much battery power...

1 Like

Why not use the iOS build in home app?
See https://github.com/cflurin/homebridge-mqtt
:wink:

Not sure what this package do with mobile app, could you explain

There's also some like me who are using Blynk together with node-red-contrib-blynk-ws. It makes it possible to create very good looking and cross platform dashboards for mobile. The downside is you'll need to create a separate dashboard for desktop if you need that. Also setting up a local Blynk server might be somewhat of a hassle.

I'm already deep into Blynk but I would believe some to find this kind of thing handy. Great initiative!

1 Like

Your choice is quite interesting, never think about a combination of node red and blynk, so dont know such package exists.
I dont tent to rewrite or create a new dashboard, so it still painful to make NR UI in mobile. However, a little inject button in admin will make life easier in case make smal tweak, or change timer setting for some action(inject node)

Read the docs about homebridge and homebridge-mqtt

@cflurin Apple home app just a solutions for ios, and not what I want to achieve.
Have time to inject some button to make mobile node edit easier like turn on off left right panel, edit node

Well, it's up to you.
I use uibuilder (vue, bootstrap-vue), it works as I need in any browsers including on mobile devices.

BTW I use the home app for voice control (Siri) and this is really amazing. :grinning:

Tks for your info. So Home App just a hack way to embed NR UI, that s what I am trying to do with a native app for NR
For voice recognition, I will add to dev list, it s not so hard to embed siri or google voice in app with current API

1 Like

The buttons are a great idea! I've already added a shortcut to my (Android) home screen from Chrome's toolbar to get a clean app like view on my tablet but I also constantly have to fiddle with the side panels to get a node editor to fit.

1 Like

I started my HA journey with Node-Red dashboard, but I quickly wanted something that looked better and was more customisable. I stumbled across the Blynk app and haven't looked back since.
For a while I tried to use both NR Dashboard and Blynk together, but it just wasn't worth the effort, so dropped the dashboard and now just use Blynk as my interface. This has the disadvantage that there is no web interface that can be used on a PC (yet), but that isnt a read drawback for me.

I'm now one of the moderators on the Blynk forum, and wrote a topic aimed at encouraging others to take a look at Node-Red....

It's obviously aimed at people who have never come across NR or MQTT before, so is very basic from an experienced NR users perspective. It's also trying to encourage people to think about real world scenarios where Blynk/NR can be used, as many of the Blynk newbies aren't thinking that far ahead.

Pete.

2 Likes

@PeteKnight Thanks for your reply. Your solution is the same @ristomatti mentioned above

I know both of you want to recommend me to use Blynk as mobile app, instead of writing something new, which could be considered as "re-invent the wheel".

However, I myself think that with that much setup we must do on PC for NR (scripting and node combination), what is the meaning of a mobile app for NR?

A mobile app for NR will help us to automatic login, do some small tweak, getting location, push, and maybe voice. Unless we abandon NR and use Home Assistant (that fully mobile support now, no ugly manual YAML), there is no way we could do everything on mobile.

So that is my point of view for writing an app for NR. It may fit the need of someone like me, just want to stick to NR.

And maybe in the future, if someone have time to write a WYSIWYG dashboard for NR, my app will be more pratical and work the same as mobile app for Home Assistant. I also try to write custom dashboard node (edit injection node from dashboard to modify timer easier), but current NR API is not good and not worth the effort for trying.

1 Like

@linhtranvu personally, if I want to make small tweaks to the NR workflow, or wanted to access the NR Dashboard (if I used it), I'd use ZeroTier to give me a secure connection from my mobile device to the NR server and edit/access the dashboard via a regular browser (even simpler in Blynk as you can assign the ZeroTier URL to a web browser button instead of having to remember the ZT IP address for your device.

I agree that for people already using and happy with the NR dashboard then adding Blynk alongside it is more work, but anyone looking for a mobile app that will allow integration with NR then Blynk is a very flexible (and free) option.

I've invested quite a lot of time in Home Assistant and come to the conclusion that it's not for me. The learning curve is very steep (but that's okay), but the whole thing is too 'bulky' and lacks transparency for me. I also don't like the way that changes are imposed on users and those changes are rolled-out at a fairly alarming rate at times. Not really what you want for a system that you can 'build and forget' and that will just continue to work.

Pete.

2 Likes

@PeteKnight Firstly, I strongly agree on Home Assistant, that is why many of us stick to Node Red.

However, I still devote my free time to this project. And if you edit node on NR admin, I think you should give my app a try, It inject some button to prevent us from mistake (from my experience, so I think may fit you all)

1 Like