MOES Tuya ZigBee Smart Sliding Window Pusher

Yes, of course - if it is not showing up on Apple Home, this means that the pusher is not bridged yet ... :frowning:

OK... You will need to wait for a new driver.

W.I.P - 06/25/2024

W.I.P - 06/29/2024

image

Would love to see this running in a video w/sound, if you can do that. All of the videos I've found have a music soundtrack on them, so you can't get a sense of how the device sounds while operating (a WAF issue for me).

Didn't even know this existed!

One question - obviously can't lock the window when using this - does the motor securely hold the window's position when closed?

1 Like

The pusher has no business with locking mechanism of window. but just sliding the window.
I didn't install the pusher yet. I plan to disable the window lock when I install.
The pusher cannot be used as window lock. Wheel, which makes window slide, in the pusher has clutch so window can be slided(open/close) freely when the pusher is not operating. I'm living on 15th floor so I'm not worrying about locking window. :wink:

1 Like

Thanks for the details, appreciate it.

So you're not concerned about Spiderman?!? He's everywhere... :wink:

1 Like

omg!
I didn't think about spiderman.
Thanks for reminding me. :smile:

2 Likes

Does anyone has another model/make of a Zigbee shade/curtain controller currently in use with Hubitat?

There is a progress working on a new driver that will support this Sliding Window Pusher , but I need to have the 'standard ZCL' and Tuya/Zemismart controllers working with the same driver before that. It will replace the good old 'Zemismart Zigbee Blind' driver, which has become difficult to expand with new models.

I will need your 'other type' Zigbee shade/blind/curtain/motor controller Zigbee details - the model and the manufacturer, so that these are included in the new driver first.

1 Like

i have this Ikea Fyrtur Blind running on ikea window shade driver, will this be useful to you?

1 Like

I have Zemismart zigbee blind, but it's paired with Zemismart M1 hub.

State Variables

  • driverVersion : 1.0.0 (2024/03/16 9:29 AM)
  • substituteOpenClose : false
  • invertPosition : false
  • standardOpenClose : OPEN = 0% CLOSED = 100%

Data

  • fingerprintName: fingerprint8C
  • id: 8C
  • name: Bridge#660 Device#8C (tuya CURTAIN)
  • product_name: 14
  • ServerList: ["1D","2E","39","40","41","0102"]

If you need data for the blind paired with Hubitat, I can move it to Hubitat.

1 Like

Yes, moving to Hubitat will help troubleshooting the new driver. In HE you can use the ‘Zemismart Zigbee Blind’ community driver temporarily.

Hi danabw,

Here a video i recorded of the pusher operating with sound.

2 Likes

Ok, here you go.

State Variables

  • isTargetRcvd : true
  • copyright : Copyright ©2021-2024 Amos Yuen, kkossev, iquix, ShinJjang
  • lastHeardMillis : 1719746349106
  • txCounter : 720
  • waitingForResponseSinceMillis :
  • version : 3.4.0 - 2024-03-02 8:10 PM
  • target : 0

Data

  • endpointId: 01
  • application: 53
  • manufacturer: _TZE200_fzo2pocs
  • model: TS0601

Sometimes blind closed or opened by itself. I don't know why.
Log didn't show any clue and event showed type:physical and value:moving,

1 Like

After I changed MOES Window Pusher's driver to Zemismart Zigbee Blind, I got following:

Controller Type: ZGB

Data

  • endpointId: 01
  • application: 4D
  • inClusters: 0000,0003,0001,0500,EF00
  • manufacturer: _TZ3210_5rta89nj
  • model: TS0601
  • outClusters: 000A,0019
  • softwareBuild:

Unfortunately not working.

type:physical means that the movement was initialized from the device (not as a result of the driver command). Maybe accidental push on the remote?

BTW, was this device working stable when using the Matter Bridge?

No, it will not work with the old driver - the commands / DataPoints of this pusher are different than anything supported in that driver. I hope that later this evening will be able to publish the first alpha version of the new driver.

Yes, working very well with Matter Bridge.
Thank you for your help.
I will look forward to the new driver.

1 Like

Thanks very much for that. Impressively quiet, and looks like it works very well. Appreciate it!

2 Likes

Lets try directly with the Smart Sliding Window Pusher.... Download and manually install the dev. branch version from this link :

https://raw.githubusercontent.com/kkossev/Hubitat/development/Drivers/ZigBee%20Window%20Shade/Zigbee_Window_Shade_lib_included.groovy

Select 'LOAD ALL DEFAULTS' from the drop-down menu and click on the Configure button above:
image

The Tuya pusher should be recognized and initialized automatically, after refreshing the web page you should see this deviceProfile in the State Variables :

WIth the Debug Logging preference enabled, I will need the live logs when the pushed is operated manually (from the buttons on the device).

Please select/copy/paste the live logs as a text. Enclose the long logs into a summary section, using the cog wheel tool in the forum editor.

This is a very early first alpha-version, a lot of things may not work properly, but I will need the debug logs to simulate the device for the next update.

@kwon2288 what settings are available on SmartThings for this device?

1 Like

The Korean-language portion is explained below.

Open and close slowly - It closes completely and stops slowly when it opens.

Manual mode - Pushing the window causes the motor to run in the push direction

motor calibration - motor limit

1 Like

Manally push open

Summary

dev:7092024-07-01 06:53:55.072infoMotion sensor illuminance is 25 lx (delayed)
dev:7092024-07-01 06:53:50.682infoMotion sensor Detected motion
dev:7092024-07-01 06:53:50.605infoMotion sensor humanMotionState is moving
dev:7892024-07-01 06:53:49.569infoSlide Window windowDetection is 1
dev:7892024-07-01 06:53:49.567debugSlide Window standardParseTuyaCluster: command=06 dp_id=4 dp=114 (0x72) fncmd=1 fncmd_len=1 (index=0)
dev:7892024-07-01 06:53:49.564debugSlide Window parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 00187204000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1483, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:06, direction:01, data:[00, 18, 72, 04, 00, 01, 01]] description=catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 00187204000101
dev:7892024-07-01 06:53:48.589infoSlide Window windowShade is open [physical]
dev:7892024-07-01 06:53:48.586debugSlide Window updateWindowShadeStatus: isFinal: true, substituteOpenClose: false, targetPosition: 0, currentPosition: 0, windowShade: closed
dev:7892024-07-01 06:53:48.576infoSlide Window position is 0%
dev:7892024-07-01 06:53:48.573debugSlide Window processCurrentPosition: 0 (was 0)
dev:7892024-07-01 06:53:48.566debugSlide Window stopOperationTimeoutTimer
dev:7892024-07-01 06:53:48.564debugSlide Window customProcessDeviceProfileEvent(position, 0) called
dev:7892024-07-01 06:53:48.560debugSlide Window standardParseTuyaCluster: command=06 dp_id=2 dp=104 (0x68) fncmd=0 fncmd_len=4 (index=0)
dev:7892024-07-01 06:53:48.557debugSlide Window parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 00176802000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1483, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:06, direction:01, data:[00, 17, 68, 02, 00, 04, 00, 00, 00, 00]] description=catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 00176802000400000000
dev:7092024-07-01 06:53:45.103infoMotion sensor illuminance is 11 lx
dev:7892024-07-01 06:53:43.538infoSlide Window control is 1
dev:7892024-07-01 06:53:43.536debugSlide Window standardParseTuyaCluster: command=06 dp_id=4 dp=102 (0x66) fncmd=1 fncmd_len=1 (index=0)
dev:7892024-07-01 06:53:43.533debugSlide Window parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 00166604000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1483, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:06, direction:01, data:[00, 16, 66, 04, 00, 01, 01]] description=catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 00166604000101
dev:7092024-07-01 06:53:42.309infoMotion sensor Motion reset to inactive after 51s
dev:7092024-07-01 06:53:42.238infoMotion sensor humanMotionState is none

1 Like

Manually push close

Summary

dev:7892024-07-01 06:56:22.372infoSlide Window windowDetection is 0

dev:7892024-07-01 06:56:22.369debugSlide Window standardParseTuyaCluster: command=06 dp_id=4 dp=114 (0x72) fncmd=0 fncmd_len=1 (index=0)

dev:7892024-07-01 06:56:22.367debugSlide Window parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 001C7204000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1483, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:06, direction:01, data:[00, 1C, 72, 04, 00, 01, 00]] description=catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 001C7204000100

dev:7892024-07-01 06:56:21.395infoSlide Window windowShade is closed [physical]

dev:7892024-07-01 06:56:21.392debugSlide Window updateWindowShadeStatus: isFinal: true, substituteOpenClose: false, targetPosition: 0, currentPosition: 100, windowShade: open

dev:7892024-07-01 06:56:21.389infoSlide Window position is 100%

dev:7892024-07-01 06:56:21.386debugSlide Window processCurrentPosition: 100 (was 100)

dev:7892024-07-01 06:56:21.378debugSlide Window stopOperationTimeoutTimer

dev:7892024-07-01 06:56:21.376debugSlide Window customProcessDeviceProfileEvent(position, 100) called

dev:7892024-07-01 06:56:21.373debugSlide Window standardParseTuyaCluster: command=06 dp_id=2 dp=104 (0x68) fncmd=100 fncmd_len=4 (index=0)

dev:7892024-07-01 06:56:21.370debugSlide Window parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 001B6802000400000064, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1483, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:06, direction:01, data:[00, 1B, 68, 02, 00, 04, 00, 00, 00, 64]] description=catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 001B6802000400000064

dev:7892024-07-01 06:56:16.229infoSlide Window control is 0

dev:7892024-07-01 06:56:16.226debugSlide Window standardParseTuyaCluster: command=06 dp_id=4 dp=102 (0x66) fncmd=0 fncmd_len=1 (index=0)

dev:7892024-07-01 06:56:16.223debugSlide Window parse: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 001A6604000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1483, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:06, direction:01, data:[00, 1A, 66, 04, 00, 01, 00]] description=catchall: 0104 EF00 01 01 0040 00 1483 01 00 0000 06 01 001A6604000100

1 Like