SmartThings Community

[RELEASE] SmartLife (H801) RGBW LED Strip Wifi Controller & Bulb

dth_lighting
(Michael Hess) #629

@erocm1231 hey Eric, question.

Trying to use the new ActionTiles color picker on these. It seems to change the color but then shuts the strip off. Every once in a while it changes to the inverse color selected and stays on it, but I think that’s just a dropped command situation. But when I do see a change right before it shuts off, the color is always reversed which I though strange since your color picker works fine.

Terry said he’d look into it if he gets the time but since they are Works With Smart Things certified now, it won’t be a priority. Are you aware of anything in your handler that would be nonstandard and cause a turn off command after a color is selected or sent to it?

1 Like
(Dale C) #630

just for additional info for @erocm1231 . This was the response that @michaelahess got

http://support.actiontiles.com/topics/949-color-picker-turning-off-device-h801/

1 Like
(Eric M) #631

I guess I am not cool enough to use ActionTiles yet so can you send over the logs for your controller when you have ActionTiles change the color?

(Michael Hess) #632

I’ve never been cool or lucky until yesterday. :slight_smile:

Here’s the basic on/off:

59559bdc-9799-43b5-a03b-f8fc14af9447  1:59:58 PM: debug {"rgb":"000000", "r":"00", "g":"00", "b":"00", "w1":"00", "w2":"00", "power":"off", "running":"false", "program":"0", "uptime":"13 days and 17:26:54"}
59559bdc-9799-43b5-a03b-f8fc14af9447  1:59:58 PM: debug uri /off?transition=true
59559bdc-9799-43b5-a03b-f8fc14af9447  1:59:58 PM: debug off()
59559bdc-9799-43b5-a03b-f8fc14af9447  1:59:55 PM: debug {"rgb":"ff007c", "r":"ff", "g":"00", "b":"7c", "w1":"00", "w2":"00", "power":"on", "running":"false", "program":"0", "uptime":"13 days and 17:26:51"}
59559bdc-9799-43b5-a03b-f8fc14af9447  1:59:55 PM: debug uri /on?transition=true
59559bdc-9799-43b5-a03b-f8fc14af9447  1:59:55 PM: debug on()

Tapping Red from an off state, stays on, green:

59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:23 PM: debug {"rgb":"0cf000", "r":"0c", "g":"f0", "b":"00", "w1":"00", "w2":"00", "power":"on", "running":"false", "program":"0", "uptime":"13 days and 17:28:19"}
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:23 PM: debug {"rgb":"fc6c00", "r":"fc", "g":"6c", "b":"00", "w1":"00", "w2":"00", "power":"on", "running":"false", "program":"0", "uptime":"13 days and 17:28:19"}
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:23 PM: debug {"rgb":"000000", "r":"00", "g":"00", "b":"00", "w1":"ff", "w2":"00", "power":"on", "running":"false", "program":"0", "uptime":"13 days and 17:28:19"}
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug uri /rgb?value=0ff00&channels=true&transition=true
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug setting color with hex
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug setColor being called with [hue:0, saturation:100, hex:#2550000]
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug uri /rgb?value=fc700&channels=true&transition=true
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug setting color with hex
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug setColor being called with [saturation:100]
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug setSaturation(100)
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug uri /w1?value=ff&channels=true&transition=true
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug setColor being called with [hue:0]
59559bdc-9799-43b5-a03b-f8fc14af9447  2:01:22 PM: debug setHue(0)

Tapping Blue from on state, turns off:

59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:22 PM: debug {"rgb":"000000", "r":"00", "g":"00", "b":"00", "w1":"00", "w2":"00", "power":"off", "running":"false", "program":"0", "uptime":"13 days and 17:29:18"}
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:22 PM: debug {"rgb":"fc6c00", "r":"fc", "g":"6c", "b":"00", "w1":"00", "w2":"00", "power":"on", "running":"false", "program":"0", "uptime":"13 days and 17:29:18"}
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:21 PM: debug {"rgb":"ec1cc0", "r":"ec", "g":"1c", "b":"c0", "w1":"00", "w2":"00", "power":"on", "running":"false", "program":"0", "uptime":"13 days and 17:29:18"}
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:21 PM: debug uri /rgb?value=00000&channels=true&transition=true
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:21 PM: debug setting color with hex
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:21 PM: debug setColor being called with [hue:65, saturation:100, hex:#0025255]
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:21 PM: debug uri /rgb?value=ee1ff&channels=true&transition=true
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:21 PM: debug setting color with hex
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:21 PM: debug setColor being called with [hue:65]
59559bdc-9799-43b5-a03b-f8fc14af9447  2:02:21 PM: debug setHue(65)

Individual channels and the color picker in the DHT on the ST app work entirely as expected. The shutting off thing seems kind of random, if I wait between color changes, it turns off less.

(Dale C) #633

Me either… I am on the email list of the uncool :thinking: with you as we are waiting for the invite from @tgauchat

UPDATE: @Synthesis @erocm1231 It took a week but as of 5:24am 3/11/17 the ActionTiles team officially deemed me “cool” :sunglasses: to be a part of the rollout.

(The Viking AKA "Holy Crap You're a Giant!") #634

It sucks being uncool. I’m just as uncool as you guys. :frowning:

2 Likes
Magic Home WiFi LED Control
(Eric M) #635

Thanks! Alright, I am noticing a few strange things. The device is being sent a hue value and a saturation value as two separate commands and then a hue/saturation/hex value in a third command. Although the hex value does not look valid.

setColor being called with [hue:0, saturation:100, hex:#2550000]
setColor being called with [hue:65, saturation:100, hex:#0025255]

Makes sense that things aren’t working right. I haven’t seen SmartApps send three separate commands to change color. The third command with all values is more of what I am used to, but the hex value is not looking correct.

I will probably put some conditional programming to ignore the incomplete color changes. My handler still using hex by default so it is going to choke on the last command unless that gets fixed.

2 Likes
( Cosmo) #636

@erocm1231
Eric, I had asked one time previously about color temp control and you had mentioned it wasn’t on the map.
But I’m curious, is there a way to modify the DH to see the W1 channel as 6500k white and the W2 channel as 2200k warm white, or vice versa. Or something along the line of those K values. Possibly even make it user configurable.

The idea is this.
Channel - Color associated - Hooked up to
RGB = RGB channels - RGB LED Strip
W1 = Day White - Cool White LED Strip
W2 = Warm White - Warm White LED Strip

This way, even without a temperature picker for white values, the user could open the color chart and manually pick it.
Something along the lines of the DH mimicking the Hue Lightstrip Plus or Osram Lightify strip.
I just got my H801 imported into stringify working with a RGBW handler on their end. It controls the RGB just fine, but the color slider doesn’t adjust.

If you made it an option in the DH settings “function as RGBW-WW Lightstrip, single control” on/off (similar to the RGB vs White exclusive on/off option that would unlock some serious potential while keeping the unique multi channel capabilities that make this DH/device so cool for alternative uses/multi zone strip control.

:slight_smile:
Thanks for the consideration in advance!!

(James) #637

I am using a Mac computer to flash the wifi controller. I am having a problem with the execute command. Is the execute command going to be different for a mac? For the COM number I was only able to find the serial number for the USB. Is the COM number and the serial number the same for Mac computers?

(Michael Hess) #638

You’d need the Linux version of the flash utility. Serial number will not be related to the COM port number. I don’t have any Macs handy so can’t really help there. But it should be the same as a Linux box, assuming the BSD commands are similar. https://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/

(Mark Wroblewski) #639

All, I was just wondering if the community had any suggestions. I purchased all the products as outlined in the thread. I was able to flash the device. I should say that the process completed and the words success were at the end. After a flash update I power cycled the device but I do not see the esp… SSID to connect to. What can I be missing?

(Keith R) #640

Hi James,

I was able to make this work on my Mac. I’m not well-versed with python or development tools, but I managed to muddle my way through it. Here’s a compilation of steps I used combined with some instructions and tips cobbled together from various depths of the interwebz:

Step 1: Identify your FTDI device. In a terminal window, before you plug the FTDI device in, start typing “ls /dev/cu.” (without the quotes) and hit TAB a couple times, you should see the list of current serial devices appear. Depending on your Mac, the list might come up empty at first, that’s ok. Plug your FTDI device into a USB port and repeat, and there should be an additional item listed now. That’s the name of the device you’ll be using instead of a COM number.

Step 2: You need the Python version of esptool. As long as your macOS is up to date you should have a working Python. You can try “sudo easy_install pip” from a terminal and in theory that should work. If it doesn’t, you might have to google around a little bit and try a different version of Python and/or pip using something like Homebrew.

Step 3: Once you’ve got your Python and pip working, you can do a “pip install esptool” or you might need to do “sudo pip install esptool”. It should automatically install pySerial as a dependency. Once that’s done you should be able to type “esptool.py -h” (tab autocomplete should work if esptool.py is properly put in your path) or “./esptool.py -h” if esptool.py was installed to the directory you’re currently in. If that still doesn’t work, “python esptool.py -h” or “python ./esptool.py -h”. ONE of those should work.

Step 4: Assuming you’ve downloaded the binary firmware linked at the bottom of Post 1 and everything else is working, the command to flash is:

esptool.py --port=/dev/[DEVICE] write_flash -fm=dio -fs=32m 0x00000 [PATH TO BIN FILE]

If esptool.py isn’t in your path you might need to do “python esptool.py” or “python ./esptool.py” depending on where it is located.

[DEVICE] is the cu.xxxxxx device that you identified in step 1, and [PATH TO BIN FILE] is the path to where you’ve downloaded the firmware file, for example if it’s in the same directory that you’re currently working in, it might be “./SmartLifeRGBWController.ino.generic.bin” or if it’s in your Downloads folder and you’re not executing the command from that folder, it might be “~/Downloads/SmartLifeRGBWController.ino.generic.bin” for example.

Hopefully this all helps.

1 Like
(Keith R) #641

The device only speaks 2.4Ghz, if you have your computer set to only use the 5GHz band you won’t see the SSID.

Just a thought.

1 Like
(James) #642

Mark

Thanks for the reply. I was able to complete steps 2. However, the command for step one did not work. But I was able to pull information about the usb device by going to utilities then system information. I found the serial number and what the mac computer is call the the device. The name is FT232R USB UART. Do I use FT232R USB UART or the serial number for the flash command? Also, for the flash command is the path directly to the zip file or does it need to unzipped?

Thanks

(Dale C) #643

Maybe this video can help?

(Keith R) #644

Sorry, I omitted a bit in the command.

The device identification in system information is not how the driver is loaded/referenced in the operating system. Try this at a terminal prompt:

Without the FTDI plugged in, enter the command:
$ ls /dev/cu.*

You’ll see a couple things listed, for example on my Mac I have:

$ ls /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port /dev/cu.JAMBOXbyJawbone-SPPDev

Yours won’t match, but you get the idea.

Now, plug in the FTDI and run the command again, here’s what I got on my system:

$ ls /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port /dev/cu.JAMBOXbyJawbone-SPPDev /dev/cu.usbserial-A50285BI

So, in my case, it’s /dev/cu.usbserial-A50285BI so my flash command would be:

esptool.py --port=/dev/cu.usbserial-A50285BI write_flash -fm=dio -fs=32m 0x00000 ~/Downoads/SmartLifeRGBWController.ino.generic.bin

You’ll need to unzip the file to get the .bin file out of it.

When you’re typing the esptool.py command, you can enter the /dev/cu.usb part and then hit TAB and it should complete for you so that you don’t have to worry about mistyping it. Or you can copy/paste from the previous command’s output.

And don’t call me Shirley (Mark). LOL, :slight_smile:

-Keith

1 Like
(Michael Hess) #645

And Mac’s are easier…HAHAHAHA!

Sorry, couldn’t help myself! :slight_smile:

If you can do this on a Mac, you can use an RPi NO PROBLEM!

(Keith R) #646

Meh… just different. This is mostly just Linux/Unix/macOS basics for using the shell.

In contrast, using the CLI in windows is like kicking yourself in the goobers repeatedly.

It’s the dev environment stuff that I’m not real strong with. Ending up with multiple versions of python, libraries being installed to who-knows-where, dependency hell, etc.

(Michael Hess) #647

Yup just making a joke at Apple’s expensive. I much prefer GUI or even powershell over bash or the like. But then I’ve always been a Windows sys admin over a *nix admin. “Dependency Hell”, is seriously one of the most apt descriptions of Linux and it’s variants, out there. :slight_smile:

(Keith R) #648

Yeah I get it… and don’t necessarily disagree. I spent years as a windows Sysadmin a looooong time ago and I also spent quite a few years as a Unix (Solaris, IRIX…) and Linux admin. I’ve just found that I prefer the mac 95% of the time. I never have to clean a registry. I never have to worry about a poorly written program leaving tons of crud behind even though I tried to uninstall it. I don’t really worry about viruses in general, even on windows machines, but I really don’t even have to give it a thought on the mac. Never a DLL Hell. Mac’s got solid underpinnings, but it’s not perfect. Some things that really fall short are when you run across things that are windows only, like the utility to flash firmware for the Aeon Minimote, or even this esptool process. The windows version is pretty well documented and straightforward… luckily someone wrote the python version, but getting the process correct took a lot of digging and trial and error. Otherwise, I’d be stuck going over to windows for a lot of things. When it’s first-class applications and supported apps from the store, stuff works really well. When you start tinkering, it’s an experiment. There are some folks who are wicked whizzes with hacking on the mac, I really only know enough to frustrate myself half the time.