Skip to content

Instantly share code, notes, and snippets.

@dcode
Last active December 23, 2021 06:57
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save dcode/44c22760bb6da5768002e8371f88cdd7 to your computer and use it in GitHub Desktop.
Save dcode/44c22760bb6da5768002e8371f88cdd7 to your computer and use it in GitHub Desktop.
Notes about Fanimation BTLE interface
# Fan List
Sitting Area b0:7e:11:fe:5f:73
Patio 78:04:73:18:bf:8b
Living Room 78:04:73:18:ea:20
# primary
attr handle 0x0001, end grp handle 0x0009 uuid 539c6813-0ad0-2137-4f79-bf1a11984790
attr handle 0x000a, end grp handle 0x0014 uuid 00001800-0000-1000-8000-00805f9b34fb
attr handle 0x0015, end grp handle 0xffff uuid 0000e000-0000-1000-8000-00805f9b34fb
# characteristics
handle 0x0002, char properties 0x1c, char value handle 0x0003, uuid 539c6813-0ad1-2137-4f79-bf1a11984790
handle 0x0006, char properties 0x1c, char value handle 0x0007, uuid 539c6813-0ad2-2137-4f79-bf1a11984790
handle 0x000b, char properties 0x02, char value handle 0x000c, uuid 00002a00-0000-1000-8000-00805f9b34fb
handle 0x000d, char properties 0x02, char value handle 0x000e, uuid 00002a01-0000-1000-8000-00805f9b34fb
handle 0x000f, char properties 0x0a, char value handle 0x0010, uuid 00002a02-0000-1000-8000-00805f9b34fb
handle 0x0011, char properties 0x08, char value handle 0x0012, uuid 00002a03-0000-1000-8000-00805f9b34fb
handle 0x0013, char properties 0x02, char value handle 0x0014, uuid 00002a04-0000-1000-8000-00805f9b34fb
handle 0x0016, char properties 0x08, char value handle 0x0017, uuid 0000e001-0000-1000-8000-00805f9b34fb
handle 0x0019, char properties 0x10, char value handle 0x001a, uuid 0000e002-0000-1000-8000-00805f9b34fb
# Set fan to 0
char-write-req 0x0017 533100000064000002ea
53 - start command constant
31 - command_type
00 - Set designated speed value 00-1f
00 - Fan Direction
00 - uplight intensity
64 - downlight intensity
00 - minremaininglowbyte
00 - minremaining high byte
02 - fan type
ea - checksum. Add all bytes and xor with 0xFF
# Read fan settings?
char-write-req 0x0017 53300000000000000083
Notification handle = 0x001a value 53 32 0a 00 00 64 00 00 02 f5
53 32 0d 00 00 00 00 00 02 94
bArr[0] = start; // 0x53
bArr[1] = this.mCommandType; //
bArr[2] = this.mFanSpeed;
bArr[3] = this.mFanDirection;
bArr[4] = this.mUplightIntensity;
bArr[5] = this.mDownlightIntensity;
bArr[6] = this.mMinRemainingLowByte;
bArr[7] = this.mMinRemainingHighByte;
bArr[8] = this.mFanType;
bArr[9] = computeChecksum(bArr);
# SPEED 0
00020A058813A9130103CB6D00
# SPEED 11
SERVICE 6A4E2401-667B-11E3-949A-0800200C9A66
UUID 6A4ECD28-667B-11E3-949A-0800200C9A66
Value 0x00020C058813AB1301010103772000
Service 6A4E8022-667B-11E3-949A-0800200C9A66
UUID 6A4E2803-667B-11E3-949A-0800200C9A66
Value 0x00D2F743
UUID 6A4E2810-667B-11E3-949A-0800200C9A66
Value 0xF00087
UUID 6A4E2811-667B-11E3-949A-0800200C9A66
Value 0xF20010
UUID 6A4E2812-667B-11E3-949A-0800200C9A66
Value 0xEA0000
# SPEED 31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment