computergeek1507 / fpp-plugin-tplink

MIT License
5 stars 0 forks source link

How can you integrate this with xLights? #2

Open brandontrocke opened 2 years ago

brandontrocke commented 2 years ago

I have been playing with this plugin and don't see a way to sequence this in xLigths. Also, when updating the channels in the plugin they get reset back to 1 when leaving the page. Do you have any documentation on how to use this plugin? Thanks!

computergeek1507 commented 2 years ago

I push a fix for the start channel issue. To use with xLights you need to use absolute addressing. I added a single line with one LED and add it to a FPP controllers with the plugin as a pixel string. Then in the controller I change the tplink plugin start address to match the pixel string I uploaded to the controller.

brandontrocke commented 2 years ago

Thanks for the reply! For the FPP Controller, currently I am using a pi3b running FPP to control the show. In xLights the FPP Controller is set up as a Virtual Matrix with the only two options being "Virtual Matrix" and "LED Panel." I configured as a Virtual Matrix as I have this same controller hooked up to a projector for effects. Would I be able to get this plugin to work on my current setup? Or would I need another FPP Controller, another pi or something like the PB16? I am currently transitioning to an all pixel display but still have a couple AC Lights that I want to be automated with xLights to be turned on and off a couple times during the show, nothing too crazy like flashing effects, and conveniently they are plugged into TP Link smart plugs.

brandontrocke commented 2 years ago

Did not mean to select close on this issuse. Small update, I have been banging my head with this for a few days now, I have tried adding the single line to the FPP Controller and selecting a few different controller models between Virtual Matrix, BBB16, and PB16. The TPLink Plugin is set to the same start channel as the pixel string in xLights. I believe I am using Absolute addressing. My channels do not reset back to 1 when the universe is full. The start channel of the single line is 174931 in universe 344 and that is what is assigned to the Plugin. I have tried adding it to the E1.31 / ArtNet / DDP / KiNet output section as well as a pixel sting, but I do not have a pihat, rPi-28D+, etc listed under the Pixel Strings section. In xLights the single line is set to 1 LED, with protocol ws2811 and string type RGB Nodes. Wasn't sure if that was correct or not. And in the sequence I am using the simple on/off effects for the single line. Not sure if I am just missing something simple or if I am just not grasping how to use this correctly.

jpkroeker commented 2 years ago

I'm also struggling with using this plugin in conjunction with Xlights. Running it directly as a command in FPP is great, so no issue with that. I'm trying to control a Kasa Smart Plug, so simple On/Off control is all need.

Here is how I have set up my test :

If there is something I'm missing, please let me know. You mention adding the string to the controller "with the plugin as a pixel string". I'm not sure exactly what you mean by this. This could be what I'm missing.

Thanks

jpkroeker commented 2 years ago

I just realized that your description states that this plugin supports channel data FOR BULBS and commands for bulbs AND switches. I should have read the description more carefully, but I guess I only saw what I wanted to see.

In that case, I would respectfully request an enhancement that allows the device type to be configured on the TP-Link Config page. The plugin would use this information to determine which messages should be sent to the device.

I appreciate the work you've put into this! Merry Christmas!!

jpkroeker commented 2 years ago

Thanks for the update! I can now control the channel for the switch in test mode. My sequence isn't working yet so I'm looking at how I've modelled the switch in xlights.

computergeek1507 commented 2 years ago

The switch is just a single channel, you can use a single line setup as a single channel or a channel block model. If you need more assistance I would jump into the xLights Zoom room

jpkroeker commented 2 years ago

I just managed to get it working somewhat. Let me explain. I hope it's more clear if I write this rather than try to explain in the Zoom room.

I've created 2 single lines, each with a with just one light. In my layout they are on channels 9003 and 9004. I created sequence to control only channel 9004. I uploaded the sequence and the models to my FPP. At first, I only configured 9004 in TPlink Config. Running the sequence doesn't work at this point.

I decided to add channel 9003 to FPP. In test mode, I can turn on/off channel 9004, but not 9003. If I modify the sequence to control channel 9003 and 9004, it executes the commands to channel 9003.

I thought maybe the addressing was off by one, so I added a third channel, 9005. In test mode, I could now turn on/off channels 9004 and 9005, but still no luck with 9003. I created a new sequence with just channels 9004 and 9005, This didn't work. I then created a sequence with 9003, 9004 and 9005. It worked, but again it executed the commands for channel 9003.

I am testing this with just one switch right now. The different channels are denoted by different plug IDs. I've played with changing the plug IDs around, but this didn't seem to make a difference.

I'm probably missing a few details, so let me know if you need more info.

jpkroeker commented 2 years ago

I finally have it working. Thanks for putting up with my questions and comments. I don't use pixel strings in my display so that part of the confused me. It wasn't obvious to me that it didn't matter that I wasn't using any type of cape and by configuring the switches as pixels would provide the correct addressing. I've tested it with 3 switches configured as a single pixel (3 channels) in the pixel string configuration.

You seem have a deep understanding of FPP and xLights, so perhaps you could answer a question I had as I was figuring this out. I thought it might work if I set the switches as DDP channels on the FPP itself. By doing this, the xLights configuration would match the FPP configuration. It took me a while to realize that only the first of the three channels was included in the total channel count by FPP. That's why only channel 9003 was working in my previous comment, because FPP thought this was the last channel in my model. Can you explain why this is the case? If it's too complex to explain easily, just ignore me.

Again, I appreciate the work you've put into this.