Need Help with Node-RED on Groov EPIC for LED-SPCV-LV100W Dimmer Control

I am using GRV-CSERI-4 module.
LED-SPCV-LV100W is connected to channel 1.
slot0

I get tx LED flicker when i´m sending commands with Modbus-Serial Out node.

How are the channels configured?

EDIT: If you mean the module TX LED flickers, thats good, but what does the dimmer LED do?
The dimmer Rx LED should flicker at the same time.

Here is configuration

module 0

Module Tx flicker and dimmer Rx flickers also.

Have you tried reading from the dimmer to confirm good communications?

Here, is my sever configuration

Here is modbus read conf

modbus read conf

Here is dubug msg

And here is Led dimmer settings

I am out if ideas

Do you get the Error: Port Not Open all the time? Is something else using the serial port?

“Port Not Open” is new error msg.

Before it I get “Client → fsm failed state after sending Get More About It By Logging Serial”.

There is nothing what is using same port. At least from the node red side. This is only node what I am using for testing.

I’m not seeing anything obvious wrong with your configuration.

Can you expand the debug output to see if there is any other helpful information in the msg object?

Unfortunately there is no additional information what can help.

Is there some another way how can use Node Red to control LED-SPCV-LV100W?

Sorry we are not solving this quick enough…
There are now two of us at Opto working on this for you.
Will let you know once we have something to share.

2 Likes

Thank you very much, I am very grateful.

Got it working.
Thanks for your patience, always a lot going on Opto HQ.

Ok, from the dimmer backwards…
Just set it up like this and slowly expand as you need that way you know when something stops working.

No parity, 9600 baud, Modbus, terminated (if this dimmer is at the end of loop, not terminated if it is not).
Address 1.

On the serial module…

image

I’m using port 1 as I have some RS232 stuff in port 0.
No termination if your EPIC is in the middle of the dimmer loop.

Or turn termination on if it is at the end.
(For this simple test, it does not really matter - same with bias, for a short length of wire, bias and termination are not go/no-go settings).

Don’t forget to set all this via groov Manage as Node-RED will not configure the port.

The EPIC serial module port naming is important.
Make a note from groov Manage what your port names are.

Now the Node-RED.

In Node-RED, setup the port name to match the name of the serial port that you noted in groov Manage:

Simple flow to read the brightness every time I click the inject.
Can manual set the LED to three levels, dim, 50% and 100% by clicking each inject.

And here is the flow:

[{"id":"1ffe402ccd9d6740","type":"inject","z":"1c91b36d1147a349","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":460,"y":180,"wires":[["156819f39079a14f"]]},{"id":"67497061440a4658","type":"debug","z":"1c91b36d1147a349","name":"debug brightness","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload[0]","targetType":"msg","statusVal":"","statusType":"auto","x":1010,"y":180,"wires":[]},{"id":"156819f39079a14f","type":"modbus-getter","z":"1c91b36d1147a349","name":"Read slave 1 Brightness","showStatusActivities":true,"showErrors":true,"showWarnings":true,"logIOActivities":false,"unitid":"1","dataType":"HoldingRegister","adr":"16","quantity":"1","server":"db6f9b3e.e5f338","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":true,"keepMsgProperties":true,"delayOnStart":false,"startDelayTime":"","x":730,"y":180,"wires":[["67497061440a4658"],[]]},{"id":"c3a6441edc2f8444","type":"debug","z":"1c91b36d1147a349","name":"payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":980,"y":260,"wires":[]},{"id":"0f67587dc768fbad","type":"modbus-write","z":"1c91b36d1147a349","name":"Write slave 1 Brightness","showStatusActivities":false,"showErrors":false,"showWarnings":true,"unitid":"1","dataType":"HoldingRegister","adr":"16","quantity":"1","server":"db6f9b3e.e5f338","emptyMsgOnFail":false,"keepMsgProperties":false,"delayOnStart":false,"startDelayTime":"","x":730,"y":260,"wires":[["c3a6441edc2f8444"],[]]},{"id":"22acfaadee470226","type":"inject","z":"1c91b36d1147a349","name":"1% = 768","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"768","payloadType":"num","x":460,"y":260,"wires":[["0f67587dc768fbad"]]},{"id":"7414dfb8f7e3c5ba","type":"inject","z":"1c91b36d1147a349","name":"50% = 32768","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"32768","payloadType":"num","x":470,"y":320,"wires":[["0f67587dc768fbad"]]},{"id":"b6f37dc50ada552f","type":"inject","z":"1c91b36d1147a349","name":"100% = 65280","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"65280","payloadType":"num","x":480,"y":380,"wires":[["0f67587dc768fbad"]]},{"id":"db6f9b3e.e5f338","type":"modbus-client","name":"","clienttype":"serial","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":true,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"10502","tcpType":"DEFAULT","serialPort":"/dev/ttySerMod3.1","serialType":"ASCII","serialBaudrate":"9600","serialDatabits":"7","serialStopbits":"2","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"50","clientTimeout":"1000","reconnectOnTimeout":false,"reconnectTimeout":"2000","parallelUnitIdsAllowed":false}]

Here is the debug from setting the brightness to 50% and reading the payload and then setting to 100%.

That should get you up and running… Lets know how you get on.

2 Likes

Why you are not using bias? Manual shows that there should be bias. line 3.

I updated the thread and flow just now with Bias / Termination and port name details.

Thanks for the feedback.

Thank you so much for your help. The main issue was that channel 1, which we were using in the beginning, was faulty. After changing the channel and receiving assistance from Norm and Beno, everything started working perfectly. On a side note, I went and bought a lottery ticket, but didn’t win. Thanks again for your support!

Remark: When choosing a serial port, use the one that the Modbus node recommends. For me, it was /dev/ttyUSB2, not /dev/ttySerMod0.2.

Here’s the project where we installed groov EPIC:

It’s a greenhouse simulator controlled by Priva. With groov EPIC, we read signals from Priva, run calculations based on the greenhouse’s performance, and feed this information back to Priva.

4 Likes

Thanks for getting back to us about how the project is going.
I am so grateful for any forum posts that people come back to let us know how they went.
Blown channel? Wow. That’s rare. In 35+ years of Opto, I’ve never managed to do that! Well done! < grin >

The serial port names are linked in Linux, so you can use either. I have tested both over the EPIC years since many people have asked should I use the Node-RED ones or the groov Manage ones. Either. They are the same functionally.

The greenhouse model looks amazing. Thanks for the photo.