Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could you help me trying to get the motor working with tasmota? #3

Open
balu- opened this issue Mar 16, 2021 · 1 comment
Open

Could you help me trying to get the motor working with tasmota? #3

balu- opened this issue Mar 16, 2021 · 1 comment

Comments

@balu-
Copy link

balu- commented Mar 16, 2021

Hi there,

I've got the Aqara curtain motor and I'm quite happy with it. The only down side of it seems to be that it sometimes messes with my zigbee mash. Sometimes it gets unresponsible and makes zigbee devices around it also unresponsible. Luckyly i stumbled upon your repository and got the idee that i could replace the zigbee module with an esp.

My existing devices are controlled via zigbee respectively mqtt (tasmota) so unfortunately no homekit. Therefor I was wondering if I clould get the curtain working with mqtt/tasmota.
Tasmota enables a Serial Bridge mode with 9600 Baud & 8N1 (https://tasmota.github.io/docs/Commands/#serial-bridge) which should build the precondition to get things working.
Or do you think otherwise / see preconditions that aren't met?

My thinking is not to have the controlling logic in the esp itself rather then to use the esp only as bridge and have the logic in some remote script that sends the via mqtt the bytes that the esp transmits.

The main thing that I'm missing to do that is an understanding of which bytes need to be send via serial to create which action respectivly which bytes are sent over serial to report which state.
I tried to read and understand the main.c file, unfortunatelly my C skills are a bit rusty.
So could you maybe help me with that?

Am I right in the assumptions that sending:
0x03,0x01,0xb9,0x24 (_open) lets the curtain (complety?) open,
0x03,0x02,0xf9,0x25 (_close) lets the curtain (complety?) close,
0x03,0x03,0x38,0xe5 (_pause) lets the curtain stop (pause) in its current position
0x55,0xfe,0xfe,0x03,0x04,0x00(setpos) moves to position (where the last byte is the position (0-255) [I don't get the whole crc calculation part in the method target_set because i don't see where _setpos is used]

Is that correct so far?

@HomeACcessoryKid
Copy link
Owner

I know it is going to be cryptic enough, but look at the wiki article

Be aware that parsing the responses is just as important in making this work, and they made the encoding that is not parsable with 100% closed logic... hence the character by character approach

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants