Skip to content

Latest commit

 

History

History
178 lines (165 loc) · 4.38 KB

vergleichV02V03.md

File metadata and controls

178 lines (165 loc) · 4.38 KB

Vergleich der Konfigurationen zwischen Version 0.2 und 0.3

Das Format der Konfigurationsdateien hat sich deutlich geändert.

Dies betrifft sowohl die config.json als auch die neue knx_config.json.

##config.json

Version 0.2.x Version 0.3.x
Enthält die ganze Konfiguration sowohl für homebridge selbst, als auch alle Konfigurationsteile für homebridge-knx, genauso wie für alle anderen homebridge-plug-ins Die Konfiguration von `homebridge-knx` ist nicht mehr Teil der config.json, sondern in einer eigenen Datei knx_config.json
Beispiel Beispiel
  { 
	"bridge": { 
		"name": "Homebridge", 
		"username": "CC:22:3D:E3:CE:30", 
		"port": 51826, 
		"pin": "031-45-154"
	},
	"description": "This is an example ...",
	"platforms": [ 
		{
			"name":"KNX",
			"platform":"KNX",
			"accessories": [
				HIER SIND DIE GERÄTE DEFINIERT, SIEHE UNTEN
		]
	}
],
"accessories": [
 ]

}

{ 
	"bridge": { 
		"name": "Homebridge", 
		"username": "CC:22:3D:E3:CE:30", 
		"port": 51826, 
		"pin": "031-45-154"
	},
	"description": "This is an example ....",
	"platforms": [
	],
	"accessories": [
	 ]
 }
 

##knx_config.json Die Geräte (Devices früher Accessories) sind nun in die knx_config.json gewandert.
Dabei hat sich das Format geändert, um mehr Möglichkeiten zuzulassen:

Hier mal ein Abschnitt der ein Gerät mit einem Service "Lampe" mit Dimmer abbildet:

Version 0.2.x Version 0.3.x
in der config.json in der knx_config.json
{ 
	"name": "Living Room North Lamp", 
	"services": [ 
		{ 
			"type": "Lightbulb", 
			"name": "Arbeitszimmerlampe", 
			"On": { 
					"Set": "1/1/6", 
					"Listen": [ 
							"1/1/63"
					 ]
			 }, 
			"Brightness": { 
				"Set": "1/1/62", 
				"Listen": [ 
						"1/1/64"
				 ]
		 }
 }
 
  {
    "DeviceName": "Arbeitszimmerlampe",
    "Services": [
        {
            "ServiceType": "Lightbulb",
            "ServiceName": "Bürolampe",
            "Characteristics": [
                {
                    "Type": "On",
                    "Set": [
                        "1/1/6"
                    ],
                    "Listen": [
                        "1/1/63"
                    ]
                },
                {
                	"Type":"Brightness",
                	"Set": [
                		"1/1/62"
                	],
                	"Listen": [
                		"1/1/64"
                	]
                }
            ]
        }
    ]
}
 

Man sieht ein paar kleine Änderungen:

Version 0.2.x Version 0.3.x
name auf der ersten Ebene der accessories DeviceName
services Services
type ServiceType
name innerhalb der services ServiceName
On als Schlüssel für ein bestimmtes Charcteristic "Characteristics": [ "Type":"On", .... ] als Liste mit einzelnen Characteristics, deren Typ im Schlüssel Type angegeben werden.

Insbesondere die letzte Änderung verursacht leider sehr viel manuelle Arbeit beim Umstieg. Diese Änderung war aber nötig, da auf diese Weise beliebige Characteristics zusammen in einen Service gesteckt werden können - und nicht nur die 2-3 die in der alten Version vorab codiert waren.

Für die Änderung der Richtung, z.B. bei Tür- oder Fensterkontakten, findet sich das neue Schlüsselwort Reverse innerhalb der Characteristic-Klammer:

Version 0.2.x Version 0.3.x
in der config.json in der knx_config.json
{
	"name": "Bürofenster Links",
	"services": [
		{
			"type": "ContactSensor",
			"name": "Fensterkontakt Büro Links",
			"ContactSensorState": {
				"Listen": "5/3/6R"
			}
		}
	]
}
 
{
	"DeviceName": "Bürofenster Links",
	"Services": [
		{
			"ServiceType": "ContactSensor",
			"ServiceName": "Fensterkontakt Büro Links",
			"Characteristics": [
				{
					"Type":"ContactSensorState",
					"Listen": [
						"5/3/6"
					],
					"Reverse":true
				}
			]
		}
	]
}