Wenn du es bei jsonlint.com einfügst, vor das erste platforms ganz oben eine öffnende geschweifte Klammer ( { )einsetzt und dann auf Validate JSON klickst, dann bekommst du eine Fehlermeldung. Wenn du deinen Code ansiehst, wirst du feststellen, dass irgendwann dein Code nicht mehr schön aussieht: während weiter oben noch die Plattformen schön untereinander stehen, hört das auf einmal auf:
"platform": "HarmonyHubWebSocket",
"platform": "Calendar",
"platform": "Fritz!Box",
und auf einmal steht da mittendrin schon wieder platforms:, was aber nur ein einziges Mal im Code auftauchen sollte (die Foren-Anleitung lässt sich übrigens dazu ein wenig aus).
Diese Klammer-Orgie sieht zwar wirr aus, aber sie fasst immer etwas zusammen. Alle Plattformen {platform}, {platform}, {platform} ..... {platform} stehen zusammengefasst unter dem Oberbegriff platforms, der als Oberbegriff nur einmal auftaucht:
platforms: [ {platform}, {platform}, {platform} ..... {platform} ]. Sie sind zusammengefasst durch eckige Klammern [ ] und werden durch Kommas getrennt.
Jede {platform} enthält unterschiedlich viele Parameter. Beispielsweise würde eine {platform}, die eine Lampe nur ein- und ausschalten kann, bestimmt nur zwei Parameter enthalten, nämlich einen für einschalten und einen für ausschalten. Dagegen würde eine eine {platform}, die einen Ventilator steuert, mehr als zwei Parameter brauchen: ein, aus, Rotorgeschwindigkeit, Drehung. Etwa so:
{"platform": "SimpleLamp", "name": "Deckenlampe", "on_value": "1", "off_value": "0"}
Dieses Konstrukt nennt man ein Objekt. Dieses Objekt beinhaltet alle Parametern, die zusammengehören und alles wird in geschweifte Klammern eingeschlossen. Die einzelnen Parameter sind durch Kommas getrennt. Da man es so nur schwer lesen kann, formatiert man es besser um:
{
"platform": "SimpleLamp",
"name": "Deckenlampe",
"on_value": "1",
"off_value": "0"
}
Das alles gehört zusammen. Wie beim Ventilator:
{
"platform": "SimpleFan",
"name": "Ventilator",
"on_value": "1",
"off_value": "0",
"speed": "100",
"direction": "auto"
}
Und das Ganze durch Kommas getrennt zwischen die eckigen Klammern von platforms[ ]:
"platforms":[
{
"platform": "SimpleLamp",
"name": "Deckenlampe",
"on_value": "1",
"off_value": "0"
},
{
"platform": "SimpleFan",
"name": "Ventilator",
"on_value": "1",
"off_value": "0",
"speed": "100",
"direction": "auto"
}
]
Alles anzeigen
Ein Tipp: Im Config-Editor von homebridge-config-ui-x sind neben der Zeilennummerierung kleine Pfeile zu sehen, mit denen man man die einzelnen Abschnitte auf- und zuklappen kann:

Dein Code sollte so funktionieren:
"platforms": [{
"platform": "HarmonyHubWebSocket",
"name": "HarmonyHub",
"hubIP": "192.168.178.41",
"TVAccessory": false,
"switchAccessories": true
},
{
"platform": "Calendar",
"calendars": [{
"name": "Abfallkalender",
"url": "webcal://p54-caldav.icloud.com/publi",
"pollingInterval": 50,
"offset": "15m",
"sensors": [
"Restabfall",
"Gelber Sack",
"Papier",
"Bio"
]
}]
},
{
"platform": "Fritz!Box",
"name": "FRITZ!Box",
"username": "root",
"password": "",
"url": "http://fritz.box",
"interval": 1800,
"concurrent": false,
"devices": {
"wifi": {
"name": "Guest WLAN",
"display": false
},
"outlet-1": {
"TemperatureSensor": false
},
"repeater-1": {
"TemperatureSensor": false
},
"thermostat-2": {
"ContactSensor": false
},
"hidden-3": {
"display": false
}
},
"options": {
"strictSSL": false
}
}, {
"platform": "AutomationSwitches",
"switches": [{
"type": "alarmclock",
"name": "Alarm clock",
"stored": true,
"hour": 9,
"minute": 0,
"enabled": true
},
{
"type": "security",
"name": "Alarmanlage Daheim",
"default": "unarmed",
"stored": false,
"zones": [
"Living room",
"Bedroom",
"Back door"
],
"armAwayButtonLabel": "Alarm Away",
"armNightButtonLabel": "Alarm Nacht",
"armStayButtonLabel": "Alarm Home"
},
{
"type": "security",
"name": "Alarmanlage Unterwegs",
"default": "unarmed",
"stored": false,
"zones": [
"Living room",
"Bedroom",
"Back door"
],
"armAwayButtonLabel": "Alarm Away",
"armNightButtonLabel": "Alarm Nacht",
"armStayButtonLabel": "Alarm Home"
}
]
},
{
"platform": "Telegram",
"bots": [{
"name": "SmartHome Bot",
"token": "8",
"chat": "8",
"error": "Something broken. I'm shutting down.",
"notifications": {
"Licht an": {
"messages": [
"Licht an!"
]
},
"Alarmanlage": {
"messages": [
"Einbruch !!!!!!!!!!!!!!"
]
},
"Waschmaschine": {
"messages": [
"Waschmaschine Fertig"
]
},
"Restabfall": {
"messages": [
"Restabfall rausstellen"
]
},
"Gelber Sack": {
"messages": [
"Gelber Sack rausstellen"
]
},
"Papier": {
"messages": [
"Papier rausstellen"
]
},
"Bio": {
"messages": [
"Bio rausstellen"
]
},
"Bye": {
"mode": "HTML",
"randomize": false,
"messages": [
"<b>Good bye!</b>",
"<i>I'm sad to see you leave.</i>"
]
}
}
}]
}
]
}
Alles anzeigen
Gruß