/**************************************************************************************************
* hoobs-sdk *
* Copyright (C) 2020 HOOBS *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see . *
**************************************************************************************************/
import { BridgeRecord } from "./bridges";
export interface ZigbeeToMQTTConfig {
mqtt: MqttConfiguration;
log?: LogConfiguration;
defaults?: BaseDeviceConfiguration;
experimental?: string[];
devices?: DeviceConfiguration[];
exclude_grouped_devices?: boolean;
}
interface LogConfiguration extends Record {
debug_as_info?: boolean;
mqtt_publish?: string;
}
interface MqttConfiguration extends Record {
base_topic: string;
server: string;
ca?: string;
key?: string;
cert?: string;
user?: string;
password?: string;
client_id?: string;
reject_unauthorized?: boolean;
keepalive?: number;
version?: number;
disable_qos?: boolean;
}
interface BaseDeviceConfiguration extends Record {
exclude?: boolean;
excluded_keys?: string[];
excluded_endpoints?: string[];
values?: PropertyValueConfiguration[];
converters?: unknown;
experimental?: string[];
ignore_availability?: boolean;
ignore_z2m_online?: boolean;
}
interface DeviceConfiguration extends BaseDeviceConfiguration {
id: string;
included_keys?: string[];
exposes?: ExposesEntry[];
}
interface PropertyValueConfiguration extends Record {
property: string;
include?: string[];
exclude?: string[];
}
interface ExposesEntry {
type: string;
name?: string;
endpoint?: string;
access?: number;
property?: string;
unit?: string;
values?: string[];
value_off?: MqttValue;
value_on?: MqttValue;
value_step?: number;
value_min?: number;
value_max?: number;
}
declare type MqttValue = string | boolean | number;
export default function Bridge(name: string): Promise;
export {};
//# sourceMappingURL=bridge.d.ts.map