NEWS
[!!! Das Project !!!] Einen Adapter bauen ist nicht schwer
-
Hier mal nur die Beispiele von der oben genannten seite Die sich mit Entwicklung beschäftigt.
Auf YT gibt es noch weitere von anderen Anbieter (Schimmer, etc.)https://youtu.be/fUMtyYOtRcQ
https://youtu.be/7N8fsJcAdlE
https://youtu.be/ZeTdEH1SWBgMir geht es hier nicht darum, die Idee schlecht zu machen, sondern darum zu überlegen wie das besser sein könnte wie das was es schon gibt. Ansonsten gibt es einfach nur ein paar mehr Videos in Ähnlicher Qualität, welche eine Menge Arbeit gekostet haben Ohne einen echten zusätzlichen Wert zu schaffen
-
Mir hat dieses Video https://youtu.be/VXfpds4Rtqc von @Dutchman sehr geholfen, um einen Einstieg in Grafana zu bekommen und es am Ende auch bei zum laufen zu bekommen.
-
@OliverIO da hast du Natürlich ein perfektes Beispiel dafür gefunden wie es nicht sein sollte. Das erste Video von haus-automatisierung.com hatte ich damals Kritisiert weil er zu dem Zeitpunkt keine Ahnung von Adapterentwicklung hatte. Dadurch hat er einiges gezeigt was nicht richtig war.
Das ist hier schon mal definitiv anders, Dutchman weis wovon er redet.Was könnte man deiner Meinung nach den besser machen als in den Beispiel Videos?
-
Wie oben schon angedeutet bin ich auch kein Fan von Videos. Dokumentation würde sich für mich aus folgenden Bestandteilen zusammensetzen:
- Schriftliche Schritt für Schritt Anleitung. Gern auch unterteilt in die verschiedenen Themenbestandteile von dutchman, so das ein Anfänger zu beginn theoretisch stupide Befehle und Code-Bestandteile zusammenkopieren kann, auch wenn er nicht alles sofort versteht. Evtl. auch Verweise zu den einzelnen Schritten zu der dokumentation von iobroker mit noch mehr Details. Am Ende hat man einen lauffähigen Adapter plus ein Widget und das Erfolgserlebnis, welches als Grundmotivation für den eigenen Adapter dient.
- gute Dokumentation der APIs von iobroker. Nach meinem Gefühl haben wir hier bei verschiedenen Komponenten noch Lücken.
- Zur Ergänzung der schriftlichen Schritt für Schritt Anleitung diese auch gern als Video. So kann sich jeder seine bevorzugte Contentmethode raussuchen, die sicherlich auch sich gegenseitig unterstützend existieren können. Die erprobten Schritt für Schritt-Anleitung sind dann auch gleich das Drehbuch für die Videos. Bei videos muss man auch dran denken, das durch zukünftige Releasewechsel bei iobroker bestimmte Videos wieder neu produziert werden müssen, um die Änderungen auch darzustellen.
- Weiter würde ich mir für Basic-Operationen Codeschnipsel als Referenz wünschen. Wenn man nach einem Thema sucht findet man im Forum immer verschiedene Implementierungsmöglichkeiten. Auch wenn man in den Adaptern sucht, findet man zur selben Aufgabe verschiedene Implementierungen. als Anfänger weiß man nicht, was ist nun gut, da auch die Api-Dokumente oft die Funktion benennt, aber nicht beschreibt und die Hintergründe erklärt.
Als Beispiel kann ich hier das Anlegen und Löschen von States und Objects anführen, wo ich selbst noch vor kurzem Probleme hatte (Datenpunkt kann zwar mit setState angelegt werden, aber nicht mit delState gelöscht werden, da beim anlegen automatisch das Objekt mit angelegt wird. Beim löschen des Status verschwindet zwar der Datenpunkt aus dem Objektbaum, aber das Objekt existiert immer noch. Beim erneuten Anlegen gibt es dann Effekte, die als Anfänger schwer durchschaubar sind. Auch die Abgrenzung der Begriffe Objekt, State, Device, Channel, deren Erzeugung, Änderung und Löschung sind Herausforderungen für Anfänger. - Forum gibt es ja schon und Find ich auch super. Allerdings werden viele Informationen, die wichtig für Anfänger sind nur im Forum beschrieben. uU gibt es dann über die Zeit wieder verschiedene uneinheitliche Lösungen, wo ein Anfänger wieder verunsichert. Bestimmte Informationen sollten in ein Wiki wandern oder in den Bereich der Musterlösungen/code-Schnipsel
Das wären für mich die 5 Säulen für eine gute Dokumentationsbasis nicht nur für Anfänger.
Als Beispiel kann ich die Dokumentation von Symfony mit den Bereichen Getting started, sowie "Tutorials and Guides" für spezielle Bereiche.Falls jemand das nicht so sieht, dann bin ich zur Diskussion gern bereit.
-
@Dutchman Ich bin mir nicht sicher ob ich mir einen Adapter zutrauen würde, aber ich werde das Thema mit großem Interesse verfolgen.
Vielleicht ist irgendwann mal meine Heizungssteuerung https://github.com/proddy/EMS-ESP
als Adapter verfügbar.Dein Grafana Video war jedenfalls Klasse und hat mir den Einstieg sehr erleichtert. Vielleicht klappt das hier ja auch.
-
@OliverIO sagte in [!!! Das Project !!!] Einen Adapter bauen ist nicht schwer:
Als separaten Punkt Könnte man noch die Erstellung von Widgets aufnehmen
Ein weiterer interessanter Punkt, wäre auch der Umgang mit der Übersetzung im Adapter
das müsste jemand anders machen ich bin front ent dau
-
@OliverIO sagte in [!!! Das Project !!!] Einen Adapter bauen ist nicht schwer:
drin steckt.
Einige Informationen muss man auch immer wieder mal nachschlagen.
Daher können Videos nur unterstützend da sein.danke fuer den trip
ich werde ne zeit axe mitnehmen und Beispiele, würde mich über Hilfe bei doch freuen !!!!
-
@OliverIO sagte in [!!! Das Project !!!] Einen Adapter bauen ist nicht schwer:
Wie oben schon angedeutet bin ich auch kein Fan von Videos. Dokumentation würde sich für mich aus folgenden Bestandteilen zusammensetzen:
Bin vol bei dir, brauche aber Hilfe mache auch gerne parallel dev-docu aber bitte um Hilfe bei der Schreibarbeit
-
@Dutchman
ich könnte den Anteil zu einem Adapter und einem Widget schreiben..
Als UseCase-Vorschlag für einen einfachen Adapter + widget könnten wir
etwas nehmen ohne Hardwareabhängigkeit. Etwas was Daten aus dem Internet verwendet.Mit würde ein Adapter zum einlesen von Börsenkursen auf Basis der API von Yahoo Finance
vorschweben. die haben eine sehr einfache Schnittstelle für historische Daten abrufbar als CSV -
@OliverIO sagte in [!!! Das Project !!!] Einen Adapter bauen ist nicht schwer:
ich könnte den Anteil zu einem Adapter und einem Widget schreiben..
das waehre super cool !
-
Sehr geiles Thema, wenn die Zeit es zu lässt verfolge ich das ganze auf jeden Fall. Ich schätze deinen Ehrgeiz und deine Geduld, ich glaube du kannst uns gut zum Ziel führen. Bin echt gespannt.
-
@Dutchman Tolle Idee! Danke schon mal für deine Mühe!
-
Bin dabei. Deine Anleitungen und Hilfen waren immer super! Danke für deinen Einsatz!
Gibt es eine spezielle Telegram Gruppe?
@Dutchman -
Finde die Idee auch super. Dann kann ich mein Hobby ja noch intensiver gestalten.
-
Hi All !
Gibt es noch Ergänzungen zur oben genannten liste, sonst wuerde ich naemlich anfangen gezielt zu planen wan ich was abarbeiten kan
-
@Dutchman sagte in [!!! Das Project !!!] Einen Adapter bauen ist nicht schwer:
Gibt es noch Ergänzungen zur oben genannten liste, sonst wuerde ich naemlich anfangen gezielt zu planen wan ich was abarbeiten kan
Zu Punkt 1 VsCode und Git, wär mir persönlich hilfreich wenn auch so Themen wie Versionsverwaltung und branches angesprochen werden. Bis dahin kommt man mit Netz Tutorials recht schnell und einfach, ab da fängts dann das haken an.
-
@Dutchman ich habe mich just heute gefragt, welche Grundvoraussetzungen man haben muss...gehört das Wissen um JavaScript dazu? Dann wäre es gut, das als Voraussetzung irgendwo zu sehen. Wenn nein, wäre es auch gut, dass irgendwo zu sehen, dass es nicht so ist
-
Super Sache. Genau so etwas habe ich gesucht.
-
@Kueppert
Da die Adapter programmiert werden müssen und nicht nur zusammengecklickt werden können.
Sind zwingend mindestens Kenntnisse in Javascript oder alternativ Typescript notwendig.
Dutchman kann das in einer Einleitung sicherlich erwähnen.Weitere Kenntnisse hängen natürlich stark davon ab, was man umsetzen möchte.
-
für Admindialog wären das dann noch Javascript + HTML + CSS
-
für Widgets ebenfalls Javascript + HTML + CSS + tiefere Kenntnisse von der Funktionsweise in vis
-
für Adapter die Hardware anbinden wollen dann Kenntnisse zu den APIs der Hardware oder Scraping von evtl. vorhandenen Weboberflächen oder verschiedenen Kommunikationsprotokollen (ajax, websockets, TCP, etc.)
-
Falls für die Hardware oder anzubindende Datenprovider keine Dokumentation vorhanden ist, dann Kenntnisse wie Reengineering funktioniert. aber das geht schon sehr tief ins eingemachte.
-
Basisskills wären für mich dann noch sicherer Umgang mit dem jeweiligen Betriebssystem.
-
Kenntnisse zum Versionskontrollsystem git
-
Kenntnisse über die Dateien in iobroker (in welchem Verzeichnis liegt welche Art von Datei)
-
-
@OliverIO puuuh, scheiße...damit verschreckst jetzt mit Sicherheit den einen oder anderen