Node-RED nodes for hubitat

Great - when I saw the update handled URI's better I thought this might be the case although I didn't try it out then, been finalising the "new" (old) Roomba control via node red.

1 Like

Your right! That fixed it. Thank you for letting me know. I probably wouldn’t have known. Appreciate it.

How do you pass device name through a change node?
With battery levels, i receive notification on my phone of the current value, but not what device it was from..
The arguments field works, just cant work out the Topic!!

1 Like

If you look at the graph node details, the example has {{msg.topic}} as the label so it will be the last updated battery device name. I just changed it to text string "Battery Levels" and that fixed it. Or you could just leave it blank.

2 Likes

@JasonJoel I'm using your flow, and I also have two hubs, so I've kept it pretty similar.

I'm getting plenty of warnings though. Any idea as to why? It seems that every time data comes in, I'm getting this error:

image .

This is the appropriate place in the code (table recorder):

image

I commented out the 3-4 node.warn messages lines on my node. They don't seem to be important/indicate anything useful - they aren't really errors.

1 Like

Just to put my HSL issue to rest to help anyone else who runs into that, this was the easiest method as I didn't/don't see any bad consequences of switching from the Sengled driver to this generic driver. Turn on and off and set the level and color, what more could I want out of a bulb? :slight_smile:

Thanks for the help yet again aaiyar !

2 Likes

I agree but in actuality the state is being changed by the Maker API app. So it originated from an HE app. If I change state from my MQTT app then the device shows as 'digital' I believe even though it is an external 'physical' command and so Hubitat must have implemented this differently.

I'm not using any Maker API apps in my scenario outlined above. I've got HE-Lutron integration app running on Hubitat and HA-Lutron integration app running on Home Assistant. HE and HA both send and monitor Telnet outputs. No APIs other than Telnet involved as there is no direct HE-HA integration.

Your MQTT Maker API all events digital issue seems like something you should bring up with the HE team. Should you be able to send an optional physical/digital parameter as part of the API? Seems like it would be useful.

Just note that if you use groups, they don't have a setting to go 0-360, so you have to do zigbee light groups in 0-100.

2 Likes

Noted! But I have zero groups set up in HE. My hub is running as lean and mean as it can get.

I've only got MyQ and Ecobee stuff running app/custom-driver wise. I've gone many weeks without a reboot which is something I used to have to do every morning

1 Like

I was having difficulty formatting the color to HE's liking, so I came up with function. Pass msg.hue, msg.sat, and msg.level into the function. It returns msg.arguments.

[{"id":"bdbe3d11.7c994","type":"function","z":"8b7b297a.be0d88","name":"Get color","func":"msg.arguments='{"hue":' + msg.hue + ", " + '"saturation":' + msg.sat + ', "level":' + msg.level + '}';\nmsg.command = "setColor";\nreturn msg;","outputs":1,"noerr":0,"x":240,"y":100,"wires":[[]]}]

@morningz : edited

2 Likes

Just a general note to the general group of this thread: using the "collapse text" feature on this forum software (Discord right?) doesn't generally give valid JSON out to paste into Node-RED. That feature doesn't handle quotes well at all.

Just paste it straight in and that typically works

@bravenel
I am having trouble getting my Google Home Mini Speaker to play from nodeRed. I am sending msg.command "speak" and the message as "msg.arguments" . Here is the log from HE:


It seems to parse the string properly, but get an error.

When I put a message directly into HE it plays correctly.

edit: If I put the text directly into the node under Arguments, it plays, but if I pass it through a change node as msg.arguments, it doesn't.

I think if you format the code first as preformatted text then hide details the JSON is OK. See Node-RED nodes for hubitat - #2078 by aaiyar

speak(msg), but you're sending speak(Hello, lulu). speak() takes a single string argument.

I'm looking at this. I was a little surprised that most of the arguments work, but IMO I need to update command node to properly encode arguments

edit: Well in your case, it maybe does not solve your issue if you have coma in your sentence

I don't think the comma is the problem, because I've tried many messages. If it is, I can always leave it out.

Unfortunately, I don't have speaker device, so to debug I will need you to describe what you see and what you enter. If you have difference result with command node, then it's probably the node's fault

If I understand:

  • If you enter Hello, lulu in the node property arguments and everything is ok?
  • if you have msg.arguments="Hello, lulu" as message input, it doesn't work?

Can you add debug node and screenshot to confirm this scenario?
Can you try another scenario without comma?

In the command node, I can put "speak" and any message in arguments. It works.
If I pass either the command or the arguments through a change node, nothing works. I'll PM you some examples.