Für alle, die sich eine Demo der Funktion ansehen möchten, habe ich ein Video auf Twitter hochgeladen, das die Einrichtung und Nutzung von Google Home in weniger als einer Minute zeigt!
Ich bin stolz auf mich ![]()
Für alle, die sich eine Demo der Funktion ansehen möchten, habe ich ein Video auf Twitter hochgeladen, das die Einrichtung und Nutzung von Google Home in weniger als einer Minute zeigt!
Ich bin stolz auf mich ![]()
Ehrlich gesagt ist diese Funktion Spitze. Die Smart-Home-Assistenten (Google / Alexa) sind überall vertreten. In diesem Fall habe ich Alexa etwas günstiger und das wäre eine super Funktion, die entwickelt werden könnte. Das fügt Gladys definitiv mehr Interesse hinzu, da man Gladys und die Google-Assistenten etc. mischen kann!
Das ist super!! Um ehrlich zu sein, habe ich seit einigen Monaten ein benutzerdefiniertes Gladys-Image mit Google Home, es fehlt nur noch das lokale Netzwerk, das eingerichtet werden muss, ansonsten funktioniert es ganz gut ![]()
Allerdings müssen die Geräte von Gladys und die Geräte von Google für neue Typen und neue Funktionen weiterhin konvertiert werden.
Hallo! Eigentlich ist das eine super Funktion, @pierre-gilles, Hut ab!
Ich wäre aber an dem lokalen Teil von @AlexTrovato interessiert
!
Ich greife einen Punkt deiner Implementierung auf, @AlexTrovato. Aktuell rufst du reportState bei jeder Zustandsänderung eines Geräts auf.
Das Problem ist, dass die Google-API Grenzen hat (der Pi/Network, auf dem die meisten Leute Gladys laufen lassen, auch), und einige im Forum haben ziemlich große Installationen, die ihre Zustände sehr häufig aktualisieren.
In der Google-Dokumentation steht dazu:
Ich habe auf meiner Seite einen « Debounce » pro Gerät implementiert, um das Senden neuer Zustände zu begrenzen und ihre API im schlimmsten Fall nur alle X Sekunden aufzurufen.
Bisher habe ich 5 Sekunden eingestellt (ein Gerät kann seinen Zustand nur alle 5 Sekunden aktualisieren).
Der Code sieht folgendermaßen aus:
const SEND_STATE_TIMEOUT = 5 * 1000;
if (this.forwardStateToGoogleHomeTimeouts.has(event.device_feature)) {
clearTimeout(this.forwardStateToGoogleHomeTimeouts.get(event.device_feature));
}
const newTimeout = setTimeout(() => {
sendCurrentState(event.device_feature);
}, SEND_STATE_TIMEOUT);
this.forwardStateToGoogleHomeTimeouts.set(event.device_feature, newTimeout);
Der Nachteil ist, dass dies die Übertragung aller Ereignisse um 5 Sekunden verzögert, aber das ist notwendig, damit diese Technik funktioniert: Wenn man stattdessen ein Throttle verwenden würde, hätte man einen falschen Zustand auf der Google-Seite (da es nur der alte Zustand wäre).
Was denkst du?
Hallo zusammen!
Um euch auf dem Laufenden zu halten, läuft die kontinuierliche Integration gut.
Ich bin mit den Feinheiten beschäftigt, aber die letzte Phase ist komplizierter, als ich dachte ![]()
Bevor es veröffentlicht wird, ist es bei Google recht gut gemacht, es gibt automatisierte Tests, die eingerichtet werden, um sicherzustellen, dass die Integration funktioniert, und dann muss die App von Google validiert werden. Das dauert etwa 1-2 Wochen, soweit ich gelesen habe.
Aktuell bin ich bei den Integrationstests:
Parallel dazu kümmere ich mich um den „rechtlichen“ Teil, damit die Anwendung von Google akzeptiert wird (Markenüberprüfung, Website, Datenschutzrichtlinie, AGB usw.).
Sobald alles fertig ist, muss ich ein Zertifizierungsformular ausfüllen, damit Google die Anwendung akzeptiert, und dann müssen wir auf ihre Rückmeldung warten.
Ich halte euch auf dem Laufenden!
Um euch auf dem Laufenden zu halten, ich arbeite immer noch daran, aber ich komme nicht wirklich weiter.
Die Integration funktioniert, aber es ist unmöglich, die Google-Seiten-Tests durchzuführen, die für die Validierung notwendig sind.
Es ist sehr „Blackbox“ auf ihrer Seite, es ist sehr schwer zu verstehen, was sie erwarten. Die Dokumentation ist sehr mager und sogar an manchen Stellen falsch (die Attribute sind nicht dieselben, ob es sich um den Anfrage-Body oder die Antwort handelt, die Google-API ist wirklich nicht konsistent..) .
Ich bin nicht der Einzige in den Foren, der dieses Problem hat, und deshalb verbringe ich meine Tage (wörtlich
) damit, das Internet zu durchforsten, um das fehlende Detail für die aktuelle Integration zu finden.
Ich lese den Code anderer Smart-Home-Systeme, um den Unterschied zu finden, aber es ist wirklich die Nadel im Heuhaufen, besonders weil es funktional läuft, es sind wirklich die Google-seitigen Tests, die nicht funktionieren!
Kurz gesagt, die Tests funktionieren gut, wenn ich eine Glühbirne ohne Temperatursteuerung habe, aber sobald ich die Temperatursteuerung hinzufüge, gibt es Probleme:
Ich habe das Gefühl, dass Google den Attribut „temperatureK“ im reportState nicht sieht, obwohl ich ihn tatsächlich sende!
Das macht mich verrückt ![]()
Ein paar Stunden später habe ich einen Hinweis gefunden, ich bin mir nicht sicher, ob es die Lösung ist, aber an dem Punkt, an dem ich bin.. ![]()
Im Großen und Ganzen habe ich den Eindruck, dass die Google-API nur Lampen akzeptiert, die entweder die RGB-Farb- oder die Temperaturfunktion haben, aber nicht beides, sondern nur eines davon.
Ich habe es geschafft, die Tests zu bestehen, indem ich eine Gladys-Instanz konfiguriert habe, die 2 Glühbirnen hat:
Farbe und Temperatur funktionieren nicht zusammen
Jedenfalls funktionieren die Integrationstests mit dieser Lösung:
Allerdings erscheint mir seltsam, dass die Tests so aussehen, als wären sie für eine Glühbirne mit allen Funktionen zusammen gemacht, was mir seltsam vorkommt.
Aber schwer zu sagen: keine Beispiele von Google, es ist alles sehr unklar
Edit: Also tatsächlich ist es genau das, was ich dachte, die Tests sind also auf „skip“ gesetzt und wir haben nur 89% Abdeckung mit diesem Szenario:
Aber schwer zu sagen, ob das die Überprüfung besteht oder nicht
Okay, ich habe eine StackOverflow-Issue erstellt, um um Hilfe zu bitten, ich bin eindeutig festgefahren.
Erstmals seit Jahren gehe ich auf StackOverflow, um eine Frage zu stellen ^^
Falls jemand hier die Antwort oder auch nur einen Hinweis hat, wie man diese Tests zum Laufen bringt, bin ich dankbar!
Hallo zusammen!
Neues von der Integration: Ich habe endlich eine Antwort auf Stackoverflow erhalten (es ist recht technisch, ihr könnt die Antwort auf Stackoverflow sehen, falls es euch interessiert: https://stackoverflow.com/questions/68205798/in-reportstate-of-the-google-smarthome-api-temperaturek-amp-spectrumrgb-doesn)
Ich habe die Tests mit dieser Antwort bestanden und ihr 12-seitiges Formular ausgefüllt, um die Zertifizierung zu beantragen, was mir dann ermöglichen wird, eine Überprüfung der Gladys Assistant-App zu beantragen.
Normalerweise dauert die Zertifizierung 2 Wochen (mit etwas Glück), dann muss man wahrscheinlich die gleiche Zeit für die Überprüfung einplanen (mit etwas Glück). Da es sich um die erste Überprüfung handelt, wäre es nicht überraschend, wenn es Rückmeldungen gäbe, gefolgt von einer weiteren 2-wöchigen Wartezeit für die erneute Validierung…
Ich verheimliche nicht, dass es nicht sehr angenehm ist, mit ihnen an dieser Integration zu arbeiten. Google ist ein großes Unternehmen und es gibt keine Möglichkeit, sie zu kontaktieren. Es ist eine totale Blackbox von A bis Z ^^ Der « Code »-Teil wird am Ende nur 5% der Zeit dieser Integration ausmachen.
Ich habe meine Flaschenpost in den Ozean geworfen und drücke die Daumen, dass wir das so schnell wie möglich in Gladys haben werden ![]()
Ich melde mich nochmal, ich hatte es eigentlich nicht gesehen, aber es ist möglich, eine „Alpha“-Version ohne Google-Validierung zu veröffentlichen, und ich kann euch daher vorab Zugang zu dieser Funktion geben, während die Integration validiert wird!! ![]()
Ich denke, es wäre cool, Alpha-Tester zu haben, noch bevor wir das veröffentlichen, also ist es eigentlich sogar eine gute Sache, dass wir diesen Weg vor der Veröffentlichung gehen.
Ich fahre bald in den Sommerurlaub, also ich bin mir nicht sicher, ob ich jetzt Zeit habe, euch Zugang zu geben, aber wenn einige von euch interessiert sind, an dieser Alpha nach den Ferien teilzunehmen (egal, ob ihr Gladys Plus-Nutzer seid oder nicht), könnt ihr hier antworten, dass ihr interessiert seid, und wir klären die Details dann privat
(da ich eure Google Home-E-Mail-Adresse benötige).
Hallo! Ich bin interessiert ![]()
Wenn du willst, dass ich es teste, fahre ich Sonntag in den Urlaub.
Auch interessiert am Testen ![]()
ich bin interessiert, es zu testen
Hallo zusammen!
Zur Information: Google hat gerade auf meine Zertifizierungsanfrage geantwortet – es geht voran! ![]()
Bei Gladys muss ich noch ein paar Integrationstests festlegen, das auf master mergen und dann ein Gladys-Release durchführen.
Anschließend werde ich bei Google den Prozess für die Alpha starten und euch dann um eure Google-E-Mail-Adressen bitten, um euch zur Alpha hinzuzufügen.
Ich halte euch auf dem Laufenden!
Update: Ich habe die Tests behoben und auf master gemerged. Das wird in der nächsten Version von Gladys in die Alpha gehen ![]()
In der Zwischenzeit arbeite ich weiter mit Google an der Zertifizierung und der offiziellen Integration!
Damit ihr auf dem Laufenden bleibt, jetzt, wo ich Kontakt mit Google habe, geht es viel schneller! (Sie waren wahrscheinlich im Sommer im Urlaub)
Sie antworten recht schnell auf E-Mails, und wir starten gerade ein Testverfahren
Drücken wir die Daumen! ![]()
Hallo zusammen!
Neuigkeiten zur Google Home-Integration.
Nach einer Woche fast täglichen Austauschs mit meinem Ansprechpartner bei Google habe ich es endlich geschafft, @VonOx, unserem ersten Tester, Zugriff auf die Google Home-Integration via Gladys Plus zu gewähren ![]()
Um euch die Details zu geben, im Großen und Ganzen ist die « release alpha/beta »-Funktion, die die Google-Konsole anbietet, auf Seiten von Google kaputt, und laut meinem Ansprechpartner wird das nicht so schnell behoben werden ^^
Ich erzähle euch nicht, wie unsere E-Mail-Austausche aussahen, ich dachte, bei Google wären Profis: überhaupt nicht, es ist komplett improvisiert
Vor allem scheint die Information intern nicht gut zu fließen, also der Typ hat den Zustand des Dienstes über meine Beobachtungen gelernt.
Kurz gesagt, um @VonOx Zugriff auf diese Alpha-Version zu geben, hat mir mein Ansprechpartner bei Google geraten, einfach den vollen Zugriff (lesend) auf meine Google-Administrationskonsole zu gewähren. Das ist nicht verrückt, aber es erledigt den Job für die Alpha.
Angesichts dieser Bedingungen denke ich nicht, dass ich eine « erweiterte » Alpha wie geplant machen kann (die Integration mit Dutzenden von Testern teilen), denn selbst @VonOx vertraue ich, aber ich kann keinen freien Zugriff auf meine Google-Konsole im Internet gewähren ^^
Daher wird der Plan eher sein, eine Produktionsversion relativ schnell zu veröffentlichen, und bevor ich öffentlich über die Veröffentlichung spreche, werde ich die Informationen zum Testen privat mit denen teilen, die es wünschen ![]()
Bisher läuft der Test mit @VonOx gut: Alles scheint zu funktionieren. Ich habe nur eine kleine Sache bemerkt, die korrigiert werden muss, damit alles perfekt ist.
Sobald dieser Punkt korrigiert ist, denke ich, dass ich den Produktionsbereitstellungsprozess starten kann ![]()
Nochmals vielen Dank für eure Geduld ![]()
Korrektur des Problems mit @VonOx: