vastra-radiator-valve
Version:
Node.js library to query and configure Vastra's smart radiator valves.
39 lines (35 loc) • 1.53 kB
text/typescript
/**
* Position of a field stored in valve's state buffer in [offset, length] format.
*/
export type StateFieldBufferPosition = [number, number];
/**
* Specifies the method used to encode/decode a field stored in valve's state buffer.
*/
export type StateFieldEncodingMethod =
| "direct"
| "battery-voltage"
| "byte-to-float-01"
| "byte-to-float-05"
| "short-to-float-01"
| "string"
| "hex-string";
/**
* Position and encoding method of a field stored in valve's state buffer.
*/
export type StateFieldInfo<T> = [StateFieldBufferPosition, StateFieldEncodingMethod];
export const FIELD_LOCKED: StateFieldInfo<number> = [[5, 1], "direct"];
export const FIELD_MODE: StateFieldInfo<number> = [[6, 1], "direct"];
export const FIELD_BATTERY_VOLTAGE: StateFieldInfo<number> = [[10, 1], "battery-voltage"];
export const FIELD_CURRENT_TEMPERATURE: StateFieldInfo<number> = [[11, 2], "short-to-float-01"];
export const FIELD_TEMPERATURE_DEVIATION: StateFieldInfo<number> = [[13, 1], "byte-to-float-01"];
export const FIELD_TARGET_TEMPERATURE_SAVING: StateFieldInfo<number> = [
[15, 1],
"byte-to-float-05",
];
export const FIELD_TARGET_TEMPERATURE_AUTO: StateFieldInfo<number> = [[16, 1], "byte-to-float-05"];
export const FIELD_TARGET_TEMPERATURE_MANUAL: StateFieldInfo<number> = [
[17, 1],
"byte-to-float-05",
];
export const FIELD_NAME: StateFieldInfo<string> = [[176, 64], "string"];
export const FIELD_SERIAL_NUMBER: StateFieldInfo<string> = [[154, 12], "hex-string"];