Also, Things anlegen ist "eigentlich" ganz einfach. Leider gibt es da aber keinerlei Hilfen, bis auf:
Eine Thing Definition hat immer einen festgelegten Rahmen.
Vorab noch: Eine Bridge ist ebenfalls ein Thing

nur mit der Eigenschaft, eine meist variable Anzahl "Unterthings" zu haben.
Das Thing auf der oberen Ebene (also ein unabhängiges Thing oder eben eine Bridge) sieht so aus:
Code: Alles auswählen
<Art> <Binding>:<Typ>:<Id> "<Label>" @ "<Location>" [ <Konfigurationsparameter> ] {
Channels:
Type <typ> : <id> "<Label>" [ <Konfigurationsparameter> ]
...
}
konkretes Beispiel:
Code: Alles auswählen
// Time and Date
Thing ntp:ntp:local "Lokale Zeit" [hostname="de.pool.ntp.org",refreshInterval=120, refreshNtp=30, locale="de_DE", timeZone="Europe/Berlin"]
Also zuerst steht die Art "Thing", dann folgt das Binding, hier ntp. Der Gerätetyp ist bei dem Binding ebenfalls ntp, die (selbst zu vergebende) ID lautet local. Das Label ist "Lokale Zeit" und die nachfolgenden Parameter beschreiben, wie das Thing konfiguriert ist.
Dieses Thing hat einen fixen Satz Channel, die auch nicht parametriert werden können, entsprechend entfällt der Teil in den geschweiften Klammern.
Ein verschachteltes Beispiel:
Code: Alles auswählen
Bridge dwdpollenflug:bridge:dwd "DWD Pollenflug Bridge" [refresh="15"] {
Thing region region92 "DWD Pollenflug Hessen" @ "Pollen" [regionID="92"]
}
Die Art ist hier zunächst eine Bridge, das Binding ist dwdpollenflug, der Gerätetyp ist eine bridge, dwd ist die ID, "DWD Pollenflug Bridge" ist das Label. In den Eckigen Klammern steht wieder ein Parameter, der einzige für die Bridge.
Nun folgt unterhalb der Bridge ein zugeordnetes Thing, die Art ist ein Thing, das Binding entfällt hier, da es durch die frühe Zuordnung zur Bridge nicht mehr konfigurierbar ist. Der Typ ist jetzt region und die ID lautet region92, das Label dazu "DWD Pollenflug Hessen", die Location ist "Pollen" und es folgt wieder ein einzelner Parameter.
Die Form ist also festgelegt (und wenn man mal ein paar Beispiele gesehen hat, wird es auch einigermaßen klar, was wo konfiguriert wird.)
Naturgemäß gibt es aber extreme Unterschiede bei den Parametern, einfach weil die angebundenen Systeme so unterschiedlich zu parametrieren sind.
Es gibt zwei Optionen, herauszufinden, welche Parameter wie gesetzt werden müssen,. nämlich entweder in der Doku nachschauen, oder über die Main UI probeweise ein entsprechendes Thing anlegen und dann aus dem Codeblock die Parameter kopieren. (Oder Du fragst hier im Forum... Option drei...

)
Um noch etwas mehr Verwirrung reinzubringen: es gibt noch eine zweite Möglichkeit, Bridge und Thing miteinander zu verknüpfen, weil die obige Methode einen entscheidenden Nachteil hat: Man muss alle zu einer Bridge gehörenden Things in der selben Datei konfigurieren:
Code: Alles auswählen
Bridge mqtt:broker:myInsecureBroker [ host="192.168.0.42", secure=false ]
Thing mqtt:topic:mything "mything" (mqtt:broker:myInsecureBroker) {
Channels:
Type switch : lamp "Kitchen Lamp" [ stateTopic="lamp/enabled", commandTopic="lamp/enabled/set" ]
Type switch : fancylamp "Fancy Lamp" [ stateTopic="fancy/lamp/state", commandTopic="fancy/lamp/command", on="i-am-on", off="i-am-off" ]
Type string : alarmpanel "Alarm system" [ stateTopic="alarm/panel/state", commandTopic="alarm/panel/set", allowedStates="ARMED_HOME,ARMED_AWAY,UNARMED" ]
Type color : lampcolor "Kitchen Lamp color" [ stateTopic="lamp/color", commandTopic="lamp/color/set", colorMode="RGB" ]
Type dimmer : blind "Blind" [ stateTopic="blind/state", commandTopic="blind/set", min=0, max=5, step=1 ]
}
Hier wird die Bridge komplett separat definiert. Der Nachteil dabei: nun muss beim Thing nicht nur das Binding mit angegeben werden, zusätzlich muss auch noch die UID der Bridge mit übergeben werden. Dafür kann man aber die Bridge in einer anderen Datei anlegen.
Außerdem ist es nur mit dieser Schreibweise möglich (wenn auch nicht unbedingt empfehlenswert) eine Bridge über die UI anzulegen und anschließend Things über Textdateien zu erzeugen.
Things über Textdateien anzulegen ist ganz praktisch, vor allem, wenn es um Übernahme von Konfigurationen geht - schließlich kann man den Text immer einfach kopieren und bei sich (oder auch bei einem Bekannten) mit passenden Änderungen wieder einfügen.
Auch viele sehr ähnliche Things lassen sich über Textdateien nach meinem Geschmack besser erzeugen, Komfortabler ist aber die UI, weil dort alle Zusatzinformationen direkt dabei stehen.
Wenn Du die Konfigurationen vergleichst, wirst Du feststellen, dass einmal Doppelpunkte angegeben sind, einmal nicht. Das ist korrekt so

und die Schreibweise ist nicht optional, steht das Binding mit dabei, müssen Doppelpunkte stehen, steht das Binding nicht dabei (Thing als Kind der Bridge angelegt) sind die Doppelpunkte unzulässig.