NEWS
[ADAPTER] GitHub Updater
-
Hallo zusammen,
ich habe einen kleinen Adapter geschrieben, der ein Problem löst das mich schon länger gestört hat: Adapter die man per „iobroker url" direkt von GitHub installiert, tauchen im normalen Update-Check des Admin nicht auf. Man bekommt also keine Benachrichtigung wenn es eine neue Version gibt und muss manuell nachschauen.
Der github-updater Adapter macht genau das automatisch.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Was der Adapter macht
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━• Erkennt automatisch alle Adapter die per GitHub installiert wurden – keine manuelle Konfiguration nötig.
• Prüft über die GitHub API ob eine neuere Version verfügbar ist:
– Repos mit Releases oder Tags: Semver-Vergleich
– Repos ohne Releases/Tags (nur Commits): Commit-Hash-Vergleich – auch hier wird ein neuer Commit als Update erkannt• Zeigt das Ergebnis als ioBroker-States an (installierte Version, neueste Version, Update
verfügbar, Release-URL)• Optional: Auto-Update per Knopfdruck oder vollautomatisch
• Prüfintervall einstellbar (Standard: 24 Stunden)
• GitHub Personal Access Token unterstützt (erhöht das Rate-Limit von 60 auf 5000 API-Anfragen/h)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Installation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Da der Adapter selbst noch nicht im offiziellen Repository ist, muss er – passenderweise – ebenfalls per GitHub-URL installiert werden:
https://github.com/d3vc0-de/ioBroker.github-updaterDanach taucht er im Admin unter Instanzen auf und kann dort konfiguriert werden.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Hinweis – bitte lesen
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Der Adapter ist mit Vorsicht zu genießen, und zwar aus einem grundsätzlichen Grund:
Adapter die direkt von GitHub installiert werden sind per Definition nicht im offiziellen ioBroker-
Repository geprüft. Das bedeutet, dass auf GitHub jederzeit auch instabile Zwischenstände, Beta- Builds oder sogar fehlerhafte Commits als „neueste Version" landen können – ganz ohne Release-Kennzeichnung.Der github-updater kann das nicht unterscheiden. Er meldet „Update verfügbar" sobald sich etwas geändert hat, egal ob das eine bewusste neue Version oder ein halbfertiger Entwicklungsstand ist.
Konkret:
• Repos mit Releases/Tags: in der Regel unkritisch, da der Entwickler bewusst eine Version
veröffentlicht hat
• Repos ohne Releases/Tags (reiner Commit-Vergleich): hier kann ein „Update" auch ein Work-in- Progress-Commit sein – im Zweifel lieber kurz auf GitHub nachschauen bevor man aktualisiert
• Auto-Update: wer diese Funktion aktiviert sollte sich bewusst sein, dass dabei ein laufender
Adapter kurz gestoppt und neu gestartet wird – und dass im schlimmsten Fall ein fehlerhafter
Stand eingespielt werden kannKurz gesagt: der Adapter ist ein Hilfsmittel für Leute die wissen was sie tun. Wer auf Stabilität
angewiesen ist, sollte das Auto-Update deaktiviert lassen und Updates manuell prüfen.━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━GitHub: https://github.com/d3vc0-de/ioBroker.github-updater
Über Feedback, Bugreports und Verbesserungsvorschläge freue ich mich!
-
H Homoran verschob dieses Thema von Off Topic am
-
Kurz gesagt: der Adapter ist ein Hilfsmittel für Leute die wissen was sie tun. Wer auf Stabilität
angewiesen ist, sollte das Auto-Update deaktiviert lassen und Updates manuell prüfen.
Ich würde eher sagen der Adapter ist was für Masochisten.
Releaseangaben auf Github sind Schall und Rauch. Einfach mal weil da was committed wurde updzudaten ist m.E. nicht nur riskant sondern auch sehr sehr mutig
Ich kann daher nur dringend raten diesen Adapater KEINESFALLS zu verwenden.
Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.
GitHub Versionen können sich jederzeit (auch kurzfristig) ändern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardmäßigen Umgebung erst im Zuge der Releaseerstellung geändert wird.
Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalität - unter Inkaufnahme des erhöhten Risikos - natürlich erfolgen.
Adapter die nur via GitHub oder npm (also NICHT aus einem der beiden Repositories) installierbar sind sind mit erhöhter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird.
Und falls es irgendwie unklar ist:
ioBroker unterstützt folgende Arten von Installation:
-
aus dem STABLE Repository
Das sind Adapter Releases die keine groben Fehler aufweisen (sollten). Natürlich kann es auch dort Fehler geben, die Behebung davon obliegt dem jeweiligen Dev und kann ggF auch dauern.
-
aus dem LATEST Repository
Das sind Adapter Releases die neu erstellt wurden und nur rudimentär getestet sind - oft auch als BETA Releases bezeichnet. Releases aus dem LATEST sind primär für unsere zahlreichen freiwilligen Tester gedacht. BETA / LATEST Releases können durchaus Fehler aufweisen - auch wenn ich davon ausgehe dass jeder aintainer dies zu vermeiden versucht. Vom Einsatz auf produktiven Systemen wird abgeraten außer man braucht irgenein neues Feature (z.B. neues Gerät) unbedingt. Hier muss dann jeder Entscheiden was ihm wichtig ist.
-
direkt von GITHUB
Von Installationen direkt aus Giuthub wird definitiv abgeraten außer auf Anweisung des Maintainers und für den Fall dass man gemeinsam mit diesem etwas testen will. Details siehe oben.
-
direkt von npm
Diese Installation kann erforderlich sein, wenn man eine bestimmte Version installieren möchte / muss. Im Normalfall sollte man direkte npm Installationen ebenso meiden wie direkte GitHub Installationen - ausgenommen um z.B. zu einer bekannten Version downzugraden - obwohl hier wenigstens ein definierter Stand garantiert ist.
Adapter die NUR via npm und/oder nur via GitHub installierbar sind sollte man meiden - diese wurden nicht mal einem rudimentären Review unterzogen und sollten mit dem Attribut "vollständig auf eigenes Risiko verwenden" installiert werden. Hier empfiehlt es sich den Developer zu ersuchen eine Aufnahme in die Repos zu veranlassen. Wenn dieser darauf nicht reagiert sollte man von einer eher kurzen und unklaren Lebensdauer des Adapters ausgehen. Support meiner-/unsererseits für solche Adapter ist mit Sicherheit minimalistisch.
-
-
Hallo zusammen,
ich habe einen kleinen Adapter geschrieben, der ein Problem löst das mich schon länger gestört hat: Adapter die man per „iobroker url" direkt von GitHub installiert, tauchen im normalen Update-Check des Admin nicht auf. Man bekommt also keine Benachrichtigung wenn es eine neue Version gibt und muss manuell nachschauen.
Der github-updater Adapter macht genau das automatisch.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Was der Adapter macht
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━• Erkennt automatisch alle Adapter die per GitHub installiert wurden – keine manuelle Konfiguration nötig.
• Prüft über die GitHub API ob eine neuere Version verfügbar ist:
– Repos mit Releases oder Tags: Semver-Vergleich
– Repos ohne Releases/Tags (nur Commits): Commit-Hash-Vergleich – auch hier wird ein neuer Commit als Update erkannt• Zeigt das Ergebnis als ioBroker-States an (installierte Version, neueste Version, Update
verfügbar, Release-URL)• Optional: Auto-Update per Knopfdruck oder vollautomatisch
• Prüfintervall einstellbar (Standard: 24 Stunden)
• GitHub Personal Access Token unterstützt (erhöht das Rate-Limit von 60 auf 5000 API-Anfragen/h)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Installation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Da der Adapter selbst noch nicht im offiziellen Repository ist, muss er – passenderweise – ebenfalls per GitHub-URL installiert werden:
https://github.com/d3vc0-de/ioBroker.github-updaterDanach taucht er im Admin unter Instanzen auf und kann dort konfiguriert werden.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Hinweis – bitte lesen
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Der Adapter ist mit Vorsicht zu genießen, und zwar aus einem grundsätzlichen Grund:
Adapter die direkt von GitHub installiert werden sind per Definition nicht im offiziellen ioBroker-
Repository geprüft. Das bedeutet, dass auf GitHub jederzeit auch instabile Zwischenstände, Beta- Builds oder sogar fehlerhafte Commits als „neueste Version" landen können – ganz ohne Release-Kennzeichnung.Der github-updater kann das nicht unterscheiden. Er meldet „Update verfügbar" sobald sich etwas geändert hat, egal ob das eine bewusste neue Version oder ein halbfertiger Entwicklungsstand ist.
Konkret:
• Repos mit Releases/Tags: in der Regel unkritisch, da der Entwickler bewusst eine Version
veröffentlicht hat
• Repos ohne Releases/Tags (reiner Commit-Vergleich): hier kann ein „Update" auch ein Work-in- Progress-Commit sein – im Zweifel lieber kurz auf GitHub nachschauen bevor man aktualisiert
• Auto-Update: wer diese Funktion aktiviert sollte sich bewusst sein, dass dabei ein laufender
Adapter kurz gestoppt und neu gestartet wird – und dass im schlimmsten Fall ein fehlerhafter
Stand eingespielt werden kannKurz gesagt: der Adapter ist ein Hilfsmittel für Leute die wissen was sie tun. Wer auf Stabilität
angewiesen ist, sollte das Auto-Update deaktiviert lassen und Updates manuell prüfen.━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━GitHub: https://github.com/d3vc0-de/ioBroker.github-updater
Über Feedback, Bugreports und Verbesserungsvorschläge freue ich mich!
@d3vc0-de sagte:
Wer auf Stabilität angewiesen ist, sollte das Auto-Update deaktiviert lassen und Updates manuell prüfen.
Nein!
Der sollte schnellstmöglich auf eine Version in den offiziellen Repos wechseln.Wenn es die dort nicht gibt wird das schon seinen Grund haben!
-
Wer den Adapter braucht hat wahrscheinlich absolut nicht verstanden was ein Github Stand ist.
Es ist JEDERZEIT möglich Adapter von NPOM (nicht mit npm (!!!) ) zu installieren. Das sind definierte Versionen - unabhängig von Repositories. Aber auf Github ist der SW Stand niemals definiert. Auch ein Tag ändert nichts daran da es jederzeit änderbar ist.
Installationen ovn Github sind NUR für Test- / Analysezwecke sinnvoll. Regelmäßig benutzte Adapter direkt von Github zu installieren ist totaler Blödsinn (sofern es nicht ein eigener Adapter ist bei dem man im Allgemeinen weiß was passiert). Aus gutem Grund markiert admin GitHub Installationen als unsupported...
Da der Adapter selbst noch nicht im offiziellen Repository ist, muss er – passenderweise – ebenfalls per GitHub-URL installiert werden:
Das wird er auch mit Sicherheit nie sein.
-
Ich kann hier nur zustimmen. GitHub Versionen von Adaptern sind per Definition development Versionen. Der Fall das es Adapter gibt wonder author den Weg zu npm oder ins repo nicht gegangen ist, ist ein zweiter Fall der auch nicht besser ist.
So oder so die allermeisten Nutzer können nicht bewerten wie stabil ein GitHub Stand ist. Von daher ist das Auto Update generell ein unbekanntes Risiko. Das ist nicht das Ziel was wir mit iobroker haben.
-
@d3vc0-de sagte:
Wer auf Stabilität angewiesen ist, sollte das Auto-Update deaktiviert lassen und Updates manuell prüfen.
Nein!
Der sollte schnellstmöglich auf eine Version in den offiziellen Repos wechseln.Wenn es die dort nicht gibt wird das schon seinen Grund haben!
@d3vc0-de sagte:
Wer auf Stabilität angewiesen ist, sollte das Auto-Update deaktiviert lassen und Updates manuell prüfen.
Nein!
Der sollte schnellstmöglich auf eine Version in den offiziellen Repos wechseln.Wenn es die dort nicht gibt wird das schon seinen Grund haben!
Ich will da jetzt nicht ne diskussion anstossen - aber baust du den Adapter schnell mal den ich brauche und der schon seit 3 Jahren nur auf github ist. Ja der ist nicht regel konform - aber geht gut genug :)
-
@d3vc0-de sagte:
Wer auf Stabilität angewiesen ist, sollte das Auto-Update deaktiviert lassen und Updates manuell prüfen.
Nein!
Der sollte schnellstmöglich auf eine Version in den offiziellen Repos wechseln.Wenn es die dort nicht gibt wird das schon seinen Grund haben!
Ich will da jetzt nicht ne diskussion anstossen - aber baust du den Adapter schnell mal den ich brauche und der schon seit 3 Jahren nur auf github ist. Ja der ist nicht regel konform - aber geht gut genug :)
-
-
H Homoran verschob dieses Thema von Tester am
-
Ich wusste ja gar nicht für wie viel Aufruhr ich hier sorge. :-)
Allen Beteiligten Danke ich für ihre Meinung und anregende Diskussion. -
H Homoran verschob dieses Thema von ...nicht in offiziellem Repo am
-
H Homoran verschob dieses Thema von Tester am
-
Hallo zusammen,
ich habe einen kleinen Adapter geschrieben, der ein Problem löst das mich schon länger gestört hat: Adapter die man per „iobroker url" direkt von GitHub installiert, tauchen im normalen Update-Check des Admin nicht auf. Man bekommt also keine Benachrichtigung wenn es eine neue Version gibt und muss manuell nachschauen.
Der github-updater Adapter macht genau das automatisch.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Was der Adapter macht
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━• Erkennt automatisch alle Adapter die per GitHub installiert wurden – keine manuelle Konfiguration nötig.
• Prüft über die GitHub API ob eine neuere Version verfügbar ist:
– Repos mit Releases oder Tags: Semver-Vergleich
– Repos ohne Releases/Tags (nur Commits): Commit-Hash-Vergleich – auch hier wird ein neuer Commit als Update erkannt• Zeigt das Ergebnis als ioBroker-States an (installierte Version, neueste Version, Update
verfügbar, Release-URL)• Optional: Auto-Update per Knopfdruck oder vollautomatisch
• Prüfintervall einstellbar (Standard: 24 Stunden)
• GitHub Personal Access Token unterstützt (erhöht das Rate-Limit von 60 auf 5000 API-Anfragen/h)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Installation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Da der Adapter selbst noch nicht im offiziellen Repository ist, muss er – passenderweise – ebenfalls per GitHub-URL installiert werden:
https://github.com/d3vc0-de/ioBroker.github-updaterDanach taucht er im Admin unter Instanzen auf und kann dort konfiguriert werden.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Hinweis – bitte lesen
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Der Adapter ist mit Vorsicht zu genießen, und zwar aus einem grundsätzlichen Grund:
Adapter die direkt von GitHub installiert werden sind per Definition nicht im offiziellen ioBroker-
Repository geprüft. Das bedeutet, dass auf GitHub jederzeit auch instabile Zwischenstände, Beta- Builds oder sogar fehlerhafte Commits als „neueste Version" landen können – ganz ohne Release-Kennzeichnung.Der github-updater kann das nicht unterscheiden. Er meldet „Update verfügbar" sobald sich etwas geändert hat, egal ob das eine bewusste neue Version oder ein halbfertiger Entwicklungsstand ist.
Konkret:
• Repos mit Releases/Tags: in der Regel unkritisch, da der Entwickler bewusst eine Version
veröffentlicht hat
• Repos ohne Releases/Tags (reiner Commit-Vergleich): hier kann ein „Update" auch ein Work-in- Progress-Commit sein – im Zweifel lieber kurz auf GitHub nachschauen bevor man aktualisiert
• Auto-Update: wer diese Funktion aktiviert sollte sich bewusst sein, dass dabei ein laufender
Adapter kurz gestoppt und neu gestartet wird – und dass im schlimmsten Fall ein fehlerhafter
Stand eingespielt werden kannKurz gesagt: der Adapter ist ein Hilfsmittel für Leute die wissen was sie tun. Wer auf Stabilität
angewiesen ist, sollte das Auto-Update deaktiviert lassen und Updates manuell prüfen.━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━GitHub: https://github.com/d3vc0-de/ioBroker.github-updater
Über Feedback, Bugreports und Verbesserungsvorschläge freue ich mich!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden