1.4.3 • Published 5 months ago

homebridge-logo-platform v1.4.3

Weekly downloads
-
License
---
Repository
github
Last release
5 months ago

Homebridge Logo Platform

Build (18.x & 20.x) npm version verified-by-homebridge npm donate

Use a Siemens LOGO! PLC for switch on whatever you want.
Communicate with LOGO! over Snap7 or Modbus.

Type of Accessory:

Type of Sensor Accessory:

Special Functions:

Examples:

Installation

  1. Install homebridge using instruction from: Homebridge WiKi
  2. Install this plugin in your homebridge
  3. Update your configuration file with code like the sample below

Thanks to

  • Tellicious for:
    • Adding logging to the Eve app.
    • Integrated valve as sub-accessory of IrrigationSystem.
    • His Bugfix to avoid memory leak.

Special thanks to

  • 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)

Known issues

  • The plugin cannot be configured with the Config UI. (The settings are too complex.)

Platform Main Configuration Parameters

NameValueRequiredNotes
platform"LogoPlatform"yesMust be set to "LogoPlatform".
name(custom)yesName of platform that will not appear in homekit app.
interface"modbus" or "snap7"noInterface for communication, default is: "modbus".
ip"10.0.0.100"yesMust be set to the IP of your LOGO!.
port502no (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".
queueInterval100 ... 1000noInterval to send queries from Plugin to LOGO!, in milliseconds, default is: 100.
queueSize100 ... 1000noNumber of items to be hold in send/receive queue, default is: 100.
updateInterval0 ... ∞noAuto Update Interval in milliseconds, 0 = Off
debugMsgLog0 or 1noDisplays messages of all accessories in the log, default is: 0.
retryCount0 ... ∞noRetry count for sending the queries messages, default is: 5.
pushButton0 or 1noIf 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"noActivates Logging, default is: "none".
loggerInterval300000noLogging 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
parentAccessory(custom)noParent accessory name, needed to create this accessory as a sub-accessory of an other accessory. Not for Valve, IrrigationSystem and Other

Device Main Configuration Parameters

NameValueRequiredNotes
name(custom)yesName of accessory that will appear in homekit app.
type"switch" or ...yesType 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"
debugMsgLog0 or 1noDisplays messages of this accessory in the log, default is: 0.
pushButton0 or 1noIf e.g. the network input in the LOGO! a hardware button on the LOGO! simulated, default is: 0. (Only for this Accessory.)
logging0 or 1noActivates Logging, default is: 0. (Only for this Accessory.)
"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": "...",
                ...
            }
        ]
    }
]

Switch Configuration

NameValueRequiredOption forNotes
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"
}

Lightbulb Configuration

NameValueRequiredOption forNotes
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"
}

Blind Configuration

NameValueRequiredOption forNotes
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
blindConvertValue0 or 1no*"blind"Convert LOGO! values in to HomeKit values.
{
    "name": "Item-6",
    "type": "blind",
    "blindConvertValue": 1,
    "blindSetTargetPos": "VW26",
    "blindGetTargetPos": "VW28",
    "blindGetPos": "VW28",
    "blindGetState": "VW30"
}

Window Configuration

NameValueRequiredOption forNotes
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
windowConvertValue0 or 1no*"window"Convert LOGO! values in to HomeKit values.
{
    "name": "Item-7",
    "type": "window",
    "windowConvertValue": 1,
    "windowSetTargetPos": "VW32",
    "windowGetTargetPos": "VW34",
    "windowGetPos": "VW34",
    "windowGetState": "VW36"
}

Garage Door Configuration

NameValueRequiredOption forNotes
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"
}

Thermostat Configuration

NameValueRequiredOption forNotes
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
thermostatTempDisplayUnits0 or 1yes*"thermostat"Temperature Display Units - Celsius = 0; Fahrenheit = 1;
thermostatConvertValue0 or 1no*"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
}

Irrigation System Configuration

NameValueRequiredOption forNotes
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
irrigationSystemAutoUpdate1no*"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
}

Valve Configuration

NameValueRequiredOption forNotes
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
valveType0yes*"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
valveZone1no*"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 and IsConfigured
{
    "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
}

Fan Configuration

NameValueRequiredOption forNotes
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"
}

Filter Maintenance Configuration

The Home-App only supports this accessory as an additional feature of a dehumidifier, for example.

NameValueRequiredOption forNotes
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"
}

Outlet Configuration

NameValueRequiredOption forNotes
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"
}

Other Configuration

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.

NameValueRequiredOption forNotes
name(custom)yesName of accessory that will appear in homekit app.
type"other"yesType 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"
}

Light Sensor Configuration

NameValueRequiredOption forNotes
light"VW66"yes*"lightSensor"Light Sensor for Current Ambient Light Level in Lux
{
    "name": "Sensor-1",
    "type": "lightSensor",
    "light": "VW66"
}

Motion Sensor Configuration

NameValueRequiredOption forNotes
motion"V8.0"yes*"motionSensor"Motion Sensor
{
    "name": "Sensor-2",
    "type": "motionSensor",
    "motion": "V8.0"
}

Contact Sensor Configuration

NameValueRequiredOption forNotes
contact"V8.1"yes*"contactSensor"Contact Sensor
{
    "name": "Sensor-3",
    "type": "contactSensor",
    "contact": "V8.1"
}

Smoke Sensor Configuration

NameValueRequiredOption forNotes
smoke"V8.2"yes*"smokeSensor"Smoke Sensor
{
    "name": "Sensor-4",
    "type": "smokeSensor",
    "smoke": "V8.2"
}

Temperature Sensor Configuration

NameValueRequiredOption forNotes
temperature"VW68"yes*"temperatureSensor"Temperature Sensor for Current Temperature in °C (-270°C - 100°C!!)
convertValue0 or 1no*"temperatureSensor"Convert Int in Float, default is: 0. (235 / 10 == 23.5°C)
{
    "name": "Sensor-5",
    "type": "temperatureSensor",
    "convertValue": 1,
    "temperature": "VW68"
}

Humidity Sensor Configuration

NameValueRequiredOption forNotes
humidity"VW70"yes*"humiditySensor"Humidity Sensor for Current Relative Humidity in %
convertValue0 or 1no*"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"
}

Carbon Dioxide Sensor Configuration

NameValueRequiredOption forNotes
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"
}

Air Quality Sensor Configuration

NameValueRequiredOption forNotes
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"
}

Leak Sensor Configuration

NameValueRequiredOption forNotes
leak"V9.1"yes*"leakSensor"Leak Sensor
waterLevel"VW78"no*"leakSensor"Water Level in %
{
    "name": "Sensor-9",
    "type": "leakSensor",
    "leak": "V9.1",
    "waterLevel": "VW78"
}

Logging to InfluxDB or Eve App

TypeCharacteristicInfluxDBEve App
SwitchOnyesyes
LightbulbOnBrightnessyesyesyesno
BlindCurrentPositionPositionStateTargetPositionyesyesyesnonono
WindowCurrentPositionPositionStateTargetPositionyesyesyesnonono
Garage DoorCurrentDoorStateTargetDoorStateObstructionDetectedyesyesyesnonono
ThermostatCurrentHeatingCoolingStateTargetHeatingCoolingStateCurrentTemperatureTargetTemperatureyesyesyesyesnonoyesyes
Irrigation SystemActiveProgramModeInUseRemainingDurationWaterLevelyesyesyesyesyesnonononono
ValveActiveInUseRemainingDurationSetDurationIsConfiguredyesyesyesyesyesnonononono
FanOnRotationDirectionRotationSpeedyesyesyesnonono
Filter MaintenanceFilterChangeIndicationFilterLifeLevelResetFilterIndicationyesyesyesnonono
OutletOnInUseyesyesyesno
Light SensorCurrentAmbientLightLevelyesno
Motion SensorMotionDetectedyesyes
Contact SensorContactSensorStateyesyes
Smoke SensorSmokeDetectedyesno
Temperature SensorCurrentTemperatureyesyes
Humidity SensorCurrentRelativeHumidityyesyes
Carbon Dioxide SensorCarbonDioxideDetectedCarbonDioxideLevelCarbonDioxidePeakLevelyesyesyesnoyesno
Air Quality SensorAirQualityyesno
Leak SensorLeakDetectedWaterLevelyesyesnono

Main Configuration

"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"
                }
            ]
        }
    ]

Type of your LOGO

TypeSnap7WebserverModBusCloudMemoryLayoutLSC
"0BA7"yesnononoold0BA7.Standard
"0BA8"yesyesnononewLOGO! 8 (0BA8.Standard)
"0BA0"yesyesyesnonewLOGO! 8.1 & 8.2 (LOGO! 8.FS4)
"0BA1"yesyesyesyesnewLOGO! 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!

Test Homebridge-Logo-Platform

  1. Download or clone Homebridge-Logo-Platform.
  2. Install: $ npm install
  3. Build: $ npm run build
  4. Run: $ /usr/local/bin/homebridge -D -P ~/Homebridge-Logo-Platform/
1.3.7

6 months ago

1.3.6

6 months ago

1.3.5

6 months ago

1.4.3

5 months ago

1.3.4

6 months ago

1.4.2

5 months ago

1.3.3

6 months ago

1.4.1

5 months ago

1.4.0

5 months ago

1.3.8

6 months ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.1.3

2 years ago

1.3.0

2 years ago

1.1.2

2 years ago

1.0.0

2 years ago