homebridge-http-sensors-switches
Version:
This plugin communicates with your devices over HTTP or MQTT. Currently it supports Light Bulb, Switches, Outlets, Fan, Garage Door, Shades / Blinds, Temperature/Humidity, Motion, Contact and Occupancy sensor, Door, Sprinkler, Valve, Air Quality, Smoke, C
64 lines (63 loc) • 1.95 kB
TypeScript
import { PlatformAccessory, Service } from 'homebridge';
import type { HttpSensorsAndSwitchesHomebridgePlatform } from './platform.js';
import mqtt from 'mqtt';
export declare class platformSwitch {
readonly platform: HttpSensorsAndSwitchesHomebridgePlatform;
readonly accessory: PlatformAccessory;
service: Service;
mqttClient: mqtt.MqttClient;
private sharedPollingInstance?;
private isReachable;
enableLogging: boolean;
ignoreHttpsCertErrors: boolean;
trustedCert?: string;
sharedPolling: boolean;
sharedPollingId: string;
sharedPollingInterval: number;
deviceId: string;
deviceType: string;
deviceName: string;
deviceManufacturer: string;
deviceModel: string;
deviceSerialNumber: string;
deviceFirmwareVersion: string;
urlON: string;
urlOFF: string;
url: string;
urlStatus: string;
statusStateParam: string;
statusOnCheck: string;
statusOffCheck: string;
mqttReconnectInterval: string;
mqttBroker: string;
mqttPort: string;
mqttSwitch: string;
mqttUsername: string;
mqttPassword: string;
discordWebhook: string;
discordUsername: string;
discordAvatar: string;
discordMessage: string;
switchStates: {
On: boolean;
};
private individualPollingInterval?;
private httpsAgentManager;
constructor(platform: HttpSensorsAndSwitchesHomebridgePlatform, accessory: PlatformAccessory);
private initializeAccessory;
private wrapGetHandler;
private wrapSetHandler;
private updateSwitchState;
private updateSwitchStatusFromSharedData;
private startIndividualPolling;
private processSwitchGetData;
private cleanup;
/**
* Handles "SET" requests from HomeKit.
* This method is triggered when the user changes the state of a switch.
*/
private setOn;
private initMQTT;
private publishMQTTmessage;
private initDiscordWebhooks;
}