homebridge-http-motion-sensor
Version:
Homebridge plugin for a remote motion sensor based on http
151 lines (150 loc) • 4.41 kB
TypeScript
import { z } from 'zod';
export declare const repeaterEntrySchema: z.ZodObject<{
host: z.ZodString;
port: z.ZodNumber;
path: z.ZodString;
auth: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
port: number;
path: string;
host: string;
auth?: string | undefined;
}, {
port: number;
path: string;
host: string;
auth?: string | undefined;
}>;
export declare const sensorConfigSchema: z.ZodObject<{
name: z.ZodString;
port: z.ZodNumber;
model: z.ZodOptional<z.ZodString>;
serial: z.ZodOptional<z.ZodString>;
bind_ip: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"0.0.0.0">]>;
repeater: z.ZodOptional<z.ZodArray<z.ZodObject<{
host: z.ZodString;
port: z.ZodNumber;
path: z.ZodString;
auth: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
port: number;
path: string;
host: string;
auth?: string | undefined;
}, {
port: number;
path: string;
host: string;
auth?: string | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
name: string;
port: number;
model?: string | undefined;
serial?: string | undefined;
bind_ip?: string | undefined;
repeater?: {
port: number;
path: string;
host: string;
auth?: string | undefined;
}[] | undefined;
}, {
name: string;
port: number;
model?: string | undefined;
serial?: string | undefined;
bind_ip?: string | undefined;
repeater?: {
port: number;
path: string;
host: string;
auth?: string | undefined;
}[] | undefined;
}>;
export declare const platformConfigSchema: z.ZodObject<{
name: z.ZodString;
platform: z.ZodLiteral<"HttpMotionSensorPlatform">;
sensors: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
port: z.ZodNumber;
model: z.ZodOptional<z.ZodString>;
serial: z.ZodOptional<z.ZodString>;
bind_ip: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"0.0.0.0">]>;
repeater: z.ZodOptional<z.ZodArray<z.ZodObject<{
host: z.ZodString;
port: z.ZodNumber;
path: z.ZodString;
auth: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
port: number;
path: string;
host: string;
auth?: string | undefined;
}, {
port: number;
path: string;
host: string;
auth?: string | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
name: string;
port: number;
model?: string | undefined;
serial?: string | undefined;
bind_ip?: string | undefined;
repeater?: {
port: number;
path: string;
host: string;
auth?: string | undefined;
}[] | undefined;
}, {
name: string;
port: number;
model?: string | undefined;
serial?: string | undefined;
bind_ip?: string | undefined;
repeater?: {
port: number;
path: string;
host: string;
auth?: string | undefined;
}[] | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
name: string;
platform: "HttpMotionSensorPlatform";
sensors?: {
name: string;
port: number;
model?: string | undefined;
serial?: string | undefined;
bind_ip?: string | undefined;
repeater?: {
port: number;
path: string;
host: string;
auth?: string | undefined;
}[] | undefined;
}[] | undefined;
}, {
name: string;
platform: "HttpMotionSensorPlatform";
sensors?: {
name: string;
port: number;
model?: string | undefined;
serial?: string | undefined;
bind_ip?: string | undefined;
repeater?: {
port: number;
path: string;
host: string;
auth?: string | undefined;
}[] | undefined;
}[] | undefined;
}>;
export type HomebridgeHttpMotionSensorRepeaterEntry = z.infer<typeof repeaterEntrySchema>;
export type HomebridgeHttpMotionSensorConfig = z.infer<typeof sensorConfigSchema>;
export type HttpMotionSensorPlatformConfig = z.infer<typeof platformConfigSchema>;