Klasse dank Dir werde mal testen
Macht spaß,noch mehr wenn ich json hinbekommen würde
Klasse dank Dir werde mal testen
Macht spaß,noch mehr wenn ich json hinbekommen würde
Habe jetzt stundenlang versucht json anzupassen
bekomme es nicht hin
verstehe nicht was falsch ist
gibt es ein programm der sie richtig stellt?
Habe jetzt stundenlang versucht json anzupassen
bekomme es nicht hin
verstehe nicht was falsch ist
gibt es ein programm der sie richtig stellt?
Um ganz ehrlich zu sein: niemand versteht hier, was falsch ist, solange du hier nicht deine Konfiguration postest.
Und leider gibt es auch keine Programme, die das richtig machen, was man selber falsch macht. Ich würde dann nämlich sofort einen schlechten Roman schreiben, diesem Programm übergeben und das macht dann einen Bestseller draus.
Also möchtest du vielleicht deine Konfiguration zeigen?
Stefan
Ich möchte ja nicht ewig fragen ob mir jemand die json config richtig stellt
habe gedacht das ich es alleine hinbekomme,das wird wohl aber nichts
"username": "CC:22:3D:E3:CE:30",
"bridge_url": "192.168.xxxx:8080",
"webhook_server_ip_or_name": "192.168.178.60",
}]{ "platform" : "ring-video-doorbell"
, "name" : "Doorbell"
, "username" : "[email protected]"
, "password" : "secret"
, "options" : { "retries": 5, "ttl": 5, "verboseP" : false }
, "ringing" : { "event": "single", "motion": false }
}"platforms": [
{
"platform": "HarmonyHub",
"name": "Harmony Hub"
}
]
Das ist alles ein wenig durcheinander. Plugin-Konfigurationen sollte nicht irgendwo eingefügt werden, sondern an bestimmte Stellen.
Die ganze Geschichte fängt an mit einer {, so wie bei dir. Dann kommen die drei Abschnitte:
"bridge": { }
"platforms": [ ]
"accessories": [ ]
Bridge: zwischen die geschweiften Klammern kommt die Bridge-Konfiguration so wie bei dir:
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
Zwischen die geschweiften Klammern. Du könntest das auch in eine Zeile schreiben. Da ist immer ein Key-Pair wie "name": "Homebridge" und jedes Key-Pair wird durch Kommas getrennt. Hinter der abschließenden geschweiften Klammer kommt ein Komma, weil die Konfiguration noch weitergeht. Wäre sie hier schon zu Ende, käme da kein Komma hin.
Platforms: zwischen die eckigen Klammern kommen die Platform-Plugins, und zwar eins nach dem anderen.
"platforms": [
{
"platform": "NukiBridge",
"name": "Nuki"
"api_token": "xxxxxx",
"bridge_url": "192.168.xxxx:8080",
"webhook_port": "51827",
"lock_state_mode": "1",
"webhook_server_ip_or_name": "192.168.178.60",
"locks": [
{
"id": "xxxxxxx",
"usesDoorLatch": "true",
"name": "Hausstür",
"priority": "1"
}
]
} <---- Ende von "platform": "NukiBridge"
] <---- Ende von "platforms":
Alles anzeigen
Sieh's dir an. Die eckigen Klammern stehen am Anfang und am Ende von "platforms":. Dazwischen stehen jeweils in geschweiften Klammern die Plattformen. Oben ist jetzt eine Plattform eingebaut: NukiBridge. Bauen wir die nächste Plattform dazu. Sie kommt hinter die NukiBridge-Plattform, aber vor die abschließende eckige Klammer.
"platforms": [
{
"platform": "NukiBridge",
"name": "Nuki",
"api_token": "xxxxxx",
"bridge_url": "192.168.xxxx:8080",
"webhook_port": "51827",
"lock_state_mode": "1",
"webhook_server_ip_or_name": "192.168.178.60",
"locks": [
{
"id": "xxxxxxx",
"usesDoorLatch": "true",
"name": "Hausstür",
"priority": "1"
}
]
}, <---- Ende von "platform": "NukiBridge", Achtung Komma!
{
"platform": "ring-video-doorbell",
"name": "Doorbell",
"username": "[email protected]",
"password": "secret",
"options":
{
"retries": 5,
"ttl": 5,
"verboseP": false
},
"ringing":
{
"event": "single",
"motion": false
}
} <---- Ende von "platform": "ring-video-doorbell"
] <---- Ende von "platforms":
Alles anzeigen
Wie du siehst, kommt der Key "platforms": nur einmal vor, der Key "platform": aber zweimal, weil ja zwei Plattformen konfiguriert sind. Und die letzte Platform noch:
"platforms": [
{
"platform": "NukiBridge",
"name": "Nuki",
"api_token": "xxxxxx",
"bridge_url": "192.168.xxxx:8080",
"webhook_port": "51827",
"lock_state_mode": "1",
"webhook_server_ip_or_name": "192.168.178.60",
"locks": [
{
"id": "xxxxxxx",
"usesDoorLatch": "true",
"name": "Hausstür",
"priority": "1"
}
]
}, <---- Ende von "platform": "NukiBridge", Achtung Komma!
{
"platform": "ring-video-doorbell",
"name": "Doorbell",
"username": "[email protected]",
"password": "secret",
"options":
{
"retries": 5,
"ttl": 5,
"verboseP": false
},
"ringing":
{
"event": "single",
"motion": false
}
}, <---- Ende von "platform": "ring-video-doorbell", Achtung: Komma!
{
"platform": "HarmonyHub",
"name": "Harmony Hub"
} <---- Ende von "platform": "HarmonyHub"
] <---- Ende von "platforms":
Alles anzeigen
Genauso wie bei "platforms": wird dann auch "accessories": behandelt. Testen kann man die gesamte Konfiguration bei jsonlint. Ganz ans Ende kommt dann }.
Stefan.
Das ist alles ein wenig durcheinander. Plugin-Konfigurationen sollte nicht irgendwo eingefügt werden, sondern an bestimmte Stellen.
So sieht das wenn man die APP nutz immer aus ![]()
Ahhhhh Danke sschuste
Da kann ich was mit anfangen,habe immer versucht irgend welche zusammenhänge zu erkennen vergeblich
ins blaue klammern und komma`s das wird nichts
Hat hier jemand Ring kommt dort meine email und das passwort,wo ich mich bei ring angemeldet habe?
{
"bridge":{
"name":"Homebridge",
"username":"CC:22:3D:E3:CE:30",
"port":51826,
"pin":"031-45-154"
},
"platforms":[
{
"platform":"NukiBridge",
"name":"Nuki",
"api_token":"xxxxx",
"bridge_url":"192.168.178.xx:8080",
"webhook_port":"51827",
"lock_state_mode":"1",
"webhook_server_ip_or_name":"192.168.178.60",
"locks":[
{
"id":"xxxxxx",
"usesDoorLatch":"true",
"name":"Hausstür",
"priority":"1"
}
]
}
],
"accessories":[
{
"accessory":"DelaySwitch",
"name":"DelaySwitch",
"disableSensor":false,
"delay":5000
}
},
Verstehe nicht was jetzt falsch ist
Ring habe ich erstmal raus gelassen
Ich hab's mal bei jsonlint reingeworfen. Sieh genau hin:
Nach "accessories": kommt die öffnende eckige Klammer [. Gut. Danach kommt in geschweiften Klammern die Accessory-Definition. Auch gut.
Wenn diese Accessory-Definition die einzige ist, dann kommt hinter die schließende geschweifte Klammer (also nach "delay": 5000, in rot markiert) wieder eine eckige schließende Klammer ].
Wenn sie nicht die einzige ist, dann kommt stattdessen an diese Stelle ein die schließende Klammer, dann ein Komma und danach die nächste Accessory-Definition. Bei dir kommt aber noch eine schließende Klammer. Eine muss weg. Dann könnte es schon klappen. Wird es aber nicht.
Nochmal: "accessories":-Definitionen beginnen mit einer eckigen Klammer und hören mit einer auf. Das passiert bei dir aber nicht. Es kommt irgendeine Plattform anstatt eines Accessories. Das Harmony Hub-Zeugs hat an dieser Stelle nicht verloren! Es muss weiter nach oben zu den anderen platforms. Und in Zeile 29 muss dann eine ] hin. Und ganz ans Ende, wenn nichts weiter mehr kommt, muss die Konfiguration mit } abgeschlossen werden - weil sie beginnt ja ganz oben mit {.
Stefan
Jetzt habe ich noch mehr fehler genau so gemacht wie oben
Könntest du evtl noch ein wenig die Fehler bei JSONLint erläutern anhand eines beispiels? Ich muss zugeben das ich es oft nicht deuten kann. Und dann einfach auf gut Glück irgendwie die Kommas setze.
Das ist oft auch nicht einfach zu deuten. Es macht die Sache oftmals einfacher, wenn man seinen JSON-Code sehr ordentlich verfasst und mit Einrückungen arbeitet. Also etwa so:
"platforms": [
{
"platform": "NukiBridge",
"name": "Nuki",
"api_token": "xxxxxx",
"bridge_url": "192.168.xxxx:8080",
"webhook_port": "51827",
"lock_state_mode": "1",
"webhook_server_ip_or_name": "192.168.178.60",
"locks": [
{
"id": "xxxxxxx",
"usesDoorLatch": "true",
"name": "Hausstür",
"priority": "1"
}
{
"id": "yyyyyyy",
"usesDoorLatch": "true",
"name": "Keller",
"priority": "1"
}
]
}
]
Alles anzeigen
Das gibt dem ganze eine Struktur und man versteht schneller, was wohin gehört. Ich hab da jetzt einen Fehler eingebaut, und der erzeugt bei jsonlint die folgende Ausgabe:
Die Fehlermeldung unten zeigt, das jsonlint das alles irgendwie als eine Zeile liest, und wenn es richtig ist, formatiert ausgibt. Durch den Fehler im Code weiß jsonlint nichts damit anzufangen und sagt: hier ist ein Fehler bei "priority": "1" } { "id": "yyyyyyy". Dazu malt jsonlint einen Pfeil dazu (----------------------^), der genau auf die kaputte die Stelle zeigen soll. Das ist leider nicht ganz korrekt programmiert und der Pfeil zeigt ins Leere.
Dann steht dort, was von jsonlint statt des Fehlers erwartet worden ist. Da sollte entweder die Datei zu Ende sein (EOF = end of file, ist aber Quatsch) oder da sollte entweder ein } oder ein Komma oder ein ] stehen, aber gekommen ist ein {. Lässt sich wirklich kaum lesen ![]()
Klar, ich hab das Komma weggelassen. Das kann man eigentlich ganz gut im Code sehen, dass die beiden Lock-Definitionen durch ein Komma getrennt sein sollten. Und man sieht das ganz gut, weil ich ihn formatiert habe, damit ich ihn besser lesen kann.
Mehr kann ich dazu leider auch nicht sagen. Ordnung ist das halbe Leben, behaupte ich mal, auch wenn ein Blick in meine Küche zeigt, dass ich es offenbar damit auch nicht so genau nehme ![]()
Stefan
Habe hinter platforms einen fehler und verstehe es nicht
Ist mir gerade alles zu hoch,die config von nuki passt doch oder nicht
kann ich nicht einfach die config von harmony anhängen und komma`s und klamern richtig stellen?
Ist mir gerade alles zu hoch,die config von nuki passt doch oder nicht
kann ich nicht einfach die config von harmony anhängen und komma`s und klamern richtig stellen?
Klar, aber schreib's halt richtig ![]()
Gerade 5 stunden versucht
muß jetzt die Nuki config auch angepasst werden?
Es gibt nur eine Konfiguration, und die heißt Homebridge-Konfig. Die fängt oben an und hört unten auf, und dazwischen muss sie halt richtig sein. Nuki ist ja nur ein Teil davon.
Dann weis ich nicht weiter,muß dann wohl erst ein paar lehrgänge besuchen eh ich meinen Raspi weiter nutzen kann
Denke jetzt auf der husche mal ebend so etwas lernen,das wird nichts
Sind ja auch nicht alle Einstein