UNPKG

homebridge-logo-platform

Version:
864 lines (842 loc) 30.4 kB
{ "pluginAlias": "LogoPlatform", "pluginType": "platform", "singular": false, "schema": { "type": "object", "properties": { "name": { "title": "Name", "type": "string", "required": true, "default": "LOGO 1" }, "interface": { "title": "Interface for communication, default is: modbus.", "type": "string", "default": "modbus", "oneOf": [ { "title": "Modbus", "enum": ["modbus"] }, { "title": "Snap7", "enum": ["snap7"] } ] }, "ip": { "title": "IP Address", "type": "string", "required": true, "default": "10.0.0.100", "format": "ipv4" }, "port": { "title": "ModBus Port", "type": "number", "placeholder": "502", "description": "Only required for ModBus interface." }, "logoType": { "title": "Must be set to the Type of your LOGO!", "type": "string", "default": "switch", "oneOf": [ { "title": "0BA7 [0BA7.Standard]", "enum": ["0BA7"] }, { "title": "0BA8 [LOGO! 8 (0BA8.Standard)]", "enum": ["0BA8"] }, { "title": "0BA0 [LOGO! 8.1 & 8.2 (LOGO! 8.FS4)]", "enum": ["0BA0"] }, { "title": "0BA1 [LOGO! 8.3]", "enum": ["0BA1"] } ], "description": "Only required for Snap7 interface." }, "localTSAP": { "title": "Must be set to the local TSAP of your LOGO!, default is: '0x1200'.", "type": "String", "placeholder": "0x1200", "description": "Only required for Snap7 interface." }, "remoteTSAP": { "title": "Must be set to the remote TSAP of your LOGO!, default is: 0x2200'.", "type": "String", "placeholder": "0x2200", "description": "Only required for Snap7 interface." }, "queueInterval": { "title": "Interval to send queries from Plugin to LOGO!, in milliseconds, default is: 100. Range: 100 - 1000", "type": "number", "placeholder": "100" }, "queueSize": { "title": "Number of items to be hold in send/receive queue, default is: 100. Range: 100 - 1000", "type": "number", "placeholder": "100" }, "updateInterval": { "title": "Auto Update Interval in milliseconds, 0 = Off, Range: 0 - ...", "type": "number", "placeholder": "10000" }, "debugMsgLog": { "title": "Debug Msg Log (On / Off), Range: 0 - 1", "type": "number", "placeholder": "0" }, "retryCount": { "title": "Retry count for sending the queries messages, default is: 5, Range: 0 - ...", "type": "number", "placeholder": "5" }, "pushButton": { "title": "If e.g. the network input in the LOGO! a hardware button on the LOGO! simulated, default is: 0. (For all Accessories.), Range: 0 - 1", "type": "number", "placeholder": "0" }, "loggerType": { "title": "Activates Logging, default is: no Logging (none).", "type": "string", "placeholder": "none", "oneOf": [ { "title": "no Logging", "enum": ["none"] }, { "title": "InfluxDB", "enum": ["influxDB"] }, { "title": "Fakegato", "enum": ["fakegato"] } ] }, "loggerInterval": { "title": "Logging Interval in milliseconds, default is: 300000 (5min)", "type": "number", "placeholder": "300000", "description": "Only required for Logging to InfluxDB." }, "influxDBUrl": { "title": "IP-Address and Port for InfluxDB", "type": "string", "placeholder": "http://10.0.0.99:8086", "description": "Only required for Logging to InfluxDB." }, "influxDBToken": { "title": "InfluxDB API token", "type": "string", "placeholder": "API Token", "description": "Only required for Logging to InfluxDB." }, "influxDBOrg": { "title": "InfluxDB organization ID", "type": "string", "placeholder": "Org", "description": "Only required for Logging to InfluxDB." }, "influxDBBucket": { "title": "InfluxDB bucket name", "type": "string", "placeholder": "Bucket", "description": "Only required for Logging to InfluxDB." }, "devices": { "title": "Devices", "type": "object", "required": true, "properties": { "name": { "title": "Name", "type": "string", "required": true, "default": "Accessory 1" }, "type": { "title": "Accessory or Sensor Type", "type": "string", "default": "switch", "oneOf": [ { "title": "Switch", "enum": ["switch"] }, { "title": "Lightbulb", "enum": ["lightbulb"] }, { "title": "Blind", "enum": ["blind"] }, { "title": "Window", "enum": ["window"] }, { "title": "Garage Door Oppener", "enum": ["garagedoor"] }, { "title": "Thermostat", "enum": ["thermostat"] }, { "title": "Irrigation System", "enum": ["irrigationSystem"] }, { "title": "Valve", "enum": ["valve"] }, { "title": "Fan", "enum": ["fan"] }, { "title": "Filter Maintenance", "enum": ["filterMaintenance"] }, { "title": "Outlet", "enum": ["outlet"] }, { "title": "Light Sensor", "enum": ["lightSensor"] }, { "title": "Motion Sensor", "enum": ["motionSensor"] }, { "title": "Contact Sensor", "enum": ["contactSensor"] }, { "title": "Smoke Sensor", "enum": ["smokeSensor"] }, { "title": "Temperature Sensor", "enum": ["temperatureSensor"] }, { "title": "Humidity Sensor", "enum": ["humiditySensor"] }, { "title": "Carbon Dioxide Sensor", "enum": ["carbonDioxideSensor"] }, { "title": "Air Quality Sensor", "enum": ["airQualitySensor"] }, { "title": "Leak Sensor", "enum": ["leakSensor"] }, { "title": "Watchdog", "enum": ["watchdog"] } ], "required": true }, "debugMsgLog": { "title": "Debug Msg Log (On / Off), Range: 0 - 1", "type": "number", "placeholder": "0" }, "pushButton": { "title": "Push Button (On / Off), Range: 0 - 1", "type": "number", "placeholder": "0" }, "logging": { "title": "Activates Logging only for this Accessory, default is: 0, Range: 0 - 1", "type": "number", "placeholder": "0" }, "parentAccessory": { "title": "Parent accessory name, needed to create this accessory as a sub-accessory of an other accessory. Not for Valve, IrrigationSystem and Other", "type": "string", "placeholder": "" }, "switchGet": { "title": "Switch Get (Required)", "type": "string", "placeholder": "Q1", "condition": { "functionBody": "return model.devices.type == 'switch';" } }, "switchSetOn": { "title": "Switch Set On (Required)", "type": "string", "placeholder": "V1.0", "condition": { "functionBody": "return model.devices.type == 'switch';" } }, "switchSetOff": { "title": "Switch Set Off (Required)", "type": "string", "placeholder": "V1.1", "condition": { "functionBody": "return model.devices.type == 'switch';" } }, "lightbulbGet": { "title": "Lightbulb Get (Required)", "type": "string", "placeholder": "Q4", "condition": { "functionBody": "return model.devices.type == 'lightbulb';" } }, "lightbulbSetOn": { "title": "Lightbulb Set On (Required)", "type": "string", "placeholder": "V7.0", "condition": { "functionBody": "return model.devices.type == 'lightbulb';" } }, "lightbulbSetOff": { "title": "Lightbulb Set Off (Required)", "type": "string", "placeholder": "V7.1", "condition": { "functionBody": "return model.devices.type == 'lightbulb';" } }, "lightbulbSetBrightness": { "title": "Lightbulb Set Brightness (Required)", "type": "string", "placeholder": "VW70", "condition": { "functionBody": "return model.devices.type == 'lightbulb';" } }, "lightbulbGetBrightness": { "title": "Lightbulb Get Brightness (Required)", "type": "string", "placeholder": "VW72", "condition": { "functionBody": "return model.devices.type == 'lightbulb';" } }, "blindSetTargetPos": { "title": "Blind Set Target Pos (Required)", "type": "string", "placeholder": "VW26", "condition": { "functionBody": "return model.devices.type == 'blind';" } }, "blindGetTargetPos": { "title": "Blind Get Target Pos (Required)", "type": "string", "placeholder": "VW26", "condition": { "functionBody": "return model.devices.type == 'blind';" } }, "blindGetPos": { "title": "Blind Get Pos (Required)", "type": "string", "placeholder": "VW28", "condition": { "functionBody": "return model.devices.type == 'blind';" } }, "blindGetState": { "title": "Blind Get State (Required)", "type": "string", "placeholder": "VW30", "condition": { "functionBody": "return model.devices.type == 'blind';" } }, "blindConvertValue": { "title": "Blind Convert Value (Not Required)", "type": "number", "placeholder": "0", "condition": { "functionBody": "return model.devices.type == 'blind';" } }, "windowSetTargetPos": { "title": "Window Set Target Pos (Required)", "type": "string", "placeholder": "VW32", "condition": { "functionBody": "return model.devices.type == 'window';" } }, "windowGetTargetPos": { "title": "Window Get Target Pos (Required)", "type": "string", "placeholder": "VW34", "condition": { "functionBody": "return model.devices.type == 'window';" } }, "windowGetPos": { "title": "Window Get Pos (Required)", "type": "string", "placeholder": "VW34", "condition": { "functionBody": "return model.devices.type == 'window';" } }, "windowGetState": { "title": "Window Get State (Required)", "type": "string", "placeholder": "VW36", "condition": { "functionBody": "return model.devices.type == 'window';" } }, "windowConvertValue": { "title": "Window Convert Value (Not Required)", "type": "number", "placeholder": "0", "condition": { "functionBody": "return model.devices.type == 'window';" } }, "garagedoorGetState": { "title": "Garagedoor Get State (Required)", "type": "string", "placeholder": "VW40", "condition": { "functionBody": "return model.devices.type == 'garagedoor';" } }, "garagedoorGetTargetState": { "title": "Garagedoor Get Target State (Required)", "type": "string", "placeholder": "VW40", "condition": { "functionBody": "return model.devices.type == 'garagedoor';" } }, "garagedoorSetTargetState": { "title": "Garagedoor Set Target State (Required)", "type": "string", "placeholder": "VW38", "condition": { "functionBody": "return model.devices.type == 'garagedoor';" } }, "garagedoorObstruction": { "title": "Garagedoor Obstruction (Not Required)", "type": "string", "placeholder": "V3.0", "condition": { "functionBody": "return model.devices.type == 'garagedoor';" } }, "thermostatGetHCState": { "title": "Thermostat Get HC State (Required)", "type": "string", "placeholder": "VW42", "condition": { "functionBody": "return model.devices.type == 'thermostat';" } }, "thermostatGetTargetHCState": { "title": "Thermostat Get Target HC State (Required)", "type": "string", "placeholder": "VW44", "condition": { "functionBody": "return model.devices.type == 'thermostat';" } }, "thermostatSetTargetHCState": { "title": "Thermostat Set Target HC State (Required)", "type": "string", "placeholder": "VW46", "condition": { "functionBody": "return model.devices.type == 'thermostat';" } }, "thermostatGetTemp": { "title": "Thermostat Get Temp (Required)", "type": "string", "placeholder": "VW48", "condition": { "functionBody": "return model.devices.type == 'thermostat';" } }, "thermostatGetTargetTemp": { "title": "Thermostat Get Target Temp (Required)", "type": "string", "placeholder": "VW50", "condition": { "functionBody": "return model.devices.type == 'thermostat';" } }, "thermostatSetTargetTemp": { "title": "Thermostat Set Target Temp (Required)", "type": "string", "placeholder": "VW52", "condition": { "functionBody": "return model.devices.type == 'thermostat';" } }, "thermostatTempDisplayUnits": { "title": "Thermostat Temp Display Units (Required)", "type": "number", "placeholder": "0", "condition": { "functionBody": "return model.devices.type == 'thermostat';" } }, "thermostatConvertValue": { "title": "Thermostat Convert Value (Not Required)", "type": "number", "placeholder": "0", "condition": { "functionBody": "return model.devices.type == 'thermostat';" } }, "irrigationSystemGetActive": { "title": "Irrigation System Get Active (Required)", "type": "string", "placeholder": "V4.0", "condition": { "functionBody": "return model.devices.type == 'irrigationSystem';" } }, "irrigationSystemSetActiveOn": { "title": "Irrigation System Set Active On (Required)", "type": "string", "placeholder": "V4.1", "condition": { "functionBody": "return model.devices.type == 'irrigationSystem';" } }, "irrigationSystemSetActiveOff": { "title": "Irrigation System Set Active Off (Required)", "type": "string", "placeholder": "V4.2", "condition": { "functionBody": "return model.devices.type == 'irrigationSystem';" } }, "irrigationSystemGetProgramMode": { "title": "Irrigation System Get Program Mode (Required)", "type": "string", "placeholder": "VW54", "condition": { "functionBody": "return model.devices.type == 'irrigationSystem';" } }, "irrigationSystemGetInUse": { "title": "Irrigation System Get InUse (Required)", "type": "string", "placeholder": "V4.3", "condition": { "functionBody": "return model.devices.type == 'irrigationSystem';" } }, "irrigationSystemGetRemainingDuration": { "title": "Irrigation System Get RemainingDuration (Not Required)", "type": "string", "placeholder": "VW56", "condition": { "functionBody": "return model.devices.type == 'irrigationSystem';" } }, "irrigationSystemGetWaterLevel": { "title": "Irrigation System Get WaterLevel (Not Required)", "type": "string", "placeholder": "VW58", "condition": { "functionBody": "return model.devices.type == 'irrigationSystem';" } }, "irrigationSystemAutoUpdate": { "title": "Irrigation System Auto Update (Not Required)", "type": "string", "placeholder": "1", "condition": { "functionBody": "return model.devices.type == 'irrigationSystem';" } }, "valveGetActive": { "title": "Valve Get Active (Required)", "type": "string", "placeholder": "V5.0", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveSetActiveOn": { "title": "Valve Set Active On (Required)", "type": "string", "placeholder": "V5.1", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveSetActiveOff": { "title": "Valve Set Active Off (Required)", "type": "string", "placeholder": "V5.2", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveGetInUse": { "title": "Valve Get InUse (Required)", "type": "string", "placeholder": "V5.3", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveType": { "title": "Valve Type (Required)", "type": "number", "placeholder": "0", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveSetDuration": { "title": "Valve Set Duration (Not Required)", "type": "string", "placeholder": "VW56", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveGetDuration": { "title": "Valve Get Duration (Not Required)", "type": "string", "placeholder": "VW56", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveGetRemainingDuration": { "title": "Valve Get Remaining Duration (Not Required)", "type": "string", "placeholder": "VW58", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveSetIsConfiguredOn": { "title": "Valve Set Is Configured On - Enabled (Not Required)", "type": "string", "placeholder": "V5.4", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveSetIsConfiguredOff": { "title": "Valve Set Is Configured Off - Enabled (Not Required)", "type": "string", "placeholder": "V5.4", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveGetIsConfigured": { "title": "Valve Get Is Configured - Enabled (Not Required)", "type": "string", "placeholder": "V5.5", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveParentIrrigationSystem": { "title": "Valve parent Irrigation System accessory (Not Required)", "type": "string", "placeholder": "IrrigationSystem1", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "valveZone": { "title": "Valve zone, needed when valve is part of an Irrigation System accessory (Not Required)", "type": "string", "placeholder": "IrrigationSystem1", "condition": { "functionBody": "return model.devices.type == 'valve';" } }, "fanGet": { "title": "Fan Get (Required)", "type": "string", "placeholder": "V6.0", "condition": { "functionBody": "return model.devices.type == 'fan';" } }, "fanSetOn": { "title": "Fan Set On (Required)", "type": "string", "placeholder": "V6.1", "condition": { "functionBody": "return model.devices.type == 'fan';" } }, "fanSetOff": { "title": "Fan Set Off (Required)", "type": "string", "placeholder": "V6.2", "condition": { "functionBody": "return model.devices.type == 'fan';" } }, "fanGetRotationDirection": { "title": "Fan Get Rotation Direction (Not Required)", "type": "string", "placeholder": "V6.3", "condition": { "functionBody": "return model.devices.type == 'fan';" } }, "fanSetRotationDirectionCW": { "title": "Fan Set Rotation Direction CW (Not Required)", "type": "string", "placeholder": "V6.4", "condition": { "functionBody": "return model.devices.type == 'fan';" } }, "fanSetRotationDirectionCCW": { "title": "Fan Set Rotation Direction CCW (Not Required)", "type": "string", "placeholder": "V6.5", "condition": { "functionBody": "return model.devices.type == 'fan';" } }, "fanGetRotationSpeed": { "title": "Fan Get Rotation Speed (Not Required)", "type": "string", "placeholder": "VW60", "condition": { "functionBody": "return model.devices.type == 'fan';" } }, "fanSetRotationSpeed": { "title": "Fan Set Rotation Speed (Not Required)", "type": "string", "placeholder": "VW62", "condition": { "functionBody": "return model.devices.type == 'fan';" } }, "filterChangeIndication": { "title": "Filter Change Indication (Required)", "type": "string", "placeholder": "V7.0", "condition": { "functionBody": "return model.devices.type == 'filterMaintenance';" } }, "filterLifeLevel": { "title": "Filter Life Level (Not Required)", "type": "string", "placeholder": "VW64", "condition": { "functionBody": "return model.devices.type == 'filterMaintenance';" } }, "filterResetFilterIndication": { "title": "Filter Reset Filter Indication (Not Required)", "type": "string", "placeholder": "V7.1", "condition": { "functionBody": "return model.devices.type == 'filterMaintenance';" } }, "outletGet": { "title": "Outlet Get (Required)", "type": "string", "placeholder": "Q1", "condition": { "functionBody": "return model.devices.type == 'outlet';" } }, "outletSetOn": { "title": "Outlet Set On (Required)", "type": "string", "placeholder": "V1.0", "condition": { "functionBody": "return model.devices.type == 'outlet';" } }, "outletSetOff": { "title": "Outlet Set Off (Required)", "type": "string", "placeholder": "V1.1", "condition": { "functionBody": "return model.devices.type == 'outlet';" } }, "light": { "title": "Light (Required)", "type": "string", "placeholder": "VW66", "condition": { "functionBody": "return model.devices.type == 'lightSensor';" } }, "motion": { "title": "Motion (Required)", "type": "string", "placeholder": "V8.0", "condition": { "functionBody": "return model.devices.type == 'motionSensor';" } }, "contact": { "title": "Contact (Required)", "type": "string", "placeholder": "V8.1", "condition": { "functionBody": "return model.devices.type == 'contactSensor';" } }, "smoke": { "title": "Smoke (Required)", "type": "string", "placeholder": "V8.2", "condition": { "functionBody": "return model.devices.type == 'smokeSensor';" } }, "temperature": { "title": "Temperature (Required)", "type": "string", "placeholder": "VW68", "condition": { "functionBody": "return model.devices.type == 'temperatureSensor';" } }, "humidity": { "title": "Humidity (Required)", "type": "string", "placeholder": "VW70", "condition": { "functionBody": "return model.devices.type == 'humiditySensor';" } }, "convertValue": { "title": "Convert Value (Not Required)", "type": "number", "placeholder": "0", "condition": { "functionBody": "return ((model.devices.type == 'temperatureSensor') || (model.devices.type == 'humiditySensor'));" } }, "carbonDioxide": { "title": "Carbon Dioxide (Required)", "type": "string", "placeholder": "V9.0", "condition": { "functionBody": "return model.devices.type == 'carbonDioxideSensor';" } }, "carbonDioxideLevel": { "title": "Carbon Dioxide Level (Not Required)", "type": "string", "placeholder": "VW72", "condition": { "functionBody": "return model.devices.type == 'carbonDioxideSensor';" } }, "carbonDioxidePeakLevel": { "title": "Carbon Dioxide Peak Level (Not Required)", "type": "string", "placeholder": "VW74", "condition": { "functionBody": "return model.devices.type == 'carbonDioxideSensor';" } }, "airQuality": { "title": "Air Quality (Required)", "type": "string", "placeholder": "V7.0", "condition": { "functionBody": "return model.devices.type == 'airQualitySensor';" } }, "leak": { "title": "Leak (Required)", "type": "string", "placeholder": "V9.1", "condition": { "functionBody": "return model.devices.type == 'leakSensor';" } }, "waterLevel": { "title": "Water Level (Not Required)", "type": "string", "placeholder": "VW78", "condition": { "functionBody": "return model.devices.type == 'leakSensor';" } }, "watchdog": { "title": "Watchdog (Required)", "type": "string", "placeholder": "VW79", "condition": { "functionBody": "return model.devices.type == 'watchdog';" } }, "expectedValue": { "title": "Expected Value (Required)", "type": "string", "placeholder": "1234", "condition": { "functionBody": "return model.devices.type == 'watchdog';" } }, "disconnect": { "title": "Disconnect (Not Required)", "type": "string", "placeholder": "0", "condition": { "functionBody": "return model.devices.type == 'watchdog';" } } } } } } }