Use a Siemens LOGO! PLC for switch on whatever you want.
Communicate with LOGO! over Snap7 or Modbus.
Type of Accessory:
- Switch
- Lightbulb
- Blind
- Window
- Garage Door
- Thermostat
- Irrigation System
- Valve
- Fan
- Filter Maintenance
- Outlet
Type of Sensor Accessory:
- Light Sensor
- Motion Sensor
- Contact Sensor
- Smoke Sensor
- Temperature Sensor
- Humidity Sensor
- Carbon Dioxide Sensor
- Air Quality Sensor
- Leak Sensor
- Watchdog
Special Functions:
Examples:
- Install homebridge using instruction from: Homebridge WiKi
- Install this plugin in your homebridge
- Update your configuration file with code like the sample below
- Tellicious for:
- Adding logging to the Eve app.
- Integrated valve as sub-accessory of IrrigationSystem.
- His Bugfix to avoid memory leak.
- Davide Nardella for Snap7
- Fabio Riva for Napi-Snap7. And for allowing me to improve his plugin.
- Mathias Küsel for Node-Snap7 (was used until v1.3.8)
- The plugin cannot be configured with the Config UI. (The settings are too complex.)
Name | Value | Required | Notes |
---|---|---|---|
platform |
"LogoPlatform" | yes | Must be set to "LogoPlatform". |
name |
(custom) | yes | Name of platform that will not appear in homekit app. |
interface |
"modbus" or "snap7" | no | Interface for communication, default is: "modbus". |
ip |
"10.0.0.100" | yes | Must be set to the IP of your LOGO!. |
port |
502 | no (ModBus) | Must be set to the Modbus Port of your LOGO!, default is: 502. |
logoType |
"0BA7" or ... | no (Snap7) | Must be set to the Type of your LOGO, default is: "0BA7". |
localTSAP |
"0x1200" | no (Snap7) | Must be set to the local TSAP of your LOGO!, default is: "0x1200". |
remoteTSAP |
"0x2200" | no (Snap7) | Must be set to the remote TSAP of your LOGO!, default is: "0x2200". |
queueInterval |
100 ... 1000 | no | Interval to send queries from Plugin to LOGO!, in milliseconds, default is: 100. |
queueSize |
100 ... 1000 | no | Number of items to be hold in send/receive queue, default is: 100. |
updateInterval |
0 ... ∞ | no | Auto Update Interval in milliseconds, 0 = Off |
debugMsgLog |
0 or 1 | no | Displays messages of all accessories in the log, default is: 0. |
retryCount |
0 ... ∞ | no | Retry count for sending the queries messages, default is: 5. |
pushButton |
0 or 1 | no | If e.g. the network input in the LOGO! a hardware button on the LOGO! simulated, default is: 0. (For all Accessories.) |
loggerType |
"influxDB" or "fakegato" | no | Activates Logging, default is: "none". |
loggerInterval |
300000 | no | Logging Interval in milliseconds, default is: 300000 (5min) |
influxDBUrl |
"http://10.0.0.99:8086" | no (InfluxDB) | IP-Address and Port for InfluxDB |
influxDBToken |
"API Token" | no (InfluxDB) | InfluxDB API token |
influxDBOrg |
"Org" | no (InfluxDB) | InfluxDB organization ID |
influxDBBucket |
"Bucket" | no (InfluxDB) | InfluxDB bucket name |
Name | Value | Required | Notes |
---|---|---|---|
name |
(custom) | yes | Name of accessory that will appear in homekit app. |
type |
"switch" or ... | yes | Type of Accessory: "switch", "lightbulb", "blind", "window", "garagedoor", "thermostat", "irrigationSystem", "valve", "fan", "filterMaintenance", "outlet", "other" or Type of Sensor Accessory: "lightSensor", "motionSensor", "contactSensor", "smokeSensor", "temperatureSensor", "humiditySensor", "carbonDioxideSensor", "airQualitySensor", "watchdog" |
debugMsgLog |
0 or 1 | no | Displays messages of this accessory in the log, default is: 0. |
pushButton |
0 or 1 | no | If e.g. the network input in the LOGO! a hardware button on the LOGO! simulated, default is: 0. (Only for this Accessory.) |
logging |
0 or 1 | no | Activates Logging, default is: 0. (Only for this Accessory.) |
parentAccessory |
(custom) | no | Parent accessory name, needed to create this accessory as a sub-accessory of an other accessory. Not for Valve, IrrigationSystem and Other |
"platforms": [
{
"platform": "LogoPlatform",
"name": "Logo 1",
"ip": "10.0.0.100",
"port": 505,
"updateInterval": 10000,
"debugMsgLog": 1,
"pushButton": 1,
"devices": [
{
"name": "Accessory Name 1",
"type": "...",
...
},
{
"name": "Accessory Name 2",
"type": "...",
...
}
]
},
{
"platform": "LogoPlatform",
"name": "Logo 2",
"interface": "snap7",
"ip": "10.0.0.200",
"logoType": "0BA8",
"localTSAP": "0x4200",
"remoteTSAP": "0x4300",
"updateInterval": 10000,
"debugMsgLog": 1,
"pushButton": 1,
"devices": [
{
"name": "Accessory Name 3",
"type": "...",
...
},
{
"name": "Accessory Name 4",
"type": "...",
...
}
]
}
]
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
switchGet |
"Q1" | yes* | "switch" | Switch Get - Qn, Mn or Vn.n |
switchSetOn |
"V1.0" | yes* | "switch" | Switch Set On - Mn or Vn.n |
switchSetOff |
"V1.1" | yes* | "switch" | Switch Set Off - Mn or Vn.n |
{
"name": "Q1",
"type": "switch",
"switchGet": "Q1",
"switchSetOn": "V1.0",
"switchSetOff": "V1.1"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
lightbulbGet |
"Q4" | yes* | "lightbulb" | lightbulb Get - Qn, Mn or Vn.n |
lightbulbSetOn |
"V7.0" | yes* | "lightbulb" | Lightbulb Set On - Mn or Vn.n |
lightbulbSetOff |
"V7.1" | yes* | "lightbulb" | Lightbulb Set Off - Mn or Vn.n |
lightbulbSetBrightness |
"VW70" | no* | "lightbulb" | Lightbulb Set Brightness - AMn or VWn |
lightbulbGetBrightness |
"VW72" | no* | "lightbulb" | Lightbulb Get Brightness - AMn or VWn |
{
"name": "Q1",
"type": "lightbulb",
"lightbulbGet": "Q1",
"lightbulbSetOn": "V1.0",
"lightbulbSetOff": "V1.1"
},
{
"name": "Q4",
"type": "lightbulb",
"lightbulbGet": "Q4",
"lightbulbSetOn": "V7.0",
"lightbulbSetOff": "V7.1",
"lightbulbSetBrightness": "VW70",
"lightbulbGetBrightness": "VW72"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
blindSetTargetPos |
"VW26" | yes* | "blind" | Blind Set Target Pos - AMn or VWn |
blindGetTargetPos |
"VW28" | yes* | "blind" | Blind Get Target Pos - AMn or VWn |
blindGetPos |
"VW28" | yes* | "blind" | Blind Get Pos - AMn or VWn |
blindGetState |
"VW30" | yes* | "blind" | Blind Get State - AMn or VWn |
blindConvertValue |
0 or 1 | no* | "blind" | Convert LOGO! values in to HomeKit values. |
{
"name": "Item-6",
"type": "blind",
"blindConvertValue": 1,
"blindSetTargetPos": "VW26",
"blindGetTargetPos": "VW28",
"blindGetPos": "VW28",
"blindGetState": "VW30"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
windowSetTargetPos |
"VW32" | yes* | "window" | Window Set Target Pos - AMn or VWn |
windowGetTargetPos |
"VW34" | yes* | "window" | Window Get Target Pos - AMn or VWn |
windowGetPos |
"VW34" | yes* | "window" | Window Get Pos - AMn or VWn |
windowSetState |
"VW36" | yes* | "window" | Window Get State - AMn or VWn |
windowConvertValue |
0 or 1 | no* | "window" | Convert LOGO! values in to HomeKit values. |
{
"name": "Item-7",
"type": "window",
"windowConvertValue": 1,
"windowSetTargetPos": "VW32",
"windowGetTargetPos": "VW34",
"windowGetPos": "VW34",
"windowGetState": "VW36"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
garagedoorGetState |
"VW40" or "M9" | yes* | "garagedoor" | Garagedoor Get State - Analog AMn or VWn (0 = Open; 1 = Closed; 2 = Opening; 3 = Closing; 4 = Stopped) Digital Mn or Vn.n (0 = Closed; 1 = Open) |
garagedoorGetTargetState |
"VW40" or "M9" | yes* | "garagedoor" | Garagedoor Get Target State - Analog AMn or VWn (0 = Open; 1 = Closed) Digital Mn or Vn.n (0 = Closed; 1 = Open) |
garagedoorSetTargetState |
"VW38" | yes* | "garagedoor" | Garagedoor Set Target State - AMn or VWn (0 = Open; 1 = Closed) |
garagedoorObstruction |
"V3.0" | no* | "garagedoor" | Garagedoor Obstruction Detected - Mn, Vn.n |
{
"name": "Item-8",
"type": "garagedoor",
"garagedoorGetState": "VW40",
"garagedoorGetTargetState": "VW40",
"garagedoorSetTargetState": "VW38",
"garagedoorObstruction": "V3.0"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
thermostatGetHCState |
"VW42" | yes* | "thermostat" | Thermostat Get Heating Cooling State - AMn or VWn |
thermostatGetTargetHCState |
"VW44" | yes* | "thermostat" | Thermostat Get Target Heating Cooling State - AMn or VWn |
thermostatSetTargetHCState |
"VW46" | yes* | "thermostat" | Thermostat Set Target Heating Cooling State - AMn or VWn |
thermostatGetTemp |
"VW48" | yes* | "thermostat" | Thermostat Get Temperature - AMn or VWn - Current Temperature in °C (-270°C - 100°C!!) |
thermostatGetTargetTemp |
"VW50" | yes* | "thermostat" | Thermostat Get Target Temperature - AMn or VWn - Current Temperature in °C (10°C - 38°C!!) |
thermostatSetTargetTemp |
"VW52" | yes* | "thermostat" | Thermostat Set Target Temperature - AMn or VWn |
thermostatTempDisplayUnits |
0 or 1 | yes* | "thermostat" | Temperature Display Units - Celsius = 0; Fahrenheit = 1; |
thermostatConvertValue |
0 or 1 | no* | "thermostat" | Convert Int in Float, default is: 0. (235 / 10 == 23.5°C) |
{
"name": "Item-9",
"type": "thermostat",
"thermostatGetHCState": "VW42",
"thermostatGetTargetHCState": "VW44",
"thermostatSetTargetHCState": "VW46",
"thermostatGetTemp": "VW48",
"thermostatGetTargetTemp": "VW50",
"thermostatSetTargetTemp": "VW52",
"thermostatTempDisplayUnits": 0,
"thermostatConvertValue": 1
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
irrigationSystemGetActive |
"V4.0" | yes* | "irrigationSystem" | Irrigation System Get Active - Mn or Vn.n |
irrigationSystemSetActiveOn |
"V4.1" | yes* | "irrigationSystem" | Irrigation System Set Active to On - Mn or Vn.n |
irrigationSystemSetActiveOff |
"V4.2" | yes* | "irrigationSystem" | Irrigation System Set Active to Off - Mn or Vn.n |
irrigationSystemGetProgramMode |
"VW54" | yes* | "irrigationSystem" | Irrigation System Get Program Mode - AMn or VWn - (0 - No Program scheduled; 1 - Program scheduled; 2 - Program scheduled manual Mode) |
irrigationSystemGetInUse |
"V4.3" | yes* | "irrigationSystem" | Irrigation System Get In Use - Mn or Vn.n |
irrigationSystemGetRemainingDuration |
"VW56" | no* | "irrigationSystem" | Irrigation System Get Remaining Duration - AMn or VWn |
irrigationSystemGetWaterLevel |
"VW58" | no* | "irrigationSystem" | Irrigation System Get Water Level % - AMn or VWn |
irrigationSystemAutoUpdate |
1 | no* | "irrigationSystem" | Auto update of Irrigation System based on valves sub-accessories. If set irrigationSystemGetActive and irrigationSystemGetInUse are not necessary and can remain unset |
{
"name": "Item-10",
"type": "irrigationSystem",
"irrigationSystemGetActive": "V4.0",
"irrigationSystemSetActiveOn": "V4.1",
"irrigationSystemSetActiveOff": "V4.2",
"irrigationSystemGetProgramMode": "VW54",
"irrigationSystemGetInUse": "V4.3",
"irrigationSystemGetRemainingDuration": "VW56",
"irrigationSystemGetWaterLevel": "VW58"
}
{
"name": "Item-10",
"type": "irrigationSystem",
"irrigationSystemSetActiveOn": "V4.1",
"irrigationSystemSetActiveOff": "V4.2",
"irrigationSystemGetProgramMode": "VW54",
"irrigationSystemGetRemainingDuration": "VW56",
"irrigationSystemGetWaterLevel": "VW58",
"irrigationSystemAutoUpdate": 1
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
valveGetActive |
"V5.0" | yes* | "valve" | Valve Get Active - Mn or Vn.n |
valveSetActiveOn |
"V5.1" | yes* | "valve" | Valve Set Active to On - Mn or Vn.n |
valveSetActiveOff |
"V5.2" | yes* | "valve" | Valve Set Active to Off - Mn or Vn.n |
valveGetInUse |
"V5.3" | yes* | "valve" | Valve Get In Use - Mn or Vn.n |
valveType |
0 | yes* | "valve" | Valve Type - Generic Valve = 0, Irrigation = 1, Shower Head = 2, Water Faucet = 3. Defaults to 1 when valveParentIrrigationSystem is set |
valveSetDuration |
"VW56" | no* | "valve" | Valve Set Duration - AMn or VWn - Value in Seconds (0 - 3600 sec) |
valveGetDuration |
"VW56" | no* | "valve" | Valve Get Duration - AMn or VWn - Value in Seconds (0 - 3600 sec) |
valveGetRemainingDuration |
"VW58" | no* | "valve" | Valve Get Remaining Duration - AMn or VWn - Value in Seconds (0 - 3600 sec) |
valveSetIsConfiguredOn |
"V5.4" | no* | "valve" | Valve Set Is Configured / Enabled On - Mn or Vn.n |
valveSetIsConfiguredOff |
"V5.5" | no* | "valve" | Valve Set Is Configured / Enabled Off - Mn or Vn.n |
valveGetIsConfigured |
"V5.6" | no* | "valve" | Valve Get Is Configured / Enabled - Mn or Vn.n |
valveParentIrrigationSystem |
"Item-10" | no* | "valve" | Valve parent Irrigation System accessory name, needed to create the valve as a sub-accessory of an Irrigation System |
valveZone |
1 | no* | "valve" | Valve zone, needed when valve is part of an Irrigation System accessory |
- Item-11-A: Valve as child from a Irrigation System (Item-10)
- Item-11-B: Valve without
IsConfigured
characteristic - Item-11-C: Valve with
IsConfigured
characteristic - Item-11-D: Valve as minimum without
SetDuration
andIsConfigured
{
"name": "Item-11-A",
"type": "valve",
"valveGetActive": "V5.0",
"valveSetActiveOn": "V5.1",
"valveSetActiveOff": "V5.2",
"valveGetInUse": "V5.3",
"valveType": 1,
"valveSetDuration": "VW56",
"valveGetDuration": "VW56",
"valveGetRemainingDuration": "VW58",
"valveParentIrrigationSystem": "Item-10",
"valveZone": 1
}
{
"name": "Item-11-B",
"type": "valve",
"valveGetActive": "V5.0",
"valveSetActiveOn": "V5.1",
"valveSetActiveOff": "V5.2",
"valveGetInUse": "V5.3",
"valveType": 1,
"valveSetDuration": "VW56",
"valveGetDuration": "VW56",
"valveGetRemainingDuration": "VW58"
}
{
"name": "Item-11-C",
"type": "valve",
"valveGetActive": "V5.0",
"valveSetActiveOn": "V5.1",
"valveSetActiveOff": "V5.2",
"valveGetInUse": "V5.3",
"valveType": 1,
"valveSetDuration": "VW56",
"valveGetDuration": "VW56",
"valveGetRemainingDuration": "VW58",
"valveSetIsConfiguredOn": "V5.4",
"valveSetIsConfiguredOff": "V5.5",
"valveGetIsConfigured": "V5.6"
}
{
"name": "Item-11-D",
"type": "valve",
"valveGetActive": "V5.3",
"valveSetActiveOn": "V5.1",
"valveSetActiveOff": "V5.1",
"valveGetInUse": "V5.3",
"valveType": 1,
"pushButton": 0
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
fanGet |
"V6.0" | yes* | "fan" | Fan Get - Mn or Vn.n |
fanSetOn |
"V6.1" | yes* | "fan" | Fan Set On - Mn or Vn.n |
fanSetOff |
"V6.2" | yes* | "fan" | Fan Set Off - Mn or Vn.n |
fanGetRotationDirection |
"V6.3" | no* | "fan" | Fan Get Rotation Direction - Mn or Vn.n |
fanSetRotationDirectionCW |
"V6.4" | no* | "fan" | Fan Set Rotation Direction to Clockwise - Mn or Vn.n |
fanSetRotationDirectionCCW |
"V6.5" | no* | "fan" | Fan Set Rotation Direction to Counter Clockwise - Mn or Vn.n |
fanGetRotationSpeed |
"VW60" | no* | "fan" | Fan Get Rotation Speed - AMn or VWn |
fanSetRotationSpeed |
"VW62" | no* | "fan" | Fan Set Rotation Speed - AMn or VWn |
{
"name": "Item-12",
"type": "fan",
"fanGet": "V6.0",
"fanSetOn": "V6.1",
"fanSetOff": "V6.2",
"fanGetRotationDirection": "V6.3",
"fanSetRotationDirectionCW": "V6.4",
"fanSetRotationDirectionCCW": "V6.5",
"fanGetRotationSpeed": "VW60",
"fanSetRotationSpeed": "VW62"
}
The Home-App only supports this accessory as an additional feature of a dehumidifier, for example.
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
filterChangeIndication |
"V7.0" | yes* | "filterMaintenance" | Filter Maintenance Get Filter Change Indication - Mn or Vn.n |
filterLifeLevel |
"VW64" | no* | "filterMaintenance" | Filter Maintenance Get Filter Life Level - AMn or VWn |
filterResetFilterIndication |
"V7.1" | no* | "filterMaintenance" | Filter Maintenance Set Reset Filter Indication - Mn or Vn.n |
{
"name": "Item-13",
"type": "filterMaintenance",
"filterChangeIndication": "V7.0",
"filterLifeLevel": "VW64",
"filterResetFilterIndication": "V7.1"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
outletGet |
"Q1" | yes* | "outlet" | Outlet Get - Qn, Mn or Vn.n |
outletSetOn |
"V1.0" | yes* | "outlet" | Outlet Set On - Mn or Vn.n |
outletSetOff |
"V1.1" | yes* | "outlet" | Outlet Set Off - Mn or Vn.n |
outletGetInUse |
"V1.2" | yes* | "outlet" | Outlet Get In Use - Qn, Mn or Vn.n |
{
"name": "Q1",
"type": "outlet",
"outletGet": "Q1",
"outletSetOn": "V1.0",
"outletSetOff": "V1.1"
}
This accessory can contain other accessories, but does not respond to tapping to turn it on or off. It opens a detailed view of the sub accessories.
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
name |
(custom) | yes | "other" | Name of accessory that will appear in homekit app. |
type |
"other" | yes | "other" | Type of Accessory: "other" |
{
"name": "Ventilation",
"type": "other"
},
{
"name": "Level 1",
"type": "switch",
"switchGet": "Q3",
"switchSetOn": "V3.2",
"switchSetOff": "V4.2",
"parentAccessory": "Ventilation"
},
{
"name": "Level 2",
"type": "switch",
"switchGet": "Q4",
"switchSetOn": "V3.3",
"switchSetOff": "V4.3",
"parentAccessory": "Ventilation"
},
{
"name": "Automatic",
"type": "switch",
"switchGet": "M16",
"switchSetOn": "V3.4",
"switchSetOff": "V4.4",
"parentAccessory": "Ventilation"
},
{
"name": "Supply Air",
"type": "temperatureSensor",
"convertValue": 1,
"temperature": "AM5",
"parentAccessory": "Ventilation"
},
{
"name": "Exhaust Air",
"type": "temperatureSensor",
"convertValue": 1,
"temperature": "AM6",
"parentAccessory": "Ventilation"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
light |
"VW66" | yes* | "lightSensor" | Light Sensor for Current Ambient Light Level in Lux |
{
"name": "Sensor-1",
"type": "lightSensor",
"light": "VW66"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
motion |
"V8.0" | yes* | "motionSensor" | Motion Sensor |
{
"name": "Sensor-2",
"type": "motionSensor",
"motion": "V8.0"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
contact |
"V8.1" | yes* | "contactSensor" | Contact Sensor |
{
"name": "Sensor-3",
"type": "contactSensor",
"contact": "V8.1"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
smoke |
"V8.2" | yes* | "smokeSensor" | Smoke Sensor |
{
"name": "Sensor-4",
"type": "smokeSensor",
"smoke": "V8.2"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
temperature |
"VW68" | yes* | "temperatureSensor" | Temperature Sensor for Current Temperature in °C (-270°C - 100°C!!) |
convertValue |
0 or 1 | no* | "temperatureSensor" | Convert Int in Float, default is: 0. (235 / 10 == 23.5°C) |
{
"name": "Sensor-5",
"type": "temperatureSensor",
"convertValue": 1,
"temperature": "VW68"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
humidity |
"VW70" | yes* | "humiditySensor" | Humidity Sensor for Current Relative Humidity in % |
convertValue |
0 or 1 | no* | "humiditySensor" | Convert Int in Float, default is: 0. (456 / 10 == 45.6%rH => 46%rH in Home App) |
{
"name": "Sensor-6",
"type": "humiditySensor",
"convertValue": 1,
"humidity": "VW70"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
carbonDioxide |
"V9.0" | yes* | "carbonDioxideSensor" | Carbon Dioxide |
carbonDioxideLevel |
"VW72" | no* | "carbonDioxideSensor" | Carbon Dioxide Level in ppm |
carbonDioxidePeakLevel |
"VW74" | no* | "carbonDioxideSensor" | Carbon Dioxide Peak Level in ppm |
{
"name": "Sensor-7",
"type": "carbonDioxideSensor",
"carbonDioxide": "V9.0",
"carbonDioxideLevel": "VW72",
"carbonDioxidePeakLevel": "VW74"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
airQuality |
"VW76" | yes* | "airQualitySensor" | Air Quality (0 - 5) |
- 0 - Unknown
- 1 - Excellent - CO2 < 800ppm (IDA 1)
- 2 - Good - CO2 = 800 - 1000ppm (IDA 2)
- 3 - Fair - CO2 = 1000 - 1400ppm (IDA 3)
- 4 - Inferior - CO2 = 1400 - 1800ppm (IDA 4)
- 5 - Poor - CO2 > 1800ppm
{
"name": "Sensor-8",
"type": "airQualitySensor",
"airQuality": "VW76"
}
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
leak |
"V9.1" | yes* | "leakSensor" | Leak Sensor |
waterLevel |
"VW78" | no* | "leakSensor" | Water Level in % |
{
"name": "Sensor-9",
"type": "leakSensor",
"leak": "V9.1",
"waterLevel": "VW78"
}
LOGO! Connection Watchdog, to check whether the correct values are still being read from the LOGO!. In rare cases, a connection problem with Snap7 connections means that when querying value "A", all further queries produce the wrong results. The query for value "B" returns the result for querying value "A". The query for value "C" returns the result for querying value "B". And so on.
Name | Value | Required | Option for | Notes |
---|---|---|---|---|
watchdog |
"VW79" | yes* | "watchdog" | Watchdog - Qn, AQn, Mn, AMn, Vn.n, or VWn |
expectedValue |
1234 | yes* | "watchdog" | Expected Value - any number, e.g. 1234 |
disconnect |
0 or 1 | no* | "watchdog" | Disconnect automatically when errors are detected, default is: 0. |
{
"name": "LOGO Watchdog",
"type": "watchdog",
"watchdog": "VW79",
"expectedValue": 1234,
"disconnect": 1
}
Type | Characteristic | InfluxDB | Eve App |
---|---|---|---|
Switch | On | yes | yes |
Lightbulb | On Brightness |
yes yes |
yes no |
Blind | CurrentPosition PositionState TargetPosition |
yes yes yes |
no no no |
Window | CurrentPosition PositionState TargetPosition |
yes yes yes |
no no no |
Garage Door | CurrentDoorState TargetDoorState ObstructionDetected |
yes yes yes |
no no no |
Thermostat | CurrentHeatingCoolingState TargetHeatingCoolingState CurrentTemperature TargetTemperature |
yes yes yes yes |
no no yes yes |
Irrigation System | Active ProgramMode InUse RemainingDuration WaterLevel |
yes yes yes yes yes |
no no no no no |
Valve | Active InUse RemainingDuration SetDuration IsConfigured |
yes yes yes yes yes |
no no no no no |
Fan | On RotationDirection RotationSpeed |
yes yes yes |
no no no |
Filter Maintenance | FilterChangeIndication FilterLifeLevel ResetFilterIndication |
yes yes yes |
no no no |
Outlet | On InUse |
yes yes |
yes no |
Light Sensor | CurrentAmbientLightLevel | yes | no |
Motion Sensor | MotionDetected | yes | yes |
Contact Sensor | ContactSensorState | yes | yes |
Smoke Sensor | SmokeDetected | yes | no |
Temperature Sensor | CurrentTemperature | yes | yes |
Humidity Sensor | CurrentRelativeHumidity | yes | yes |
Carbon Dioxide Sensor | CarbonDioxideDetected CarbonDioxideLevel CarbonDioxidePeakLevel |
yes yes yes |
no yes no |
Air Quality Sensor | AirQuality | yes | no |
Leak Sensor | LeakDetected WaterLevel |
yes yes |
no no |
Watchdog | WatchdogState | yes | yes |
"platforms": [
{
"platform": "LogoPlatform",
"name": "Logo 6",
"ip": "10.0.0.100",
"port": 502,
"updateInterval": 10000,
"debugMsgLog": 1,
"pushButton": 1,
"loggerType": "influxDB",
"loggerInterval": 30000,
"influxDBUrl": "http://10.0.0.99:8086",
"influxDBToken": "qwertzuiopasdfghjklyxcvbnm1234567890",
"influxDBOrg": "Org-Name",
"influxDBBucket": "Bucket-Name",
"devices": [
{
"name": "Logo 6 - Q1",
"type": "switch",
"switchGet": "Q1",
"switchSetOn": "V1.0",
"switchSetOff": "V1.1",
"logging": 1
},
{
"name": "Logo 6 - Q2",
"type": "switch",
"switchGet": "Q2",
"switchSetOn": "V1.2",
"switchSetOff": "V1.3"
},
{
"name": "Logo 6 - Q3",
"type": "switch",
"switchGet": "Q3",
"switchSetOn": "V1.4",
"switchSetOff": "V1.5",
"logging": 1
},
{
"name": "Logo 6 - M1",
"type": "switch",
"switchGet": "M1",
"switchSetOn": "V1.6",
"switchSetOff": "V1.7"
},
{
"name": "Logo 6 - Q4",
"type": "lightbulb",
"lightbulbGet": "Q4",
"lightbulbSetOn": "V2.0",
"lightbulbSetOff": "V2.1",
"lightbulbSetBrightness": "VW20",
"lightbulbGetBrightness": "VW22",
"logging": 1
}
]
},
{
"platform": "LogoPlatform",
"name": "Logo 7",
"interface": "snap7",
"ip": "10.0.0.101",
"logoType": "0BA7",
"localTSAP": "0x2200",
"remoteTSAP": "0x2100",
"updateInterval": 10000,
"debugMsgLog": 1,
"pushButton": 1,
"retryCount": 5,
"devices": [
{
"name": "Logo 7 - Q1",
"type": "switch",
"switchGet": "Q1",
"switchSetOn": "V1.0",
"switchSetOff": "V1.1"
},
{
"name": "Logo 7 - Q2",
"type": "switch",
"switchGet": "Q2",
"switchSetOn": "V1.2",
"switchSetOff": "V1.3"
},
{
"name": "Logo 7 - Q3",
"type": "switch",
"switchGet": "Q3",
"switchSetOn": "V1.4",
"switchSetOff": "V1.5"
},
{
"name": "Logo 7 - M1",
"type": "switch",
"switchGet": "M1",
"switchSetOn": "V1.6",
"switchSetOff": "V1.7"
},
{
"name": "Logo 7 - Q4",
"type": "lightbulb",
"lightbulbGet": "Q4",
"lightbulbSetOn": "V2.0",
"lightbulbSetOff": "V2.1",
"lightbulbSetBrightness": "VW20",
"lightbulbGetBrightness": "VW22"
},
{
"name": "Logo 7 - Watchdog",
"type": "watchdog",
"watchdog": "VW24",
"expectedValue": 1234,
"disconnect": 1
}
]
}
]
Type | Snap7 | Webserver | ModBus | Cloud | MemoryLayout | LSC |
---|---|---|---|---|---|---|
"0BA7" |
yes | no | no | no | old | 0BA7.Standard |
"0BA8" |
yes | yes | no | no | new | LOGO! 8 (0BA8.Standard) |
"0BA0" |
yes | yes | yes | no | new | LOGO! 8.1 & 8.2 (LOGO! 8.FS4) |
"0BA1" |
yes | yes | yes | yes | new | LOGO! 8.3 |
Required: yes* - means that this parameter is only required for this particular accessory!
Required: no* - means if no valid LOGO address is specified for this parameter, this characteristic returns the specified value or is deactivated in the accessory!
- Download or clone Homebridge-Logo-Platform.
- Install:
$ npm install
- Build:
$ npm run build
- Run:
$ /usr/local/bin/homebridge -D -P ~/Homebridge-Logo-Platform/