Qmotion Blinds with Qsync

Hi Everyone

I’m looking for a way to integrate Qmotion blinds with Qsync into my Vera Edge but there are no existing apps/plugins :frowning:

I’ve come across a working Node JS client to control Qmotion blinds with a Qsync. It works but it’s not perfect - in that it it needs to be killed and restarted for each command to a different blind (or group)… on my MacBook it is able to communicate with the Qsync over Wifi and return the list of blinds which you can chose one to then select its position and the blind moves.
This is the code on GitHub - GitHub - devbobo/qmotion: JS library for QMotion blinds

I’m not really a developer and don’t know either javascript or lua and I only got my first Vera this week. So its all very new to me and I’m not sure where to begin trying to convert it from javascript to lua but I thought I’d reach out and see if anyone had any suggestions on where to begin?

Thanks in advance :slight_smile:

[quote=“drewfunk, post:1, topic:193817”]Hi Everyone

I’m looking for a way to integrate Qmotion blinds with Qsync into my Vera Edge but there are no existing apps/plugins :([/quote]

Did Qmotion publish an API for the latest QSync? I assume you have “3rd generation” shades?

I have a working function for “2nd generation” shades + a QConnect… If you have 2nd generation shades and a 2nd generation QSync, then I don’t think they ever published an API for that QSync as 2nd generation integration was intended to use a Qconnect. Qmotion indicated they published an API for the 3rd generation QSync since they eliminated/did not create a 3rd generation Qconnect.

Could you share the plugin with me as I also have a qconnect with 2nd generation blinds. How do you connect the qconnect to vera?

I did it with a iTach IP2SL and some Lua, which I detailed in this thread: http://forum.micasaverde.com/index.php/topic,22695.0.html

My final version is in the PLEG status report attached to this post: http://forum.micasaverde.com/index.php/topic,22695.msg281756.html#msg281756

If you want to see the basic form of the Lua - see page 2 of that thread. Note you have to make a custom cable as outlined in the QConnect manual, but it really isn’t hard to do. Feel free to PM me any questions!

Im helping my friend set up some home automation in his condo. Does anyone know if there is a way to control Somfy blinds with an Echo?

Echo support/skill is coming for the Somfy MyLink WiFi to RTS interface. Or you can get the shades controllable through Vera and then use Vera’s Beta Skill for Alexa or us the HABridge to connect to Vera.

BTW, 2nd generation shades are 433 mhz AM, while 3rd generation are 433 mhz FM. Each Qsync should be labeled 433-AM or 433-FM…

I still don’t see a published API for the 3rd generation Qsync, but I do see a published Crestron driver specific to the 3rd generation Qsync, so we might be able to reverse engineer…

Right now I have a drapery rod that I can’t interface with anything because it is 3rd generation (while my blinds are all 2nd) and there was no Qsync 3rd generation available when I bought it. But with no published API and the high cost of a QSync, however, I am likely to wait to see if they offer a Zigbee (or ZWave) motor for the drapery rods…

Hoping someone here can help with Qsync. I have the Gen3 shades and theyve been working fine paired with a regular 5-channel remote. Today I got the Qsync unit but the shades dont respond when trying to add them to the app. DO the shades need to be in sort of programming mode before attempting to pair with the Qsync?

Yes. There is a tug process. Pull the manual down from their website. On 2nd gens it is something like put the blind up, then press and hold the up button until it jogs, then tug down roughly 2 inches, and then it will jog again to confirm it is in learning mode…

Sent from my SM-G900V using Tapatalk

So I finally found a QSync Gen 3 on eBay, so I can integrate my QMotion drapery rod (drapery rods have been discontinued). So after finding this link: Imgur: The magic of the Internet, I took my function for the QConnect and updated for QSync. I didn’t hash all the channels, and I think my open/close orientation is probably backwards for the roller shades (right hand draw blind seems to be reverse), but you get the idea:

function MoveQMotionShadesQSync(ParamString)

	local shadeChar,openAmtChar = string.match(ParamString,"(%d+),(%d+)")
	local shadeNum = tonumber(shadeChar)
	local openAmtNum = tonumber(openAmtChar)
	local CommandtoSend


		if openAmtNum == 100 		then CommandtoSend= string.char(0x38,0x02,0x09,0x69) -- Channel 9 Up 100 Open
		elseif openAmtNum == 75 	then CommandtoSend= string.char(0x38,0x02,0x09,0xC0) -- Channel 9 75% Open
		elseif openAmtNum == 50	then CommandtoSend= string.char(0x38,0x02,0x09,0xBF) -- Channel 9 50% Open
		elseif openAmtNum == 25	then CommandtoSend= string.char(0x38,0x02,0x09,0xBE) -- Channel 9 25% Open
		elseif openAmtNum == 0 	then CommandtoSend= string.char(0x38,0x02,0x09,0x6A) -- Channel 9 Down
		end

	if CommandtoSend ~= nil then
		-- Connect and Send Command

		local socket = require("socket")
		host = "192.168.0.152"
		c = assert(socket.connect(host, 9760))
		c:settimeout(5)

		local sres, serr = c:send(CommandtoSend)
		print("Send:", sres, serr)
		local data, rerr = c:receive(5)

		print ("Receive:", data, rerr)

		c:close()
	end
end


MoveQMotionShadesQSync("9,100")