Wednesday, August 5, 2026

I Spent Three Years Dreaming About Automating These Giant Curtains

The Zemismart MTP1 Finally Moved the Mountain — and K Actually Loves It

Disclosure: Zemismart sent me the MTP1 free of charge for testing and review. This post contains affiliate links (Zemismart MTP1 Product Page | Zemismart Storefront), which means I may earn a small commission if you make a purchase through them at no extra cost to you. All opinions and testing experiences in this article are entirely my own.

Quick Take: Excellent hardware, effortless Matter setup, a genuinely useful remote, and a surprisingly successful retrofit on a huge smooth cord curtain. The biggest weakness is the documentation.

I've been eyeing K's curtains for three years.

Ever since I started smart-homing, I would go over to her place, look at those enormous curtains, and daydream. How on earth could I move this mountain? Could a device really do it? Would it cost a fortune? Would I have to build something myself? Would it require high voltage? Would it look crappy?

Most importantly, would she like it?

This is not my house. I'm a guest, and smart home gadgets are not exactly high on my girlfriend's list of priorities. She likes Things — ThingTooTech pun fully intended — but she is not highly interested just because it is technology.

Up until now, she has been perfectly satisfied with a Wi-Fi light bulb and a garage door opener. The bulb turns red when the garage is open. Last month we added a little Zigbee satellite setup, mostly for giggles, testing, and turning her light green when she is trying to sleep.

This is something else entirely.

The Zemismart MTP1 is a retrofit smart curtain and blind driver. Instead of replacing the entire window treatment, it mounts where the existing cord tensioner sits and pulls the continuous cord or beaded chain for you. You can control it directly on the device, with the included remote, or through Matter and a smart home platform.

That combination is what immediately impressed me (along with the build quality). It is fun and technical for me, practical for K, and usable by anyone. You do not need Home Assistant. You do not need Google Home. You do not need instructions. Walk up, turn the dial or use the remote, and the curtains move. Abraham Lincoln could come over and use them without a tutorial.

The MTP1 includes the motor, magnetic remote, three interchangeable wheels, adhesive plates, screws, charging cable, and printed instructions.

I tested the MTP1 at my house before taking it to K's. My first impression was excellent. The device feels unusually solid for this category, the remote is thoughtfully designed, and the unloaded motor is quiet and responsive.

Matter setup was almost suspiciously easy. I scanned the code and added it to Google Home without a failed attempt, then shared it with Home Assistant. I also factory reset it and paired it directly with Home Assistant. Both routes worked. Google Home exposed open, close, and position control, while Home Assistant provided the same core controls with a clearer entity view and additional diagnostics. Commands were quick and predictable.

Voice control worked through both ecosystems, and the device reconnected quickly after restarting either controller — including my Nest Hub (2nd Gen) and an SMLight MR5U coordinator running through Home Assistant.

The weak spot is the documentation. A lot of the information appears to be there, but it is scattered instead of presented as one clean setup sequence. The reset directions also conflict. The sticker says to hold the setup button for five seconds, while the printed instructions say to press it three times rapidly. The three-press method is the one that worked best for me.

At one point the remote lost pairing. I eventually discovered that pressing the setup button once on the MTP1 and then pressing any button on the remote pairs it again. It worked immediately, but I could not find that procedure in the printed instructions.

Removing the cover was another example. The instructions never clearly show how to open the device or feed a cord around the selected wheel. I assumed the screws on the back had to come out. They did not (oops). The cover simply slides upward. It was obvious once I figured it out, but one small diagram would save users a lot of unnecessary head scratching.

Would It Actually Move the Mountain?

Then I took it over to K's. Reluctantly.

Maybe I had psyched myself up too much. I was scared it would not work, and I did not have another set of curtains waiting as a backup (nothing at my house is compatible). Was my three-year fantasy about to become reality, or was I going to facepalm in defeat and tell Zemismart I could not even properly test the product they sent me?

K's curtains do not use a beaded chain. They use a smooth braided cord. And the dang thang is enormous. Like, HUGE. If someone asked these curtains how they were doing, they would say, “I'm huge, baby.”

Zemismart had confirmed that the MTP1 can work with a continuous cord, although a beaded chain provides more positive engagement. Smooth cord depends on friction, so slipping is more possible. That made this a genuine test rather than the easiest possible demonstration.

I removed the cord from the original wall tensioner, looped it through one of the included wheels, put the cover back on, and held on for dear life. I turned the control wheel. The curtain inched one direction and then the other, but it would not really roll. My heart sank a little.

Rather than panic, I factory-reset the device and tried again.

I turned the wheel to the right — still holding the motor in my hand — and the curtains began to float across the room.

That was the moment.

I was like, “Tada.” K said, “Ah ha.” The curtains said, “I'm huge, baby.”

For a few seconds, the magic trick felt more mystical than technical — a true moment of synchronicity, a total symphony of hardware and timing, of things. Electricity moving through the walls of the house that holds us, pulsing through this little Zemismart driver, turning its gears while two middle-aged dorks watched an old curtain, possibly older than the two of them, sweep across the room like a ballroom gown. “Dance baby, dance,” said the motor.

Outside that giant front window, people walk their cats, ride skateboards, and, sometimes, there is even live MMA fighting on the balcony across the street. It is the window in and the window out. I had a huge front window growing up, so I've always felt a real emotional connection to a view like that. K lives on a quieter street, but the window feels the same.

Seeing those curtains come to life felt weirdly special.

Zemismart MTP1 installation detail
[original tensioner]
Curtain cord routed through the Zemismart MTP1
[slide the cover up and off]
Zemismart MTP1 mounted beside the curtain
[adhesive seemed adequate for mounting so far]
Finished Zemismart MTP1 curtain installation
[finished installation]

The Installation Was Easier Than Expected

I tried all three included wheels. The smallest audibly slipped against the cord. The largest wheel gripped it much better. Before mounting anything, I held the motor in place and opened and closed the curtains several times to make sure it could actually handle the width, uneven resistance, and total load.

Once I was satisfied the motor could handle the load, I removed the old wall tensioner. K's drill was charging, so we used the included adhesive on the mounting plate instead of screws. It stuck securely during the installation and testing, although I will keep an eye on it over time before declaring it permanent.

We set the open and closed limits directly on the motor. Because the curtains span such a wide area, we preferred the fastest speed. The motor had been impressively quiet on the bench, but it was noticeably louder at full speed while moving the real curtain. K said the fastest setting might be annoying in a bedroom and that she would probably choose a slower speed for a wake-up routine. That feels like a fair distinction — quiet unloaded, more audible at high speed under a very large real-world load.

The entire installation took about an hour, but that included trying all three wheels, taking a bunch of photos and videos, repeatedly opening and closing the curtains, and refusing to mount anything until I knew it worked. The actual retrofit was basically removing the old tensioner and attaching the MTP1 plate in its place.

The Best Test: K Actually Likes It

I feel like we added value to her life. That sounds dramatic for a curtain motor, but this is exactly what I want smart home products to do — take something ordinary and make daily life a little easier, a little more fun, and maybe even a little magical.

K loved the magnetic remote. She sent a video to her sister almost immediately. Then she started asking about automations.

That is total home approval.

The finished installation is not connected to a Matter controller at K's yet. I tested the Matter side separately at my house with Google Home and Home Assistant, where setup, position control, and voice commands worked without trouble. At K's, the installation proves the other half of the product — it works as a normal, easy-to-use motorized curtain system with its own control and remote, even before any smart home platform is added.

Later, the real fun can begin. I imagine the curtains opening automatically in the morning — specifically only on weekends, so nobody gets hit with early morning light on a workday — while the coffee maker says, “Good morning, K. Good morning, Thing. Enjoy the window.” Maybe they close after dark, respond to heat or bright sunlight, or become part of a bedtime routine.

And that is the real magic trick, the MTP1 just makes it easier.

What I Loved & What Could Be Better

What I Loved What Needs Work
• Excellent build quality • Instructions are fragmented
• Nearly effortless Matter setup • Cover removal & cord routing not shown in manual
• Fast Google Home & Home Assistant control • Reset directions conflict
• Useful physical dial & magnetic remote • Remote re-pairing is undocumented
• Three speeds and position control • Fast speed is louder under a heavy load
• True retrofit — no new curtain/cord needed • Needs a rubberized wheel option for smooth cords
K actually loves it

The Smooth Cord Caveat

A beaded chain is still the ideal setup because the teeth have engagement points (like a bicycle chain). K's smooth braided cord worked surprisingly well with the largest included wheel, but compatibility will probably depend on cord thickness, curtain resistance and the condition of the track.

I will continue watching for slipping, calibration drift, adhesive movement for the wall plate or changes in performance. So far, though, the cord installation has turned a window treatment I stared at for three years into something that feels completely new. A wheel designed specifically for non-beaded cord could make the MTP1 even more flexible and appealing to anyone concerned about compatibility.

Final thoughts

This is the best kind of smart home product. Fun for me, practical for K, and completely usable by someone who does not care what Matter, Thread or Home Assistant mean.

She can use the control on the motor. She can use the remote. Once a Matter controller is added, she can use her voice or let automations handle the curtains. The smart home layer creates possibilities without making the basic product harder to use. Incredible design.

I started with a device Zemismart sent me to test. I ended with a real installation that K loves, on the exact giant curtains I had been daydreaming about automating for years.

The mountain moved.

Tuesday, July 14, 2026

I moved a complete Zigbee network eight miles away and it just kept working — testing the SMLIGHT SMHUB Nano

Disclosure: SMLIGHT sent me the SMHUB Nano MG24 to test. They did not pay me or tell me what to say in any way.

I thought this was going to be a fancy Zigbee coordinator at first, and I struggled to see what set this apart from other SMLIGHT products. I have a SMLIGHT USB dongle that works great in my small home (it even reaches the detached garage), and if I wanted to upgrade, I might consider the Ultima—it has RGB lights, after all. Why would anyone choose a SMHUB Nano?

Then I unplugged an entire Zigbee network, drove it eight miles down the road to my girlfriend's house, plugged it into a different router, and watched everything come back online instantly.

I was like “Tada!” and she said, “Ah ha!” And we all know how good it feels when that magic trick works exactly like we expected it to.

That was the point where this little box clicked for me. Or tickled me, or both.

What I wanted to test

I already run Home Assistant at my house, along with an existing Zigbee network. Pairing a couple of devices to another coordinator in the same room did not seem like a very interesting test.

What interested me was whether the Nano could operate as a small, mostly independent smart-home site somewhere else.

My goal was to:

  • Build a separate Zigbee network on the Nano.
  • Run its important automation locally.
  • Move the whole setup to another house.
  • Continue monitoring and controlling it through my Home Assistant instance at home.

The result is basically a Home Assistant satellite site, except the important local automation does not need to travel through my Home Assistant server or across the internet, because it’s running locally.

This is more than a Zigbee coordinator

The Nano looks a little like a big network-connected antenna, but that description really undersells it.

It runs Zigbee2MQTT directly on the device. It also has its own MQTT broker, Node-RED, Matterbridge, and an ESPHome-connected co-processor for some of the onboard hardware (which seems to be expanding in functionality). Plus, you can install other apps.

It is closer to a tiny server built around a Zigbee radio (or Thread, and can even expand to Z-Wave). It can also run as a Matterbridge.

That is what makes it different from the coordinator I was already using. Instead of only passing Zigbee traffic back to another computer, the Nano can receive a sensor event, run an automation, and control another device entirely on its own.

Initial setup

Setup was easier than I expected.

I logged into the Nano via URL, installed the available updates, and started looking through the applications that were already there. Zigbee2MQTT and the MQTT broker were basically ready to go.

The longest part was waiting for firmware updates and reboots. A reboot might take two or three minutes.

Because I already have Zigbee2MQTT running at home, I changed the Nano’s base topic to something unique so the two installations would not step on each other.

Once Zigbee2MQTT allowed new devices to join, both appeared instantly, just as you would expect.

I did have a strange issue where the Zigbee2MQTT interface flickered badly in Chrome. The same page worked correctly in Edge and it was only this one page.

Building an automation directly on the Nano

This was the part I really wanted to test and maybe the part I dreaded the most (having never used Node-RED).

Using Node-RED on the Nano, I built a simple door-warning automation:

  • Open the contact sensor and the bulb turns blue.
  • Close the sensor and the bulb turns off.
  • Leave it open for 30 seconds and the bulb starts flashing red.
  • After another 30 seconds, the warning stops.

It is only a test automation, but it demonstrates the part that matters, the automation runs on the Nano itself – totally independent.

Home Assistant does not have to receive the contact state, decide what to do, and send a command all the way back to the bulb. The sensor, the bulb, Zigbee2MQTT, MQTT, and Node-RED are all at the remote location. The local automation can continue working even if my Home Assistant instance is unavailable.

Connecting the remote network to Home Assistant

I still wanted the devices to appear in my main Home Assistant instance, so I connected the two locations using Tailscale.

I installed Tailscale on the Nano and joined it to the same tailnet as my Home Assistant system. I then configured the Nano’s MQTT broker to bridge its Zigbee topics back to the MQTT broker at my house. I used the private Tailscale address rather than exposing MQTT directly to the internet. Setup was so simple.

The setup looks something like this.

Then I moved the whole thing

Once everything worked at my house, I unplugged the Nano, bulb, and contact sensor and took them to my girlfriend’s house about eight miles away.

I powered the Nano back on and connected it to her router.

The contact sensor began controlling the bulb locally (even before plugging it into the network), and the state changes appeared in Home Assistant at my house once it was online. Control and feedback through my phone felt instant.

This was the exact moment the Nano made sense to me. I had packed up an entire Zigbee network, moved it eight miles away, plugged in one Ethernet cable, and everything came back.

What has worked well so far

At the time I am writing this, the Nano has been running at the remote location for several days.

This is just a small, two-device network, so I am not pretending it proves how the Nano will behave with 100 devices or several complicated Node-RED flows. But the core concept has worked flawlessly so far.

I think there are a million use cases for this, many of which might even be commercial. If you’re looking for a way to monitor or control devices in mini-implementations, I think these could be a really big deal. Even if you have one or a handful of devices to monitor and control, this truly might be worth it.

The rough edges

It has not all been perfect, but really close…

Updates and reboots are slow enough that you need to be patient.

The Zigbee2MQTT interface flickered in Chrome for me, but it worked in Edge. I was told this is a bug SMLIGHT is aware of and working on.

Matterbridge appeared to use a noticeable amount of the Nano’s limited CPU and memory. Maybe it’s worth it. I did not take the time to test this functionality, but I think this is another great feature, allowing you to expose Zigbee devices to other ecosystems. I can imagine someone with Google Home using this for Zigbee devices and exposing them to Google Home over Matter.

The onboard buzzer was a little disappointing. The Nano’s interface allows the buzzer to be assigned to ESPHome. ESPHome exposed controls for the onboard Ambilight LEDs, but I did not receive a buzzer entity. I would like to see this available locally in Node-RED as well. SMLIGHT told me the buzzer is present, but the software is currently a work in progress.

My conclusion

I am leaving the Nano at the remote location and continuing to monitor how it handles “normal life” for a few weeks.

My early impression is that the SMHUB Nano is very good at the thing that makes it unusual.

  • How would you use this device?
  • What would you test next?
  • What questions do you have?

I Spent Three Years Dreaming About Automating These Giant Curtains

The Zemismart MTP1 Finally Moved the Mountain — and K Actually Loves It Disclosure: Zemismart sent me the MTP1 free of charge for te...