// Copyright 2023 Brandon Matthews <thenewwazoo@optimaltour.us>
// All rights reserved. GPLv3 License

#ifndef _HOMEKIT_DECL_H
#define _HOMEKIT_DECL_H

#define DEVICE_NAME_SIZE 32
#define SERIAL_NAME_SIZE 18

extern char device_name[DEVICE_NAME_SIZE];
extern char device_name_rfc952[DEVICE_NAME_SIZE];

// Possible values for characteristic CURRENT_DOOR_STATE:
#define HOMEKIT_CHARACTERISTIC_CURRENT_DOOR_STATE_OPEN 0
#define HOMEKIT_CHARACTERISTIC_CURRENT_DOOR_STATE_CLOSED 1
#define HOMEKIT_CHARACTERISTIC_CURRENT_DOOR_STATE_OPENING 2
#define HOMEKIT_CHARACTERISTIC_CURRENT_DOOR_STATE_CLOSING 3
#define HOMEKIT_CHARACTERISTIC_CURRENT_DOOR_STATE_STOPPED 4

#define HOMEKIT_CHARACTERISTIC_TARGET_DOOR_STATE_OPEN 0
#define HOMEKIT_CHARACTERISTIC_TARGET_DOOR_STATE_CLOSED 1

#define HOMEKIT_CHARACTERISTIC_CURRENT_LOCK_STATE_UNSECURED 0
#define HOMEKIT_CHARACTERISTIC_CURRENT_LOCK_STATE_SECURED 1
#define HOMEKIT_CHARACTERISTIC_CURRENT_LOCK_STATE_JAMMED 2
#define HOMEKIT_CHARACTERISTIC_CURRENT_LOCK_STATE_UNKNOWN 3

#define HOMEKIT_CHARACTERISTIC_TARGET_LOCK_STATE_UNSECURED 0
#define HOMEKIT_CHARACTERISTIC_TARGET_LOCK_STATE_SECURED 1

#endif // _HOMEKIT_DECL_H
