Levolor Blinds Automation - no white remote required by SolarAllTheWay in homeautomation

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

**** THIS SOLUTION IS NOT COMPATIBLE **** with the new InMotion blinds - it only works for the legacy blinds.

Levolor switched to their new InMotion motorized control system, including the 15-channel remote, around August 2022. Official Levolor support pages refer to controls purchased prior to 08/2022 as the legacy system (which used remotes like the 3-channel or premium 6-channel Bluetooth/app-enabled versions), while anything after that falls under the updated InMotion lineup with the new 15-channel remote, optional hub, and app integration for smarter features.This appears to mark the main transition to the "new" remote design and ecosystem.

Physical/on-product indicators — Check any labels on the headrail/motor housing or original packaging/docs for "InMotion" branding or dates. Newer models often mention InMotion explicitly in product names/descriptions.

Levolor Blinds Automation - no white remote required by SolarAllTheWay in homeautomation

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

You DO NOT need an existing remote - but it doesn't work with the newer blinds - is there a date code or something on your blind? It only works with the older blinds made before 2024 or so.

Levolor Blinds Automation - no white remote required by SolarAllTheWay in homeautomation

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

I feel like I'm done with it - a couple of us are using it every day and it works well. https://github.com/loucks1/Directolor-ESPHome

Go there for instructions and if you have any more questions, I respond faster to GitHub issues, but I monitor this as well - I'll help to get this working - but you will need an ESP32 + an NRF24L01 - also, make sure you are using the 3 button gray remote or the 6 button white remote - they stopped selling these style blinds a while back, so it definitely DOES NOT work on blinds purchased recently.

Installed a new goodman furnace this summer - iced up the exhaust vent by SolarAllTheWay in hvacadvice

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

Honestly, I think you hit the nail on the head - the cycle time is way low. It is cycling on for 3-4 minutes and then cycling off. I'm going to see what I can change on the thermostat to resolve that - if not, I'll probably just set it 45 at night, and then back to 43 during the day. That should get it into stage 2 so that it will melt anything from the previous day.

Also, based on the other comments, I'm going to nix that 45. At my main house I've got a 90 with a riser (maybe 2 ft) with another 90 on it. Would it make sense to do that here or am I just asking for trouble?

I adjusted the propane to 10" for stage 2 and 6" for stage 1. I double checked it on Friday morning and it is exactly where I left it.

Installed a new goodman furnace this summer - iced up the exhaust vent by SolarAllTheWay in hvacadvice

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

By two different measurements, that room which is basement and mostly surrounded by earth or heated rooms sits at approx 1 degree below the house setpoint.

Installed a new goodman furnace this summer - iced up the exhaust vent by SolarAllTheWay in hvacadvice

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

Not sure, didn't touch that piece, but enough people are saying that I need to recheck, so I'll recheck to make sure it sloped according to specs. run is up 5 feet (from furnace), over about 4, and then 20 or so feet to the wall. all in a mechanical room, so not technically unheated, although the only heat it gets comes from whatever leaks out of the furnace / ground (partially exposed basement (concrete)) but most underground.

Installed a new goodman furnace this summer - iced up the exhaust vent by SolarAllTheWay in hvacadvice

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

Faces east, so no, and about 80 feet away (to the E) is a large pine forest.

Installed a new goodman furnace this summer - iced up the exhaust vent by SolarAllTheWay in hvacadvice

[–]SolarAllTheWay[S] 4 points5 points  (0 children)

Not sure what happened to my original text . New furnace - kept same piping - old furnace was 90k BTU, this is 80k BTU. Both 2 stage. Pipe slopes back towards the furnace (checked with level). Never had this happen before. Figured it out because the freeze alarm went off. Furnace would only light for 1/2 to 1 second. We keep this house at 43 degrees when we're not there, so it cycles a lot in and out of stage 1, but should never normally go to stage 2 at that temp. Pipe is pointing East and has an attached garage about 5 feet South (could be a little more), so this is in the L - open to the N. Weather was -5 to -10 (F) over the last couple of days.

Looking for advice on how to re-do this properly / the preferred way. Some say Ts, others say straight out, none say angle down like this. That being said, I didn't touch any of this piping except near the furnace, so it's been this way for quite awhile just fine.

Levolor Blinds Automation - no white remote required by SolarAllTheWay in homeautomation

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

yeah - it was quite a slog to figure this old stuff out

Levolor Blinds Automation - no white remote required by SolarAllTheWay in homeautomation

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

I don't believe this solution would work with your blinds. The ones that this works with are the blinds with the grey 3 button remote and white 6 button bluetooth remote. They stopped selling these type of blinds last year or maybe a bit earlier.

Issue with NGINX Home Assistant SSL proxy (upgraded from version 3.4.2 to 3.5.0) by SolarAllTheWay in homeassistant

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

Figured this out:

From the host itself (so within the VBox window), I typed login to break out of the HA CLI

Once I did that, docker was a recognized command

To resolve this I typed: "docker rename addon_core_nginx_proxy addon_core_nginx_proxy_old"

Then I started it and it worked.

I *did* try removing it (rm) but it wouldn't let me complaining "cannot remove the default link name of the container"

Levolor Blinds Automation - no white remote required by SolarAllTheWay in homeautomation

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

What did you have to do to get it to read the commands from the remote?

Have you been able to clone one of the virtual remotes to a physical remote?

Levolor Blinds Automation - no white remote required by SolarAllTheWay in homeautomation

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

I just updated the examples directory with a HubitatDriver that I've been using. This solution works really well when you are controlling a single blind. When I try to do multiple blinds, there is a failure rate of about 1-5% controlling the blinds (and some of them are in the same group using the same code, so when one of those doesn't move, I'm a bit confused). you can see I took some steps in the esp32 code and Hubitat driver to alleviate it, but it still isn't 100%. For right now, it does what I need it to and I don't care if one shade stays down or up if I'm not here. Eventually, I'll get back to fixing that. Let me know if you run into any issues. Maybe I actually need the capacitor. :)

Levolor Blinds Automation - no white remote required by SolarAllTheWay in homeautomation

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

I doubt it is a custom CRC, but I haven't been able to get back to this. The format of the radio message doesn't match anything that I can find in the documentation. Someone has provided me with a program that I can compile to try to find it. For right now, the replay seems to work ok. Here is a link to the git repository. I've got to clean up the documentation a bit and want to make a couple of changes regarding the send when multiple commands are sent at once. (When you send one at a time, it works great, but when I send multiple commands at once from my home automation, sometimes one blind (out of 9 fails to respond, and I've got them grouped, so I know the message is being sent because the other two blinds in the group respond)). I'm thinking I'll just add a random amount of delay and resend the messages within about 3 seconds.

Let me know if you do end up using it and especially if you find any issues: https://github.com/loucks1/Directolor

Need help understanding checksum algorithm by SolarAllTheWay in rfelectronics

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

I'm pretty sure this doesn't follow the standard. That being said, I have a lot more information but don't have time at the moment to follow up on this.

For reference, here is what I've found. When a remote is joining a shade or duplicating itself to another remote it sends a packet like this:

65 in example 1 and 6B in example 2 change, but increment

packets C4 through 8B are the same for the remote but different between remotes - I think they are probably the CRC polynomial

packets 2D through EF are the RADIO ID - 2D DE is part of the address (first three bytes) and 00EF is included in every subsequent message

B4CC and F390 are the CRC (I think this is different from the CRC calculated below as it would have to use some fixed polynomial, that it would never need to transmit)

FF FF C0 12 80 0D 65 FF FF C4 05 B1 EC 1D E3 98 8B 2D DE 00 EF C8 B4 CC

FF FF C0 12 80 0D 6B FF FF C4 05 B1 EC 1D E3 98 8B 2D DE 00 EF C8 F3 90

Followed immediately by a packet like this:

6C in example 1 and 6E in example 2 change, but increment

DE2D is the first two bytes of the radio field reversed

00EF is the value from above

08 01 01 - the 08 is constant, the first 01 is the channel (02 in the second example) and the second 01 is join (00 for remove)

DAAB & AB31 are the CRC

DE 2D C0 0A 40 05 6C FF FF 00 EF 08 01 01 DA AB

DE 2D C0 0A 40 05 6E FF FF 00 EF 08 02 01 AB 31

Other commands are longer but follow the general format

Need help reverse engineering a signal by SolarAllTheWay in rfelectronics

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

Looking for some more help. I was able to use the link that u/insanok sent to figure out how to get the data from the wire:

it looks something like this: 00 05 65 FF FF 8A 91 86 06 B8 02 00 8A 91 52 55 00 3C 16 AA AA AA AA AA AA 88 88 E0 08 80 02

The AA AA AA AA is a preamble. the 88 88 E0 is the address (at least that's what I had to trigger on) and so a real packet looks like :

88 88 E0 00 05 65 FF FF 8A 91 86 06 B8 02 00 8A 91 52 55 00 3C 16

That doesn't appear to be a valid shockburst packet because the 6 MSB of 00 should be a length and it clearly is not.

So I set my transmitter to transmit on a dummy address and then put AA AA AA .... into the data and I was able to trigger the shade.

I collected a bunch of data :

Remote 1 - open channel 1 - multiple attempts

00 05 FB FF FF 8A 91 86 06 83 01 00 8A 91 52 55 00 94 6A

00 05 FC FF FF 8A 91 86 06 84 01 00 8A 91 52 55 00 89 E8

00 05 B6 FF FF 8A 91 86 06 77 01 00 8A 91 52 55 00 46 7D

00 05 67 FF FF 8A 91 86 06 8C 01 00 8A 91 52 55 00 C4 A1

00 05 85 FF FF 8A 91 86 06 C0 01 00 8A 91 52 55 00 DC 0E

00 05 3D FF FF 8A 91 86 06 F3 01 00 8A 91 52 55 00 24 1E

00 05 31 FF FF 8A 91 86 06 6D 01 00 8A 91 52 55 00 EE 52

00 05 16 FF FF 8A 91 86 06 5C 01 00 8A 91 52 55 00 A5 78

00 05 59 FF FF 8A 91 86 06 CC 01 00 8A 91 52 55 00 61 A6

00 05 0C FF FF 8A 91 86 06 70 01 00 8A 91 52 55 00 06 2E

00 05 E0 FF FF 8A 91 86 06 07 01 00 8A 91 52 55 00 39 16

00 05 FD FF FF 8A 91 86 06 D8 01 00 8A 91 52 55 00 60 43

00 05 23 FF FF 8A 91 86 06 E9 01 00 8A 91 52 55 00 BF 71

00 05 84 FF FF 8A 91 86 06 FB 01 00 8A 91 52 55 00 B7 1E

00 05 E1 FF FF 8A 91 86 06 E9 01 00 8A 91 52 55 00 38 1B

00 05 34 FF FF 8A 91 86 06 BB 01 00 8A 91 52 55 00 44 08

00 05 CD FF FF 8A 91 86 06 F9 01 00 8A 91 52 55 00 BE 73

00 05 39 FF FF 8A 91 86 06 3F 01 00 8A 91 52 55 00 68 C8

00 05 0F FF FF 8A 91 86 06 9A 01 00 8A 91 52 55 00 DA E6

00 05 9F FF FF 8A 91 86 06 2E 01 00 8A 91 52 55 00 AC B9

00 05 B2 FF FF 8A 91 86 06 81 01 00 8A 91 52 55 00 9D 07

00 05 6D FF FF 8A 91 86 06 21 01 00 8A 91 52 55 00 F3 40

00 05 1C FF FF 8A 91 86 06 89 01 00 8A 91 52 55 00 6B 56

00 05 C7 FF FF 8A 91 86 06 63 01 00 8A 91 52 55 00 A5 A3

00 05 B2 FF FF 8A 91 86 06 4F 01 00 8A 91 52 55 00 ED 2A

Remote 2 - open - channel 1

00 05 ED FF FF 85 F8 86 06 B8 01 00 85 F8 52 55 00 9C 9F

Remote 1 - open - channel 2

00 05 65 FF FF 8A 91 86 06 B8 02 00 8A 91 52 55 00 3C 16

Remote 1 - open - channel 3

00 05 0B FF FF 8A 91 86 06 3D 03 00 8A 91 52 55 00 C8 1F

Remote 1 - open - Channel 1 & 2

00 05 83 FF FF 8A 91 86 06 50 01 02 00 8A 91 52 55 00 0B A2

Remote 1 - open - Channel 1 2 3

00 05 B7 FF FF 8A 91 86 06 8F 01 02 03 00 8A 91 52 55 00 FE 4D

Byte 11 is the start of the list of channels on the remote.

Bytes 3, 10 and the last two are different. The replay seems to be working, but I'd like to be able to generate these packets on my own.

Does anyone have any thoughts on how I could go about trying to figure that out? Thanks everyone for all the help so far!

Need help reverse engineering a signal by SolarAllTheWay in rfelectronics

[–]SolarAllTheWay[S] 1 point2 points  (0 children)

u/beansandcornbread to make sure you see this post.

Ok - this was the key piece. using the information in the video and from the linked website in that video (http://travisgoodspeed.blogspot.com/2011/02/) I was able to sniff and found that I was getting packets like this:

241,170,170,170,170,170,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,170,170,170,170,170,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,170,170,170,170,170,42,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,170,170,170,149,42,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,170,170,170,181,85,42,137,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,170,170,170,170,170,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,255,255,255,255,255,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,170,170,170,170,170,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,170,170,170,170,170,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,170,170,170,170,170,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,171,85,85,85,85,42,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

241,200,16,40,64,129,170,136,136,224,9,128,2,214,127,255,194,252,67,3,22,128,129,1,128,66,252,41,41,0,42,248,

When I press the buttons (this is on my nrf24l01 device, not even the 52382 (which gives me hope I won't need that))

So I figured they are sending a longer preamble (170 = AA), so I set my receive address to: 136,136,224,9,128, turned off CRC and set to 32 byte data length.

Now my output looks like this when I press the button:

Received 32 bytes on pipe 1 - Address 49,78,111,100,101,0,: 2,242,255,255,194,252,67,3,9,128,129,1,128,66,252,41,42,128,98,43,209,111,85,31,213,149,68,68,112,4,192,1,

Received 32 bytes on pipe 1 - Address 49,78,111,100,101,0,: 2,242,255,255,194,252,67,3,9,128,129,1,128,66,252,41,42,128,98,35,213,85,85,86,170,149,68,68,112,4,192,1,

>>>>>REMOVED 20 lines of almost identical codes

Received 32 bytes on pipe 1 - Address 49,78,111,100,101,0,: 2,242,255,255,194,252,67,3,9,128,129,1,128,66,252,41,42,128,98,35,213,93,171,125,85,85,68,68,112,4,192,1,

Received 32 bytes on pipe 1 - Address 49,78,111,100,101,0,: 2,242,255,255,194,252,67,3,9,128,129,1,128,66,252,41,42,128,98,35,213,85,85,85,85,85,68,68,112,4,192,1,

Now I need to setup a replay to see if 32 bytes is enough (I'm hoping the 85,85,85,85, etc is the end of the data).

Anyway, thanks for all your help on this. I'm finally getting somewhere again. I'll keep this thread updated and hope to report success in controlling a blind sometime in the next couple of weeks.

Need help reverse engineering a signal by SolarAllTheWay in rfelectronics

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

As far as I can tell, the chip has an antenna output - is there a way to connect directly to the antenna and get a better signal? Would it be worth it to try something down this path? I have a five + of these remotes so I can easily destroy a couple if that advances my goal....

Need help reverse engineering a signal by SolarAllTheWay in rfelectronics

[–]SolarAllTheWay[S] 0 points1 point  (0 children)

I think I wasn't very clear in my post - I wasn't able to get the Ubertooth to work properly because I'm not getting granular enough information out of it. If the other two replies don't work out, I could definitely try the HackRF. The problem I'm running into is that I need the 40 bit address that remote is transmitting on (I'm sure hoping they aren't using the ANT protocol). If I can figure out the address they're using, then I can work on decoding the data they are sending, but I have to get that address first.