r/lifx

▲ 2 r/lifx

Dawn/dusk permanently on but no setting in the app

I have a bulb from 7 years ago. When I first set it up, I used the dawn and dusk feature. It seems to me that there’s no longer a setting in the app for dawn/dusk, but the setting is still on. I’ve reset the bulb many many times and it still “remembers” the setting state and I have no clue how that’s possible

Anyone ever have this happen? If so, is there a fix?

reddit.com
u/itsON-Ders — 4 days ago
▲ 7 r/lifx

Bulbs turn blue

How often has anyone has their br30 or the a19 bulbs just turn blue and like they're stuck on that color even after a reset?

u/xtopher719 — 6 days ago
▲ 2 r/lifx

Switch won’t give HomeKit code among many other problems

So I installed a new 2-button switch. It’s firmware is 3.9.

After a million tries it finally connects to WiFi. I could not do it directly through HomeKit as it would not accept the code, and when scanned it thinks it’s a window and times out.

So now it’s in the Lifx app. If I try to configure a button to control the only other lifx device (ceiling light) it will let me pick the target, then the action, but after the action is picked it clears the target. When I try to add the target again it gives no choices.

I then figure I should try and add it to HomeKit now that it’s at least on WiFi. Of course the code doesn’t work. So I try to retrieve the code via the app with the soft reboot by holding down the bottom button for a few seconds then opening up that screen in the app. The screen just shows nothing. Tried multiple times, tried with app fully closed first, tried having the app already on the screen. Nothing.

This thing is incredibly problematic and I’m ready to throw it out the window.

Please if anyone’s got any other tricks I can try let me know.

reddit.com
u/thexawakening — 6 days ago
▲ 3 r/lifx

Moved to new apartment, don’t have any boxes or QR codes, am I screwed?

Have tried a dozen times to reset and reconnect these and it just doesn’t work. I even renamed my new wifi network after the original one these were set up on and kept the same password.

Any advice?

reddit.com
u/RunawayBud — 7 days ago
▲ 6 r/lifx

Looking to get the Lifx string lights.

I'm in Australia and for AUD $270 you get the controller, power supply and 7.3 meter length of lights.

I want to get one of them. But then I'm also trying to hunt down an extension and I found the US site has them but not Australia.

What options do I have ?

Cheers 🍻

reddit.com
u/Hour-Complaint4480 — 9 days ago
▲ 33 r/lifx

Love my LIFX, but are we on the downward spiral?

Sad to see LIFX no-longer ranged at Bunnings (think Home Depot for the US crowd) but was flooded with Govee products.

I'm scared Feit aren't funding this sub-portfolio enough (if at all). We are still waiting for Firmware to be pushed out, seems any works on effects have been abandoned. There are semi-frequent updates to the Android app; perhaps there is a glimmer of hope?

Sure, we have a new mirror, which has touch controls on the mirror face itself (who wants fingerprints ON a mirror?!) Where are the lightbars and the corner lights or the oft requested HDMI TV sync? Stuff to enhance what we already have seems the obvious choice right? You originated the decor LED panel but your competition run with the idea.

I'm deeply invested in the LIFX eco system. The silence from LIFX is deafening.

u/p3rpl3x — 10 days ago
▲ 5 r/lifx

New 3rd Party App, looking for volunteer testers (Android/Play Store only)

Are there any Android users who would be open to helping me test a new 3rd party lighting app I developed? Per Play Store guidelines, I need a dozen people to use it for two weeks before it can go live in the play store. I poured a lot of love into this, and it's my first app I've developed with intention of releasing it, and I would love some feedback, and just to share it.

I can't offer pay, as I live hand to mouth currently; however, it would mean the world to me for some people to use it and offer feedback. In exchange, I can make sure you get and keep access to it for free when it goes live for pay. I've opted for no subscription, no user data collection, and no in-app purchases. It's going to be one time purchase for lifetime access for a few bucks to hopefully maybe cushion my budget, but also just to share an app I truly love using myself.

Any takers? 😁

reddit.com
u/GlitchGat — 11 days ago
▲ 19 r/lifx

LIFX Tile reverse engineering notes

I felt like patching the firmware instead of attaching an oscillator to make one tile act as if connected to the power supply and become a master.

The tiles are based on an ESP32, MY9262 LED controllers, and RS-485 communication between tiles. This is an ESP32 chip on a custom circuit board, not a module. The flash is not connected to the standard pins. You can look at the SPI_PAD_ values in the espefuse summary or trace the pins. The correct argument for working flash access is: -sc 17,11,9,16,6

One obstacle was flash chip protection. The 2 megabyte flash chip seems to be by ISSI, with manufacturer ID 9d and device ID 7015. This is like IS25WP016D, but the chip has a write protect feature that I don't see documented in data sheets.

SPI command 2Fh retrieves the contents of the protection registers. Something like this can work using esptool:

            for a in range(0, 2*1024*1024, 131072):
                print(a, self.run_spiflash_command(0x2F, addr=a >> 7, addr_len=32, read_bits=32))

I guess each bit corresponds to 4096 bytes. (Note that 4096 * 32 = 131072) Memory addresses increase from least significant bit to most significant bit, and from one register address to the next higher register address.

If you want to unlock everything, that is command 2Bh. You need to do a write enable before it.

            self.run_spiflash_command(6)
            self.run_spiflash_command(0x2B, addr=0, addr_len=24)

The "Built on Fri Feb 1 10:37:37 2019" ota_1 firmware relocked everything as before when it booted, but the "Built on Thu Jan 4 17:57:30 2018" ota_0 firmware left everything unlocked.

If you want to write protect part of the flash yourself, that is command 23h. It seems to only be able to change bits from 1 to 0, and cannot be used to unprotect part of the flash. It also needs a write enable.

            self.run_spiflash_command(6)
            self.run_spiflash_command(0x23, addr=prot_val, addr_len=32)

The somewhat tricky part here is prot_val. The read command, 2Fh, reads 4 bytes at a time, but this writes 1 byte at a time. The high 3 bytes are the byte address, and the low byte is the byte being written at that address. I have not explored this command extensively, because the firmware locks itself.

If you alter the firmware, you must also update the checksum at the end, and the SHA256 value afterwards. This is standard ESP32 stuff. It starts with 0xEF and then XORs every byte from every segment with it. (This means, not the image header, extended image header, or segment headers.) The SHA256 is based on the whole thing, from the first 0xE9 byte to the checksum, inclusive. If you don't do this, the modified partition is considered corrupt and the other partition is booted.

Ghidra is decent for reverse engineering the firmware, and esp32_image_parser is a good way to extract a partition into an elf file for loading into Ghidra. You probably want ota_1.

With esp32_image_parser you can also list the partitions and see why the protection bits are set the way they are.

A bit about the frequencies on the ID lines:

The ID frequency to the master tile needs to be between 45 and 65 Hz. I am guessing that the power supply probably provides a 3.3 V logic signal based on the incoming AC frequency (instead of having its own oscillator).

The ESP32 MCPWM is used to measure incoming frequencies and output another frequency on the other port of the tile.

Here are input frequencies for slave tiles: 150, 190, 230, 280, 340, 410, 490, 580, 710, 840, 910 Hz All of these need to be within plus or minus 5 Hz. So, for example, a tile receiving between 145 and 155 Hz on one port will consider itself the first slave tile, and output 190 Hz on the other port. I do not think the duty cycle is important.

The RS-485 lines are continuous throughout the whole tile chain, so this is needed to set tile identification and ensure that individual slave tiles can be addressed in a predictable fashion.

Both master and slave code limits itself to 4 slave tiles. Don't assume you can simply connect together 12 tiles and make it work without firmware modification. That would probably also need power connections in the middle to avoid overloading the connectors.

If you want to modify an ota_1 partition "Built on Fri Feb 1 10:37:37 2019" to make it act as if it's getting 55 Hz on the bottom connector, this could do it, at offset 1548841 in the file:

00000000  f0 20 00 06 02 00 86 4a  00 68 11 d1 31 16 00 41
00000010  ff ff 0c 16 69 b1 0c 06  3d f0                  

Checksum should be 55 and SHA256 should be a953d3de71daf7f95e2d8c527868345ee0dbcfeab001a243eb9aa83e059c20bf

It might be interesting to develop a 3rd party firmware, maybe based on WLED, with way more firmware effects and a more user friendly LAN interface. Though I'm not planning to do that now.

reddit.com
u/Icy-Ninja-622 — 10 days ago
▲ 3 r/lifx

Surge Protector for Spots?

I just had a lighting strike take out 14 spotlights and ruin the WiFi and colors on two more. So 16/18 are toast.

I had the transformers on a surge protector, which are fine, but the lights are another story.

So I’m about to have to come out of pocket for a lot of money to get everything replaced.

I obviously don’t want to repeat this again with another storm, so anyone have any options for surge protection in a situation like this?

Thanks!

reddit.com
u/heatmizuh — 13 days ago
▲ 3 r/lifx

15" Ceiling Light Outside

Have Lifx all over the house and used mini bulbs in my front porch fixtures but was debating removing them cause I don't like how little bugs get in glass box and die and block the light. Debated doing the 15" Ceiling lights instead. It wont be hit by any elements. Will have heat and cold though.

Thoughts?

reddit.com
u/Tmicrochip — 11 days ago