UNPKG

@tantchen/fritzapi

Version:

Home automation node API for Fritz!Box, Fritz!DECT and FRITZ!Powerline devices

245 lines (244 loc) 5.1 kB
export type ITemp = number | 'on' | 'off'; export type IState = 0 | 1 | 2 | 'on' | 'off' | 'toggle'; export type IBase<T> = () => Promise<T>; export type IExt<T> = (ain: string) => Promise<T>; export interface ReqOption { method: 'POST' | 'GET'; form: any; } export interface HueColor { hue: number; sat: number[]; val: number[]; } type BadString = string | {}; export declare function isAVMSwitch(device: AVMDevice): device is AVMDeviceSwitch; export interface AVMDeviceSwitch extends AVMDevice { battery: string; batterylow: string; temperature: { celsius: string; offset: string; }; humidity?: { rel_humidity: string; }; button: { identifier: string; id: string; name: string; lastpressedtimestamp: BadString; }[]; } export declare function isAVMBulb(device: AVMDevice): device is AVMDeviceBulb; export interface AVMDeviceBulb extends AVMDevice { simpleonoff: { state: '0' | '1'; }; levelcontrol: { level: string; levelpercentage: string; }; colorcontrol: { supported_modes: string; current_mode: string; fullcolorsupport: string; mapped: string; hue: BadString; saturation: BadString; unmapped_hue: BadString; unmapped_saturation: BadString; temperature: BadString; }; etsiunitinfo: { etsideviceid: string; unittype: string; interfaces: string; }; } export interface AVMDeviceOpt { fwversion?: string; manufacturer?: string; productname?: string; id: string; name: string; present: string; txbusy: string; } export interface AVMDevice extends AVMDeviceOpt { functionbitmask: string; identifier: string; presence?: unknown; hkr?: any; battery?: unknown; } export interface Hide { ipv6: boolean; liveTv: boolean; faxSet: boolean; dectRdio: boolean; dectMoniEx: boolean; rss: boolean; mobile: boolean; dectMail: boolean; shareUsb: boolean; ssoSet: boolean; liveImg: boolean; } export interface Fritzos { Productname: string; NoPwd: boolean; ShowDefaults: boolean; expert_mode: string; fb_name: string; nspver: string; isLabor: boolean; twofactor_disabled: boolean; FirmwareSigned: boolean; showUpdate: boolean; isUpdateAvail: boolean; energy: string; boxDate: string; } export interface Docsis { txt: string; led: string; title: string; up: string; down: string; link: string; } export interface Call { number: string; link: string; date: string; duration: string; addible: boolean; classes: string; name: string; display: string; fonname: string; unknown: boolean; time: string; } export interface Foncalls { calls: Call[]; callsToday: string; count_all: number; activecalls: string; count_today: number; } export interface Vpn { elements: any[]; title: string; link: string; } export interface Internet { txt: string[]; led: string; title: string; up: string; link2: string; down: string; link: string; } export interface Func { linktxt: string; details: string; link: string; } export interface Comfort { func: Func[]; anyComfort: boolean; } export interface Changelog { deviceName: string; fritzOsVersion: string; connectionStatus: boolean; productName: string; iframeUrl: string; } export interface Tamcalls { calls: string; tam_configured: boolean; count: number; callsToday: string; } export interface Lan { txt: string; led: string; title: string; link: string; } export interface Usb { txt: string; led: string; title: string; link: string; } export interface Fonnum { txt: string; led: string; title: string; link: string; } export interface Device { classes: string; type: string; name: string; url: string; realtimeprio: boolean; } export interface Net { anyUnmeshedDevices: boolean; count: number; more_link: string; active_count: number; devices: Device[]; otherAVMUpdates: number; } export interface Dect { txt: string; led: string; title: string; link: string; } export interface Wlan { txt: string; led: string; title: string; link: string; tooltip: string; } export interface Data { naslink: string; fritzos: Fritzos; webdav: string; MANUAL_URL: string; docsis: Docsis; language: string; AVM_URL: string; usbconnect: string; foncalls: Foncalls; vpn: Vpn; internet: Internet; SERVICEPORTAL_URL: string; comfort: Comfort; changelog: Changelog; tamcalls: Tamcalls; lan: Lan; usb: Usb; fonnum: Fonnum; NEWSLETTER_URL: string; net: Net; dect: Dect; wlan: Wlan; } export interface OSInfo { pid: string; hide: Hide; time: any[]; data: Data; sid: string; } export {};