Adding my roller garage doors to home assistant was one of the first home automation projects that I did many years ago. I’ve been through various iterations of ESP8266 and Shelly-based solutions, wired into my existing Eurodrive controllers. Recently, one of these failed and I was looking for a new controller (230v output) that had built-in WiFi or Zigbee control, along with the ability to keep the existing IR safety beam. I probably could have managed it with a shelly 2PM, but wanted to retain manual control for the rest of the family to use if needed.
One of the only solutions out there with WiFi built in seems to be the KBA solution: NVM NT1006 - Remote Control/Receiver with Manual Switch Function and photocell incl. 2 remotes. This promises to work on Tuya firmware, so I thought I’d give them a try. I am documenting my findings here in case it helps anyone else…
Installation is pretty straightforward - replacing the existing connections like for like. The device shows up in the Tuya smartlife app and can be added easily.
Integration into HA is more tricky. It shows in the official Tuya integration as unsupported. Initial attempts with Local Tuya also failed. In Tuya Local, I was able to see the devices and pick up their Device and Local IDs from my Smartlife login, then add the local IP. If I then set the version to 3.5, I get a list of possible devices, none of which are garage doors. Adding the device as an “Ioonas_curtain” allows a cover to be created that shows up as a curtain:
I can then change the device type to “Garage door” in HA and the up, down and stop controls work.
The only remaining issue is that HA cannot see the door state. As I already have some wired reed switches on the doors, I added these as binary sensors via an old ESP8266 that I had laying around, and created cover templates to integrate the sensors and controls. The same could be achieved with any zigbee/wifi/wired door window sensor:
template:
- cover:
- name: Right Garage Door Controller
state: "{{ is_state('binary_sensor.garage_door_sensors_right_garage_door_sensor', 'on') }}"
device_class: garage
open_cover:
action: script.open_right_garage_door
close_cover:
action: script.close_right_garage_door
stop_cover:
action: script.stop_right_garage_door
So now I have a working cover with status monitoring and a safety beam. Perfect!

