zigbee-herdsman-converters
Version:
Collection of device converters to be used with zigbee-herdsman
45 lines • 1.89 kB
TypeScript
/**
* Unix timestamp in seconds for `2000-01-01T00:00:00Z`.
* Sonoff irrigation devices encode local datetimes relative to this base.
*/
export declare const YEAR_2000_IN_UTC: number;
/**
* Convert Unix UTC seconds to device local-time seconds (2000 base).
*/
export declare const utcToDeviceLocal2000Seconds: (utcSeconds: number, offsetSeconds: number) => number;
/**
* Convert device local-time seconds (2000 base) back to Unix UTC seconds.
*/
export declare const deviceLocal2000ToUTCSeconds: (deviceSeconds: number, offsetSeconds: number) => number;
/**
* Parse ISO 8601 datetime (must include `Z` or `±HH:mm`) to Unix UTC seconds.
* Returns `undefined` when format is invalid or parsed value is negative.
*/
export declare const parseIsoWithOffsetToUtcSeconds: (value: string) => number | undefined;
/**
* Get runtime local timezone offset in seconds for the specified UTC timestamp.
*/
export declare const getRuntimeLocalOffsetSeconds: (utcSeconds: number) => number;
/**
* Format Unix UTC seconds to ISO 8601 with the specified timezone offset.
* Falls back to the runtime local timezone offset when not provided.
*/
export declare const formatUtcSecondsToIsoWithOffset: (utcSeconds: number, offsetSeconds?: number) => string;
/**
* Shift UTC seconds by local calendar months under a fixed UTC -> local offset.
*/
export declare const shiftUtcSecondsByOffsetMonths: (utcSeconds: number, monthDelta: number, offsetSeconds?: number) => number;
/**
* Parsed view of a raw SWV-ZN/ZF ZCL frame.
*/
type ParsedSWVZFRawZclCommand = {
commandId: number;
payload: Buffer;
};
/**
* Extract the ZCL command id and payload from a raw SWV-ZN/ZF frame.
* Handles both standard and manufacturer-specific headers.
*/
export declare const parseSWVZFRawZclCommand: (buffer: Buffer) => ParsedSWVZFRawZclCommand | undefined;
export {};
//# sourceMappingURL=sonoff.d.ts.map