Jalousie mit Google Home

Hast du das Google Home-Produktions-Plugin auf Gladys Plus getestet?

Bist du sicher, dass du das Docker-Image bei dir laufen hast und es dir gelungen ist, deine Rollläden (in der Realität) über die Google Home-App zu steuern?

Ich habe es bei mir zu Hause getestet und es funktioniert nicht :thinking:

Seltsam …
Ich habe es geschafft, über meine Google Home Mobile App, über Gladys Plus, eine Nachricht zu senden, die es ermöglichte, die Position eines gefälschten MQTT-Geräts vom Typ Vorhang zu ändern.

Allerdings wird wahrscheinlich ein Teil der Google Home-Integration überarbeitet werden müssen, da während des Tests eine Nachricht für den Vorhang gesendet wurde, aber auch für die Funktion Rollo auf demselben Gerät, was einen Fehler in den Protokollen verursacht und zu Verwirrung führen kann.
Bei Google fallen Vorhang und Rollo unter die Kategorie „OpenClose“, also eine Google-Funktion auf zwei Gladys.

Vielleicht mache ich etwas falsch, hier ist, was ich bei Google Home sehe:

Beim Klicken kann ich nichts tun.

Hmm, das ist tatsächlich schrecklich.
Hast du versucht, den „Shutter“-Gerät auf Google Home zu „long pressen“? Bei mir öffnet sich ein anderes Panel mit nur zwei Buttons „öffnen/schließen“, weil das MQTT-Gerät kein Feedback gibt.

google-home-shutter

Ich habe die Gelegenheit genutzt, um den Branch zu rebase und das Testbild zu aktualisieren.

EDIT:
Ist das MQTT-Gerät etwa kein Sensor?

Eigentlich denke ich, dass es ein Problem geben könnte, wenn das Feature „Position“ nur ein Indikator und kein Aktuator ist!

Vielleicht sollten wir noch etwas mehr recherchieren.
Ich werde meinen Entwurf noch einmal überarbeiten.

Nein, es ist kein Sensor! Die Steuerung funktioniert lokal

Das öffnet einen Bildschirm, aber nichts ist steuerbar und der Zustand scheint ein bisschen „kaputt“ ^^

Äh, ich glaube, ich hatte die Zustandsänderung tatsächlich schon (hinten ist Node-RED), aber ich brauchte die Zustandsänderung, um meine Aktionen auf der Node-RED-Seite auszulösen.

Okay, vielleicht habe ich ja etwas falsch gemacht…

@AlexTrovato wenn du irgendwelche Informationen brauchst, sag mir einfach Bescheid :slight_smile:

@AlexTrovato Ich frage mich, ob das nicht nur ich hatte, ein komisches Problem. Wenn @spenceur bestätigt, dass er es in der Praxis getestet hat und es bei ihm funktioniert, können wir meiner Meinung nach zusammenführen. Was denkst du? Hast du einen Fix im Sinn oder gar nicht?

Ich habe die Google-Spezifikationen noch einmal durchgelesen, und meine Entwicklung war nicht 100% korrekt.

Ich kann das Minimum überarbeiten, damit es funktioniert, und die Details später verfeinern, um den Prozess zu entblocken. Oder ich mache es sauber, aber dann kann ich keinen Zeitpunkt nennen.

In jedem Fall war meine anfängliche Entwicklung nicht korrekt. Daher müssen die Korrekturen nach dem Testen noch einmal getestet werden.

(Falls mein erster Entwurf ausreicht, gehen wir damit weiter - Änderungen werden in meinem PR zurückgesetzt -, und ich werde später korrigieren, da keine Datenbankmanipulation erfolgt, ist das Risiko gering)

Wie du es fühlst, sag mir :slight_smile:

Ich werde ein paar Änderungen vornehmen, zumindest um den Google-Spezifikationen zu entsprechen.
Nicht alle Funktionen von Google werden implementiert, aber zumindest wird es sauber sein.
Ich melde mich, wenn es fertig ist.

Ich würde gerne nochmal versuchen, aber ich weiß nicht, wann das bei mir klappt.
Aber ich bin überrascht, wie wenig Tester es gibt, wenn man die Anzahl der Beiträge sieht, in denen die Leute Rollläden haben ^^’

@pierre-gilles ich habe die UI-Verwaltung auf der Google-Seite verbessert, indem ich die richtigen Attribute positioniert habe.

Allerdings glaube ich, dass wir hier einen Bug haben Gladys/server/lib/scene/scene.actions.js at e8bba476dcc880f2d38ca52279a6117c8ecf8b3d · GladysAssistant/Gladys · GitHub wenn der Wert = 0 ist.
Denn wenn ich den Rollladen schließe (Wert = 0), erhalte ich diesen Fehler

2023-05-05T15:09:16+0200 <warn> scene.executeSingleAction.js:19 (SceneManager.executeSingleAction) There was an error executing action device.set-value
2023-05-05T15:09:16+0200 <warn> scene.executeSingleAction.js:20 (SceneManager.executeSingleAction) AbortScene [Error]: ACTION_VALUE_NOT_A_NUMBER
    at Object.device.set-value (/home/alex/Gladys/server/lib/scene/scene.actions.js:63:13)

Ich werde versuchen, eine Korrektur vorzunehmen (und einen Test hinzuzufügen), aber ich frage mich, ob es nicht besser wäre, dies in einem separaten PR zu erledigen.

EDIT:
Vorschlag für eine Korrektur https://github.com/atrovato/Gladys/pull/77/commits/3baf53d8b42fc658466a5cf3168d969e82e19d3a

EDIT 2:
Ein ganz neues Docker-Image ist bereit :slight_smile:
Getestet mit einem MQTT-Gerät:white_check_mark:
Kleine Einschränkung, die Funktion verwaltet nur die „Position“ bei Rollläden/Vorhängen (nur Lese- oder Lese-/Schreibzugriff) und verwaltet noch nicht die „Öffnen / Schließen“-Knöpfe.

Hallo, ich vermute, das liegt am Setzen auf 0, von dem du in deiner Nachricht sprichst?
Oder liegt es daran, dass Google keine negativen Werte sendet?

In meiner Erinnerung: 1 = offen, 0 = stop, -1 = geschlossen, nicht wahr?

@spenceur nicht genau.
Bei Google wird alles auf die gleiche Weise verwaltet, sei es die Position in Prozent oder einfach der Zustand geöffnet/geschlossen (Attribut discrete).
Wir haben zwei Features, also müssen wir auf unserer Seite « intelligent » sein, um zu wissen, welchen Aktuator zu verwenden, sobald eine Nachricht von Google empfangen wird, je nach Features und ihren Attributen (z. B. read_only) auf Gladys-Seite.


Aber hier, aus Gründen der Einfachheit, habe ich nur das Feature « Position » (Prozent der Öffnung/Schließung) berücksichtigt.
Je weiter ich mit dem GoogleHome-Teil vorankomme, desto mehr stelle ich fest, dass hier einige Optimierungen erforderlich sein werden.
Derzeit, angesichts der hier geführten Diskussionen, schiebe ich diese Entwicklung vor mir her, aber ein großes Projekt wird auf GoogleHome zukommen, und sehr wahrscheinlich die Verwaltung neuer Geräte.


Ich bin mir nicht sicher, ob ich klar bin.

Sehr klar für mich auf jeden Fall :wink: (nachdem ich auch Entwickler bin, aber deine Nachricht ist nicht « zu » technisch, also auch für andere verständlich)
Danke für die Antwort

@AlexTrovato ich habe heute Morgen einen Blick auf die PRs geworfen, nur um den Stand dieser zu erfahren?

Von meiner Seite aus sind wir mit dem notwendigen Minimum gut bedient.
Ich habe keine Rückmeldungen von anderen Testern erhalten, daher zählen nur meine Tests.

Ich habe es gerade getestet, und diesmal funktioniert es perfekt :slight_smile: Gut gemacht :clap:

Ich merge!