Gladys in GoogleHome integrieren

Im Vergleich zu Version 3 sind die coolen Features meiner Meinung nach:

  • Die Fernsteuerung ist eine vollständige Steuerung von Gladys (es ist dieselbe UI wie bei Gladys lokal, während es in Version 3 aufgrund der technischen Einschränkungen von Version 3 eine andere, sehr eingeschränkte Frontend war)
  • Automatische Backups alle 24 Stunden
  • Die offene API
  • Und tatsächlich die neuen Integrationen, die kommen (Google Home, Alexa, etc.)

Kein Problem, ich war mir nicht sicher, was die Absicht des Beitrags war, und wenn du die Frage stellst, bist du wahrscheinlich nicht der Einzige, der so denkt, also habe ich die Gelegenheit genutzt, um eine vollständige Antwort zu geben :slight_smile:

Dazu denke ich, dass du hier einige Dinge verwechselst:

  • Auf der einen Seite ist Gladys Assistant ein Open-Source-Projekt unter Apache 2.0-Lizenz. Jeder kann auf freiwilliger Basis eine Integration entwickeln. Ich tue mein Bestes, um die Community zu motivieren, ich antworte auf GitHub, im Forum, ich mache regelmäßig 1:1-Anrufe mit jedem, der will, wenn jemand stecken bleibt, ich versuche, der „Orchestrator“ dieser Community zu sein.

Dennoch kann ich diese Mitwirkenden nicht zwingen, zu entwickeln, jeder hat unterschiedliche Lebensprojekte, Kinder kommen, ein Job, und Gladys ist oft ein Nebenprojekt, das nach allem anderen am Abend und am Wochenende kommt.

Allgemein entwickeln die Entwickler im Forum Integrationen nur für die Hardware, die sie selbst haben. Man sollte nicht denken, dass diese Entwickler wohltätige Vereine sind, sie entwickeln vor allem für ihr eigenes Interesse, und wenn sie Zeit haben, teilen sie ihre Arbeit mit der Community.

  • Gladys Plus ist ein Unternehmen, und ich habe eine Verantwortung gegenüber den Gladys-Plus-Kunden. Ich halte eine bestimmte Servicequalität ein und höre auf ihre Anforderungen, um diese Kundschaft zu halten.

Jetzt zurück zu den Integrationen und meiner persönlichen Zeitplanung.

In Version 4 ist es wie in Version 3, ich versuche persönlich, meine Zeit und mein Fachwissen in das zu investieren, was den größten Einfluss auf das Projekt haben könnte: den Kern von Gladys.

Zum Beispiel habe ich diesen Sommer an verschiedenen Themen gearbeitet:

  • Das Multi-Dashboard (ein eher großes Stück)
  • Die Aggregation von Sensorwerten in Kurven auf dem Dashboard (eine recht titaneske Arbeit, die mich einen guten Teil des Sommers beschäftigt hat, viel mehr als die Google-Home-Integration in Entwicklungszeit)

Für mich sind das grundlegende Themen, die hyperwichtig sind, und wenn ich mich nicht darum kümmere, wird niemand daran arbeiten. Es sind Themen, die gleichzeitig komplex in Bezug auf die UI und komplex in Bezug auf die Datenverarbeitung sind.

Da es Entwicklungen sind, die sich über Wochen der Entwicklung erstrecken, und ich in Teilzeit bei Gladys arbeite, erstreckt sich die Entwicklung über mehrere Monate.

Weil die Entwicklung einer Integration nicht eine „einmalige“ Entwicklung ist, sondern eine kontinuierliche Wartung.

Wenn eine Integration von einem externen Entwickler entwickelt wird, kümmert sich der Entwickler in der Regel um die Wartung des Dienstes und ist so etwas wie der „Ansprechpartner“ des Dienstes. Das ist ein funktionierendes Modell, und die Integration ist stabil und langlebig, weil es jemanden gibt, der den Code kennt und die Integration täglich nutzt.

Beispiel:

Wenn ich diese Integrationen selbst entwickelt hätte, wäre ich der Einzige, der den Code kennt, und ich müsste die Wartung des Dienstes übernehmen (neue Geräte hinzufügen, verschiedene auftretende Probleme debuggen/Updates durchführen).

Da ich mich aber um folgende Dinge kümmern muss:

  • Die Community und alle damit verbundene Kommunikation (YouTube-Videos, Blog-Posts, Pflege der Website, etc.)
  • Entwicklung des Kerns
  • Verwaltung & Entwicklung rund um Gladys Plus

Alles auf Teilzeitbasis (2,5 Tage/Woche), habe ich realistisch gesehen nicht die Zeit, mich mit diesen Integrationen zu beschäftigen.

Schließlich denke ich, dass es immer besser ist, wenn ein Entwickler, der das Gerät tatsächlich nutzt, eine Integration durchführt, denn er versteht den Bedarf besser.

Zum Beispiel war ich mehrere Tage bei @hamtaro in Niort, um all das Xiaomi-Material zu nutzen, das er hat, und den ersten Xiaomi-Dienst in Gladys v4 zu entwickeln, um die Entwicklung des v4-Dienstes „anzustoßen“ und der Community einen ersten Dienst zu zeigen.

Das Problem ist, dass ich nur ein paar Tage bei ihm war, und da ich den Dienst codiert habe, gab es keinen „Ansprechpartner“ (theoretisch bin ich der Ansprechpartner: aber ich habe nicht die Geräte!)

Seitdem konnte ich also nicht mehr an der Integration arbeiten.. Ich habe zwar im Forum nach einem Ersatz gesucht, aber niemanden gefunden, der die Integration warten kann (Gott sei Dank gibt es jetzt Zigbee2mqtt).

Um abzuschließen, denke ich, dass der Ansatz „eine Integration = ein Ansprechpartner, der das Gerät tatsächlich zu Hause nutzt“ der richtige ist, und ich denke, dass ich auf langfristige Themen wie den Kern mehr Einfluss habe.

Top, das wird in den kommenden Wochen kommen :slight_smile:

Warum nicht, ich habe letzte Woche eine E-Mail an eine Auswahl ehemaliger Mitwirkender geschickt, und sonst werde ich darüber in dem Newsletter sprechen, den ich verschicke (etwa 3000 Abonnenten).

Bearbeitung: In Bezug auf den Mangel an DEV bei der Z-Wave-Integration haben wir darüber vor ein paar Tagen hier gesprochen: Z-Wave - Gladys v4 - Windows WSL - #121 par pierre-gilles