NEWS
Kombinierter Objektbaum Netzwerkgeräte
-
Einleitung
Dieser Beitrag dient vor allem dazu die folgende Idee zu Dokumentieren um sie nicht zu vergessen.
Worum geht es?
Schon vor einer ganzen weile ist mir aufgefallen das ich ein und das selbe Gerät in mehreren Adaptern habe. Konkret sind es Geräte die über das Netzwerk erreichbar sind.
Als es dann darum ging die Erreichbarkeit für eine Anwesenheitserkennung zu verwenden kam sehr schnell die idee auf das aus mehreren Quellen zusammen zu führen um die Zuverlässigkeit zu erhöhen.Nochmal eine neue Objektstruktur auf zu Bauen schien mir wenig Sinnvoll. Der Logische Bereich wäre alias gewesen, aber dann müssen immer Zwingend verknüpfungen vorhanden sein. Zusätzliche Objekte können dort nicht angelegt werden.
Für mich war daher die logische Wahl als Zentraler Adapter net tools da hier jedes Gerät im Netzwerk angelegt werden kann.
Das erfordert mindestens ein Script um die Datenpunke mit Leben zu füllen obwohl die Daten vom jeweiligen Adapter geliefert werden.Im laufe der Zeit bin ich immer wieder über das Thema gestolpert. Meine eigenen Adapter könnte ich dahingehend Umbauen das sie ihre Objekte im net tools Adapter anlegen, aber dann müsste der immer Installiert sein.
Daher ist die Idee einen Namespace zu verwenden der Unabhängig von einem bestimmten Adapter ist, aber in den jeder Adapter seine Objekte beisteuern kann.
Struktur
Geräte die im Netzwerk zu finden sind haben eine MAC adressen die meistens Einzigartig ist und sich nicht ändert. Leider gibt es inzwischen einige Geräte die ihre MAC ändern damit man sie nicht verfolgen kann.
Daher ist es Sinnvoll eine unique id zu erzeugen und diese mit Informationen an zu reichern mit denen die Identität des Gerätes festgestellt werden kann. Wie MAC, IP, Hersteller,...ID: netzwerk.0.uid
Darunter können dann objekte angelegt werden die der Adapter benötigt. Dabei sollten Objekte die in verschiedenen Adaptern immer wieder vorkommen identifiziert werden und als Vorgabe festlegen.
Beispiele wären hier alive oder rssi, die häufiger vorkommen.Welche Adapter sind relevant?
Alle Adapter die Geräte über Netzwerk ansprechen und für einzelne Geräte Objekte anlegen.
Wie zum Beispiel net tools, ping, upnp, unifi, tr-064, lgtv, yamaha, wled & esphome. Da gibt es bestimmt an die 100 Adapter.
Jeder davon sammelt informationen teils mit identischen Methoden, aber auch mit Unterschiedlichen.Vorteile
- Zentrale Struktur für mehrere Adapter
- weniger Objekte insgesamt
- einheitlichere Struktur durch Basis vorgaben
- einfacheres handling für Visualisierungsadapter
- externe Geräte könnten direkt in diese Struktur ihre Daten schreiben ohne das dafür ein Adapter installiert sein muss (websocket & drone project)
Nachteile
- weniger Flexibilität für Entwickler ?
Vorraussetzungen
- Reservierter Namespace der nicht von einem Adapter verwendet werden darf, wie bei alias
- Vorgabe für neue Adapter diese Struktur zu verwenden um maximalen Nutzen zu erzielen
- festgelegte Struktur
- Dokumentation für Entwickler
-
@jey-cee Das klingt sehr gut, nervt mich teils auch, wenn ich Geräte mehrfach konfigurieren muss und eine Verbesserung der Zuverlässigkeit durch Aggregation verschiedener Adapterwerte halte ich für sehr sinnvoll