Node-Red & Vera (MIOS)

I’ve slowly been moving more and more of my scene creations and UI over to Node-Red. (https://nodered.org)

It’s been a topic that’s been touched upon a few times within this forum, but is quite heavily discussed/used with some other HA set ups (Home Assistant, being a good example).

Just to be clear Node Red for now compliments my use of Vera, not replaces it - but it’s a great way to easily integrate my Vera(s) with other systems/services and for someone like me, with limited programming skills I’ve been able to build new integrations and actions.

For the board admins out there, I certainly think there’s scope ( if more are interested) to give this tool a dedicated child board area, for people to share their workflows etc. as it’s so easy to do.

Whether you just use it as a replacement UI, or to build complex scenes via its workflows with Vera, it’s a really great tool. (Here is the MIOS node - node-red-contrib-mios (node) - Node-RED)

Attached are some of the things I have built to give you a flavour.
(3 are of the dashboard, and one is behind the scenes for the occupancy UI)

Well done parkerc! I love Node-Red and will dive into integrating with my Vera asap!

Hi,

I’m really new to Home Automation and have only had my Vera a few weeks. I started looking into Node-RED this morning and think a channel of advice on how to get started with integrating Vera and Node-RED would be great. From what I can tell, it seems like a local iFTTT/Stringify replacement but more powerful as it more tightly integrates with Vera, correct? I’m still a ways away from needing something like this as I’m just getting started and have, literally, 1 z-wave device so far, but its definitely something I’m interested in.

Getting started with Node Red is really easy, I?m currently running mine, via my QNAP NAS and its own Container Station app; using a Docker image. I’ve also just got new Raspberry PI so I will likely migrate to that so it’s dedicated.

https://nodered.org/#get-started

Once you have it up and running you simply install the MIOS add-on via the UI - Menu / Manage Pallette and then search for MIOS (https://flows.nodered.org/node/node-red-contrib-mios).

Once installed you have a MIOS In node …

The mios-in node gets the events from the unit.

Items are named in the form Room:Unit:Variable, ie Bedroom:Bed Light:Status.

The value in Item is a filter for the incoming events that filters from the left (unless you check Exact match) so if you put Bedroom: you will get all events from the Bedroom.

… and a MIOS Out node…

The mios-out node send commands to units from msg.payload.

Items are named in the form Room:Unit:Variable, ie Bedroom:Bed Light:Status.

To turn on a light, set msg.payload to 1, to turn it off set it to 0.

One way to look at the MIOS-IN ; is that it will look for when your specified variable changes. So let’s say you have a kitchen motion sensor - which you set up as Kitchen:Kitchen Motion:Tripped.

[Room Name]:[Sensor Name]:[Variable Name]

The last part is key, as that is the variable (value) that changes in Vera whenever your sensor sees movement. [font=verdana]See attached image of one I have for my hallway motion sensor. [/font]So now when that variable changes going forward, a ‘payload’ is created that you can do what you like with. You can pass it as is (as the payload would be the value 1, because that is what Vera uses when something is tripped), or you can convert it to something else to go into any other node - maybe send it to a MIOS-OUT node to turn on a light.

But why stop there you can use it elsewhere too within node red, such as send it to push notification node to inform you that motion is seen, or to create an email node or to a twitter node to let you know.

That input (or trigger) can be used to interact with a multitude of different outputs.

Thanks for the info, that does sound pretty easy.

Does it have integrations for the following? This is what I use IFTTT for now…

[ul][li]WeMo Insigh Plugs - I tried the Vera plugin with updated code from the forums, but still could not get this to work in Vera. I can see the plugs but can only turn them on, not off, the status never changes, and I cannot change them from inside the iOS app.[/li]
[li]TP-Link smart switches[/li]
[li]Chinese Smart plugs that use the Smart Life or Tuya apps[/li][/ul]

While I don’t use those products myself I soon found nodes to support a couple on your list, plus there is a wealth of information on which products works with Node Red here (https://flows.nodered.org/?num_pages=1)

[ul][li]WeMo Plugs - https://flows.nodered.org/node/node-red-node-wemo.[/li]
[li]TP-Link smart switches - https://flows.nodered.org/node/node-red-contrib-tplink-iot[/li][/ul]

Not sure about your Chinese one, but short answer is I would expect there is a node you could use.

Hi
can show nodes export mios?

There are many different variations, and the type of device you want to capture information from is specified via the description mentioned earlier .

Kitchen:Kitchen Motion Sensor:Tripped
(Room Name, device name, variable name)

This will report back into Node Red a payload of either a ?1? or a ?0? when that sensor trips on or off in Vera.

I did not see on the forum …
“Small crutch” in the form:
npm install node-red-contrib-nora
And your Google column shows the ability to manage Vera :ухмыляющийся:
Try it, I liked it

1 Like

Folks - Can you help

I have Vera Edge with Node Red MIOS running well. But I have encountered an issue. I had a Fibaro Motion sensor which i unpaired and reset, paired it back up with Vera and all is fine in Vera Edge and word. But in node red, it does not display the room name or device name:

So I get undefined:Tripped

Undefined should be Dining Rroom:MS_DR_01 …Where Dining Room is the room name and MS_DR_01 is the device name

In Vera Edge it shows up like this…

Please can someone help as I was filtering on room name an device to trigger events.

I have another door-sensor doing something similar.

Is the Vera Edge confused with the listing, I have tried twice to unpair, reset and pair and still the same. This was working fine before I had to unpair.

not sure yet but im gonna look into it … havent explored node-red yet but im interested

If you set up a MIOS node in your flow (but leave the room/device/variable all blank ) and connect that node to a debug node; you’ll see everything that’s being logged on your Vera.

Trigger your desired device and have a look to see how it is being reported.

2 Likes

I’m trying to get NodeRed to talk to my Vera… I have an input feeding to debug, and I’m seeing all the debug info being fed from Vera, but my output node doesn’t seem to connect… every time I deploy, I get a debug message that says “Error: connect ECONNREFUSED 34.240.81.189:8883”… That address resolves to an amazon cloud address… Not sure why it’s going there when I have my Vera node configured to go to my internal 192.168 address (which is working on the input node)… Any help would be greatly appreciated!!

That sounds very strange, for it to do something like that, it would theoretically would have to had that address hard coded within the node’s code.

What versions of NR and the MIOS add-on are you using ?

Assuming you’ve isolated the debug so it just reporting on that flow, and you can confirm via the mios config thar you only have the one Vera unit in your configuration. All I can suggest you do is contact the developer

I am a complete newcomer to NodeRed, just for full disclosure! The NR version is v0.19.5, running as a docker on an UnRaid server, loaded by the UnRaid GUI. The MIOS add-on was added yesterday for the first time, through the NR gui… I can’t find anywhere that the add-on shows a version. I only have one vera configured: Name: Vera, Host: 192, 168.1.185, port 3480…

I have the same host selected in a MIOS-in node, and a MIOS-out node. The IN node shows connected, and I have it connected to a debug node showing all activity on the vera (which I’m excited about! I get the power of this in NR!!) but the MIOS-OUT is not showing connected, and occasionally I am getting the error… Nothing is hardcoded in the NR side - I actually had jumped to another conclusion that I had something configured wrong in the Vera, because I have a long history of trouble with externally controlling the vera from my Alexa, which is what caused me to check out Node Red in the first place.
I had assumed it was the Vera doing some kind of HTTPS redirect for authentication or something, and was hoping that the vera experts on here may know something on the Vera side that I might have configured wrong, or perhaps even compromised that would be requiring authentication or creating a redirect?

Only because it might be a clue to the Vera side, I’ll mention that I used to have a Vera Edge, and had participated in the beta integration for the Alexa. It worked… at first, but unreliably… To eliminate performance as an issue, I upgraded to a Vera Plus. Some of the devices didnt come through the upgrade process well, and I’ve had to reconnect some (or all by this point!) of my zwave devices. Post upgrade, I have uninstalled the Alexa integration several times in any way I can think of. I ALWAYS installs with no errors, and discovers all my devices in the alexa app, then fails to control them. occasionally I can get it to run a scene through the alexa, but it has never controlled a vera device directly. Usually the Alexa says “Ok” and thinks its controlling the device, but it never happens. Again, I just bring this up in case there’s something vera-wise which can be a common factor with the NR not working.

The Vera is hardwired, and has wifi disabled on both bands. The Node Red is hardwired (through docker bridge mode networking) to the same vlan, and the Alexa is of course wireless to the same vlan.

As far as isolating the flow to the debug, yes - All of this is one flow (nothing else having been configured since it’s a new install) and I’m monitoring the vera-in directly to debug, The Vera-out seems to generate the connect error periodically regardless of being connected to anything, presumably because it’s trying to connect, which it never completes. I dont know how to get better debug info from the vera-out object with any additional internal detail.

I’d love to hear any suggestions. I guess I’m going to try to find some logging on the Vera side. I can’t find a place in the GUI to show any detailed logs, so I guess I’m heading to ssh into Vera… (I’m comfortable with that, but it’s been a long time!!)

I guess the strangest thing to me is how the MIOS-IN node connects right up, but not the MIOS-OUT, using the same Vera device

TIA!
Steve

Hi

The only connection between your NR Docker installation and your Vera is via the MIOS add-on you installed via the NR palette and it’s the subsequent connection/configuration you did to it.

(FYI - You can see the version of the MIOS add-on via the NR palette)

Quick point of clarity - When I mentioned the potential of something being hard coded - that was in reference to the MIOS Node Red module/add-on, which admittedly is highly unlikely.

Any connection to the Alexa Vera plug-in sounds impossible too when it comes to getting a connection error in NR.

If you could share some screen shots that might help more.

First of all, I really appreciate your help on this… Usually stuff like this is no problem for me… I’m frustrated with myself that I’m not figuring it out, but I’ve never felt terribly proficient with Vera, and NR is totally new to me…

Now… I’m TOTALLY second guessing everything I thought I knew… When I first posted, it was after seeing several of the errors in a row, after pressing my inject input several times, so I assumed they correlated, but it could just be a timing thing, and that it might just have been that the Vera hadn’t sent anything to the debug window in a while. I am not seeing anything at the moment which directly correlates the error to the MIOS-OUT node, except that I still would assume that I should see that the node is “connected” to the Vera, like the input node shows…

If it were at least connected, I’d assume that the reason my injecting a “0” to the out node wasn’t working was simply that I have no clue how to really name the output node to point to the livingroom light which I’m using as a test.

SO - Attached are 2 files… one showing an overall screenshot of what I have configured, with the debug window to the right, showing a bunch of output coming from the vera, and then unknown error at the bottom. If not the MIOS-OUT node, I dont know what it would be… I would have assumed the “nodeid” in the message, that starts with “ff” would correlate to the object ID of the MIOS-OUT node, but it doesn’t seem to. That being said, I can’t find any correlation for ANY of those messages, so I dont know what I’m looking at there, or where those NodeIDs are coming from.

The second file is the definition of the Vera connection underlying the MIOS-OUT node. If I am being stupid with this, and missing something, let me know… I’m not really sure if I’m supposed to put the “Livingroom:Livingroom Light:Status” in name, or item, or both. I think I’ve tried it all 4 combinations with the same no results. Definitely all ears on that one!!

I also couldn’t find any logging on the Vera… I found the LUAU log, but nothing seems to be populating in there, and if it is a Vera issue, I assume it’s happening at a lower level than LUAU and that my request is never getting to the language parser.

Thanks again!!

Tip - In the debug side bar, if you click on the node reference/name (in grey within the header of each message) that should highlight (via a dotted red outline) the node that is reporting that message.

The green connected square, suggests the variable you’ve entered is there/correct. So if you have that in both the output/input nodes - One simple way to check if it’s working is to send a new value through and then check if that variable has been updated in Vera

Tip - if you create a flow that is just the MIOS input nodes with only the connection set (no variable defined/left blank) feeding into a debug node - you should be able to see everything that’s being logged in that Vera appear in the debug tab on the sidebar.

@parkerc - Thanks for the info… As I hover over the different debug messages, I do see the outline going on and off around the debug node. Strangely when I hover over the error, nothing is highlighted in the middle pane. When I click on the node ID on a debug message, the red border around the debug node flashes, presumably to tell me that’s where the message came from. When I click on the grey node ID on the error, I get the screen shown in the attached screenshot.

As for the green connected square… I ONLY have that on the input, and I am seeing all the changes on the debug screen. In otherwords when I go to my Vera website and turn on the hall light, I get a NR debug message of: "topic: “Hallway:Hall Light:LoadLevelStatus”
payload: 100
_msgid: “19f19f19.ad4541"”

BUT there is no green connected box next to my MIOS-OUT node (as shown in the above screenshot in previous post)… Is it POSSIBLE that there’s some kind of firewall on my VERAPLUS that is blocking NodeRed from logging into it?! Do I have to have some kind of authentication setup that I might have missed?

Thanks SO much for continuing to read and help… I know how stupid this must sound since I’m apparently the only one having this trouble… I’m about to decide to factory restore my Vera and start over.

Hi, don’t worry about seeking support we’ve all been there :smile:

Now, to be clear, you should only see a green square on the correctly configured MIOS INPUT node (remember to keep in mind that an output from your Vera is an INPUT into node Red)

And if you are seeing changes made to your Vera appearing in the NR change/log sidebar - that proves your config is correct. What you shared confirms it

“Hallway:Hall Light:LoadLevelStatus”
payload: 100

and if you use that as the Basis for an MIOS OUTPUT node you should see you Hallway light dim to 50% with the following…

“Hallway:Hall Light:LoadLevelStatus”
payload: 50

Regarding any errors if it works and the error relates to your MIOS config, all I can assume is that it’s when Vera reloads (as it can have a habit doing that when memory needs refreshing)