home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
70.97k stars 29.62k forks source link

64.3 lost control of white limitless led strip controller. #12907

Closed duecedriver closed 6 years ago

duecedriver commented 6 years ago

Make sure you are running the latest version of Home Assistant before reporting an issue.

You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:

Home Assistant release (hass --version): 64.3

Python release (python3 --version): latest

Component/platform: limitlessled

Description of problem: before latest update. I had rgbww and while strip controllers paided to v6 bridge using the same 'virtual' controller, and rgbw lights on another controller with the following configuration and they worked fine. After the update, I could no longer control the white led strip controllers. I have since tried to re-pair the white strip controller to the black and white 'virtual' limitless controller on the same numbers and now get on off... but no dimming with home assistant.. the limitlessled ios app black and white controller turns them on/off and dimming up / down works.

how to I get these while only limitless led strip controllers working correctly with the latest code..

here is the setup that use to work

64.3 update broke control of white led strip controllers from limitiless led.

this use to work up to this latest update

light: platform: limitlessled bridges:

does something in this need to be changed now? These lights were paired to the v6 hub using the limitlessled ios app.. using 2 different virtual controllers and has been working for over a year.

any suggestions appreciated.

Expected:

Problem-relevant configuration.yaml entries and steps to reproduce:

Traceback (if applicable):

Additional info:

amelchio commented 6 years ago

@happyleavesaoc I don't really see any of my modifications breaking this. Do you think it could be caused by this change? It seems to change the remote type (as described above) and builds identical commands for brightness and temperature.

duecedriver commented 6 years ago

I should stress that I have has issues with my limitless lights since 64 and rolled back to 63.3

a year ago, I had issues with adding these white strip controllers. when added to a white only controller, they would also turn on lights in a similar channel on a rgbww controller.. so I had to put my rgbww and white strip controllers on the same 'virtual remote' and that has worked fine up til .64

right now I have rgbww, rgbw bulbs and these white strip controllers in my setup and I had them all working great up til .64

thanks for helping me get this working

trying to expain this is getting convoluted

if I had my rgbww lights on one virtual remote and my white strip lights on a black and white colored controller on the same channel, home assistant would turn on the rgbww AND the white strip controller if I turned on a white strip light.

moving them to the same controller with the rgbww fixed that about a year ago.

so my setup that was working up til .63 was

rgbww and my white strip lights paired to a rgbww virtural controller rgbww on channel 1 and white strips on 3,4 and my rgbw bulbs were paired to a different rgbw virtual controller on channels 1,3 I think

this all worked fine with home assistant with homebridge as well.

tried updating to .64 and had many issues with limitless went back down to 63.3 .64.3 I had controll over everyting but the white strip lights. they were totaly uresponsive.. if I moved the strip light controllers to a white only virtual controller I could now get home assisstant to turn on and off the stip lights but no brightness...

hope that clarifies..

thanks again

amelchio commented 6 years ago

I wonder if it would work with the new type: dimmer for the white lights?

duecedriver commented 6 years ago

rolled back to 63.3 keeping the strip controllers paired to a virutual while only controller.. and just like the behaviour in 64.4 I could get on and off but no dimming.

unpaired the strip controller from the black and white virtual controller and paird it back to the original controller that I have the RGBWW lights and with 63.3 I have full on/off and dimming back.. so I am stuck on 63.3 because of some issues with these white only strip controllers...

tried the dimmer function and could not find a vitural controller pairing that would control them at all.. not recognized

duecedriver commented 6 years ago

the limitless module in hass has always been a week point.

homebridge does much better but not all the functions of the orignal controllers were emulated.. like nightlight and disco modes etc..

I dont use the homebrige/milight plugin though because I wanted homeassistant integration so I only use home assistant with homebridge-homeassistant plugin and that has worker reasonaby well up to .64. I wish I could get these white only strip controllers to work on their proper white controller so I dont loose groups on the RGBWW controller for while only lights and get the new nightlight functionality back.. and really .. I just dont see the point of breaking everything that was working in 63 with this new assumed state BS.. if you are controlling the lights with home assistant.. who cares if it gets confused with external remotes. I doubt many people use them.. but this new setup doesnt work at all..

thanks again for helping out chassing this down.. and maintaining this module.. dont take my frustration as critizism .. thanks for your hard work..

amelchio commented 6 years ago

What is the model of the white controller?

duecedriver commented 6 years ago

I have done all the pairing with teh limitless ios app and it has like 10 different 'virtual' limitiless led remotes that it emulates.

I never use the app for anything other than pairing lights / controllers to the v6 bridge

then home assistant / homebridge-homeassistant is uesd to control them .. and up to 63 it has worked great with the limitations stated above.

duecedriver commented 6 years ago

LimitlessLED Bridge v6.0 iPhone App https://itunes.apple.com/us/app/mi-light-3.0/id1156007632?mt=8 • The only iPhone app that currently supports the new LimitlessLED Wifi Bridge v6 • Supports 16 zones; 4 zones of each; Dual White + RGB + RGBW + RGBW/WW/CW. • Control Lights via the internet. • Control Lights via your home wifi router. • New SmartLink mode for fast 1st time bridge setup.

amelchio commented 6 years ago

Do you have a controller like the one in the image here: https://github.com/happyleavesaoc/python-limitlessled/issues/27 ... if so, what is the model number of yours?

duecedriver commented 6 years ago

the FUT036 is indeed the strip controller I use in question.

what does the 0x03 remote look like.. ? just from the iOS app emulation. I can get this strip controller to work with several of them on the ios app.. but home assistant is a bit more obtuse.

this is the 'virtual remote' that I use to pair my RGBWW and these fut036 strip controllers for home assistant because nothing else seems to work

http://www.limitlessled.com/wp-content/uploads/2017/01/LimitlessLEDrgbwwwcwWallRemote.jpg

I use this remote for the rgbw pairing...

http://www.limitlessled.com/shop/remote-control-for-rgbw-color-led-lightbulbs/

this is the remote that the strip controller shoud be paired with I think

http://www.limitlessled.com/shop/wifi-remote/

but if I pair with this remote i only get on/off supprort in homebridge.. no dimmer at all.

amelchio commented 6 years ago

So I assume it should work if you change type: white to type: dimmer and figure out the right way to pair. Sorry I cannot be more specific, I do not have the FUT036 myself.

duecedriver commented 6 years ago

again.. I tried the 'dimmer' defintion and I could not get it to work at all..

what remote style are you suppsed to use to pair the dimmer..?

with using the 'white' definition and pairing the fut036 using the RGBWW remote.. home assistant 63 controls it fine..no control in 63

if I pair it with a while only controller, home assistant can only turn it on and off.. that is 63 and 64.

my 'guess' given the issues I have had here with this controller is that its never been contolled with the proper commands here in this code.

again.. I see NO BENNIFIT to your new code after .63.. it only causes headaches and breaks functionality..

amelchio commented 6 years ago

Sorry, I missed that you already tried type: dimmer with 0.64.

I don't know which remote to pair with for the FUT036. Let's ping @rubenverhoef and wait a bit ...

duecedriver commented 6 years ago

so you are writting code for stuff you cant test?

I went to the other threads on this issue and looked at those open items and it seems to me this change to assumed state is to fix something that wasnt broken..

home assistant is to control things within home assistant and your code breaks the ability to control lights from inside home assistand to fix issues with people controlling the lights EXTERNAL to home assistant.. that is counter productive.. other issues were people pairing lights to limitiless bridges that were not compatible or being paired to the wrong groupings by the look of it as well

this was working just fine for over a year.. with voice control and ios / homebridge support.. obviously controlling lights that dont report status back to the bridge, from outside of one ecosystem is going to upset reported state.. but this change doest fix that .. it just breaks what worked fine for people who used home assistant as designed.

I suggest abanonining assumed state and go back to the control logic of pre .64.. obviously people need to decide if they want to use cheap one way reporting lights either control them with the hardware remote or homeassistant but you cant have it both ways.. but right now its broken far worse than what 63 provided..

amelchio commented 6 years ago

so you are writting code for stuff you cant test?

The changes to white lights and strips were not done by me.

I suggest abanonining assumed state and go back to the control logic of pre .64

The idea that this relates to the "assumed state" is wrong or you would also be talking about how your RGB bulbs no longer work.

duecedriver commented 6 years ago

I am speaking more generically about the development.. not a specific individual .. sorry to give that impression.. again.. short snippets of chat are not great for getting ones point across..

again. I am more about adressing the issue not assigning blame.. just trying to illuminate that the current logic is a fix only for those that dont realize the limitations of using non state reporting lights with multiple control paths.. the current logic breaks what was completely functional (including the lights that still work).. and it doest fix the probabem of people controlling from outside home assistant.. it just masks it.. not really helpfull .. its a step in the wrong direction

amelchio commented 6 years ago

Please file a separate issue if you have a specific problem with the assumed state.

rubenverhoef commented 6 years ago

I'm really new to the Limitlessled/milight, i have only the FUT036 and the V6 wifi bridge.

I had paired that controller to the bridge using the MiLight V3 android app. I think it doesn't matter which remote you have selected while pairing but i don't know for sure. The FUT091 (virtual) remote was working fine with my FUT036, I don't know any more if the FUT006/007 was working. I couldn't get the FUT036 working with home-assistant so i was digging into the python-limitlessled code. After capturing the network packages using wireshark I saw that the remote style of the FUT036 was 0x03 and there was no support for that remote in the code. So I “hacked” it into the code, I have just make a new component with the 0x03 remote style.

I have done more digging with wireshark and I’m write every command down for every remote. I’m not ready but for now on I’m seeing that the remote style 0x01 (Black and White remotes FUT006 and FUT007) dimming and temperature is different, the MiLight App sends only an up and down command and not an exact value.

I will make the documentation about the different remotes and commands and when it’s ready we can look into the code and look if there is something wrong.

For now, you said your type: white lights are not working anymore right? Then this commit should have broken that, like @amelchio said. For what I can see with wireshark is the FUT006 and FUT007 remote style 0x01 and the FUT092 is the 0x08 remote style. If you are using the white component and it was working with limitlessled 1.0.8 then your controller uses the 0x08 remote style and that one is removed from the python library.

So I will make a documentation with the use of the MiLight V3 android app and wireshark. Then we can look into the code and include all the commands and remote styles I’ve found.

amelchio commented 6 years ago

Great. So we would actually expect it to work also for @duecedriver if pairing with the virtual FUT091? (edit: and using type: dimmer)

(It sounds like maybe the type selector in limitlessled should be for remotes, not bulb types?)

rubenverhoef commented 6 years ago

I think it is really better to select the remote in stead of the bulb/controller. So when you have the bulb or controller working with a virtual remote in the app you can select that remote in home-assistant/python-limitlessled.

For that the support must be correct for all the remotes ofcource. The dimming and temperature is now not correct for the white component.

duecedriver commented 6 years ago

well guys.... I am not new to these.. I have been using them with home assistant for over a year.

again, I run almost every type of bulb they have. RGBWW, RGBW, and the white led strip.

@rubenverhoef is correct.. with limiteless led.. you are not controlling a bulb.. you are controlling a group.

the V6 bridge can, at a minimum, handle 12 groups (some say 16 but I dont think those types of lights are sold anymore) . 4 goupgs RGBWW, 4 Groups RGBW, 4 groups dual white. Each group or zone can have almost limitless number of acutal lights.. so yes.. @rubenverhoef is correct again, and I figured out and posted here long ago but was deleted.. it does mater how you pair the lights to the bridge if you want to maximize both the number of groups and functionality and features of that group.

From the mfg.

Each WiFi Bridge does up to 14 zones • 4 zones of up to 1000 bulbs per zone for Dual White, • 4 zones of up to 1000 bulbs per zone for RGBW Color, • 4 zones of up to 1000 bulbs per zone for RGBW/WW/CW Color, • 1 zone of up to 1000 bulbs per zone for RGB Color. • 1 zone for the inbuilt RGBW Color Lamp. • Both the white zones and Color zones can be used at the same time. • Other Remotes and Other Wifi Bridges can be used to control the same bulbs simultaneously. • Additional bridges can be used to add more zones

Over a year ago, I posted a link to the command set (API) , and to one of the developers for these lights that was willing to help.. I dont know if it ever went anywhere.

Additionally, I think that the homebridge-milight project on github as made good progress.. and while I use homebridge with the home-assistant plugin, I dont use the milight plugin becasue that is like using a 3rd party remote.. it takes home assistant out of sync.. and as I have been trying to explain.. just about everyone here has figured out and should be expressley explianed in the home-assistant page, that when using these lights with home-assistant.. you really should not use a physica remote or other external software to control them unless in a pinch.

additionally, by using nothing but home-assistant, you can firewall off the limitlessled bridge from the internet as that likely has back doors and attack surfaced into your network and is beyond your ability to harden as its a closed invironment. I noticed mine making contact with dozens of servers here in the US and china... so buyer beware.. that if you keep the bridge open to the internet to use the ios/android limitilessled app from outside the house, you are likely not secure. just VPN to your home-assistant or expose home assistant with SSL/TLS at a minimum likely a much better way to go.

in sum, yes.. they way that the project is codeing for limitlessled/milight needs to be re-structured to ensure its sending the correct commnads to the correct group of lights and to do that.. the structure needs to mimick the invironment better which revolves arround using different types of remotes for different groups of lights by lighting type.

the way you pair the light to a bridge puts it into the type and the number of the group. IE .. I can group a white strip controller to a RGBWW remote.. but then its no longer 1 of the 4 white groups it takes up 1 of the 4 RGBWW groups.. funny though.. it can be still controlled by home assistant using the white definition.. likely because the white defnition in home assistant is not for the white controller which has never worked. its likely sending the white commands of the W side of the RGBWW and RGBW bulbs as that would explain the crosstalk between them a year ago and why up to .63.3 I had to have my white strip controllers on a RGBWW controller to make use of them.

code changes in 64 must have moved the white to the white controller but right now they are only capable of on/off and no dimming.

rubenverhoef commented 6 years ago

I'm getting really there with the documentation of all the remotes and it's commands from the MiLight V3 android app. If it's ready i will post it in the python-limitlessled repository. I think we can then make the library compatible with all the remotes.

duecedriver commented 6 years ago

so in the meantime.. I am I stuck at .63.3 until you figure out why the white grouping controls are broken?

to be fair, since to have these white controllers working correctly up to 63.3 they had to be incorrectly paired using a RGBWW channel grouping vs using a white channel grouping..

in 64 white now appears to be controlled (on/off only) on the correct white controller grouping but no dimming or other functions

rubenverhoef commented 6 years ago

About the dimming of the White ones, that is not correctly implemented in the python-limitlessled. I think we can fix that shortly. The White remote doesn't send a brightness value but it sends a up/down command. The Python-limitlessled is giving a value in stead of muliple up/down commands. This are the commands for the white remote(s):

temp

duecedriver commented 6 years ago

hum.. can we... using the 'correct' remote still get similar behaviour of the white control we had in .63

I really had everything working slickly.. sending values to the fut036 modules worked great and these strip lights are working great in scening with other limitless, zwave bulbs in mixed settings.

if we have to go with just stepping commands.. I can see them getting out of sync between what the bulb actually is vs what home assistant thinkgs it is due to missed commands.. etc..

otherwise if these white controls go too 'dumb'.. I guess it would be better to control them like we did back in .63 and pair them to a RGBWW channel perhaps works with RGBW as well.. and if you run out of groups just add another hub...

I dont see these white only strip controllers for sale on limitlessleds website.. might we have to move up to supporting just the newest rgbw version of the strip light controllers.?

rubenverhoef commented 6 years ago

The FUT036 can be paired with the following remotes:

FUT006, FUT007 FUT091 FUT092
remote style 0x01 0x03 0x08
Note dimming not working should work with dimmer component not supported yet

Also the FUT093 is compatible with the FUT036 but i have not wiresharked that one yet.

I have paired my FUT036 with the FUT091 remote and i'm using it with the dimmer component from home-assistant/LimitlessLED. The on/off and dimming commands are working fine for me. So you can use that also. Now the explaination why it was working for you with the LimitlessLED 1.0.8 library. In LimitlessLED 1.0.8 the white component uses the 0x08 remote style, which was incorrect. Exactly this change has broken it for you but was a correct change. The only thing is that the dimming is not working with the 0x01 remote how it is now implemented. Also like you said is that the stepping change of brightness is not nice but there is no other way to do it with the 0x01 remotes. The best thing for you is to use the 0x03 / FUT091 remote and the dimmer component.

I will make some time free to make the library better with hopefully other people and looking forward to include all the remote styles.

duecedriver commented 6 years ago

I guess I will upgrade to 64.3 and try pairing the fut036 controller with the fut091 remote and use the dimmer component to see if it works..

I really hope that I can keep my pre .64 functionality with these strip lights going forward

amelchio commented 6 years ago

@rubenverhoef, that is beyond awesome. Great work!

duecedriver commented 6 years ago

@rubenverhoef for the win!! nice work

ok.. I unpaired both of my fut036 strip controllers from the RGBWW virtual remote and paired them using the virutual fut091 on the iOS app.

in hass 63.3 didnt work with the white definition.. and dimmer gave me errors so I am assuming dimmer is a 64.x feature.

I updated to 64.3 and changed the lights to dimmer definition in the configuration.yaml. Success.

I get on/off and dimming.. and my automations that send absolute values appear to work .. however

not everything is peaches..

all my lights.. zwave and limitless seem to take longer to respond.. and after a couple manipulatons a couple of the dimmers (fut036) strip lights became unresponsive.

also, can we add the nightlight function to these dimmer/fut036 strip lights ?

I will play with it a bit longer and see if I can get things smothed out..

step in the right direction but 0.64.3 still seems like an overall step backward.. and I still don't see the benefit of assumed state.. 63 was working just fine and never had any of these issues .. those that had issues with limitless leds and assumed state were using home assistant wrong and using controllers external to home assistant which obvioulsy wont work with lights that don't reports state...

perhaps someone could explain this change a bit more to educate me.. unfortunatly now that we have started down this new path of assumed state.. I doubt the devs will go back so might as well try to understand it to optimize use..

thanks again for your work here on the project... keep up the great work..

amelchio commented 6 years ago

What is your issue with assumed state? Please be specific.

balloobbot commented 6 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment :+1:

amelchio commented 6 years ago

I now have a white bulb en route and expect to be able to fix this eventually.

amelchio commented 6 years ago

Since this issue is so wordy, I will close it in preference of #15223.