Google Home Assistant Fehler bei Modul update

Meinst du die LOG Einträge wenn ich das Modul neu installiere oder wenn ich die Instanz laden will ?

Wahrscheinlich wären alle Log-Einträge mit Bezug auf das Assistant-Modul potentielle Informationsquellen. Ich denke vor allem sind aber die Meldungen bei Installation des Moduls bzw. Neustart des Systems interessant, da das Modul dann neu geladen wird.

Ich habe Google Assistant entfernt, Symcon neu gestartet und dann versucht das Google Assistant Modul neu zu installieren

Hier sind die Meldungen aus dem Log die ich dazu finden kann

26.04.2023 07:17:33 | 00000 | MESSAGE | ModuleLoader | Lade Assistant Bibliothek…
26.04.2023 07:17:33 | 00000 | MESSAGE | ModuleLoader | # Assistant geladen
26.04.2023 07:17:33 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 1696 ~ Absender: RunScript
26.04.2023 07:17:33 | 00000 | MESSAGE | PHPLibrary | Registriere Funktion… Reflection parse error:
Fatal error: Uncaught Error: Class ‚DeviceTrait‘ not found in C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\traits\brightness.php:5
Stack trace:
#0 C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\traits\autoload.php(9): include_once()
#1 C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\module.php(8): include_once(‚C:\ProgramData\…‘)
#2 C:\Windows\System32-(2): require_once(‚C:\ProgramData\…‘)
#3 {main}
thrown in C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\traits\brightness.php on line 5

26.04.2023 07:17:39 | 51412 | MESSAGE | Assistant | Erstelle…
26.04.2023 07:17:39 | 51412 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: Create
26.04.2023 07:17:39 | 51412 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: Create ~ Dauer: 3 ms
26.04.2023 07:17:39 | 51412 | DEBUG | InstanceManager | Referenzzähler >1 (=2) für Instanz #51412
26.04.2023 07:17:39 | 51412 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: Destroy
26.04.2023 07:17:39 | 51412 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: Destroy ~ Dauer: 2 ms
26.04.2023 07:17:39 | 51412 | ERROR | Assistant |
Fatal error: Uncaught Error: Class ‚DeviceTrait‘ not found in C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\traits\brightness.php:5
Stack trace:
#0 C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\traits\autoload.php(9): include_once()
#1 C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\module.php(8): include_once(‚C:\ProgramData\…‘)
#2 C:\Windows\System32-(2): require_once(‚C:\ProgramData\…‘)
#3 {main}
thrown in C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\traits\brightness.php on line 5

Hoffentlich hilft das weiter

Ja, das hilft schonmal weiter. Und es wirkt weiterhin so, als wenn deine Installation kaputt ist… Auch wenn das bei mehrfacher Neuinstallation natürlich merkwürdig ist. Kannst du mal das Verzeichnis C:\ProgramData\Symcon\modules.store\de.symcon.googleassistant\Assistant\traits zippen und mir per PM schicken? Dann schaue ich mal an, ob da nicht was kaputt ist, denn darauf deutet die Fehlermeldung hin.

Die ZIP Datei ist in deiner Mailbox

Hmm… Die sehen alle korrekt aus… Kannst du mir sonst ein Backup von dir zukommen lassen? Dann schaue ich mal, ob ich das nachstellen kann. Kürze deiner Archivdaten dabei gerne raus um den Platz des Backups zu reduzieren.

Ich habe die ZIP Datei an office@symcon.de geschickt

Danke für das Backup. Ich habe mir das schonmal angeschaut und kann den Fehler nachstellen. Ich habe auch schon ein bisschen tiefer gebohrt, aber bisher verstehe ich den Fehler noch nicht. Ich bin aber dran.

1 „Gefällt mir“

So, jetzt habe ich das Problem gefunden. In deinem scripts-Verzeichnis ist eine Base.php. Der Code, der den Fehler verursacht, versucht ebenfalls eine base.php zu laden, allerdings im eigenen Verzeichnis. Leider klappt das aktuell nicht so, wie wir es wollen und es wird die Base.php aus dem scripts-Verzeichnis geladen und alles weitere explodiert.

Wenn du also die Base.php im scripts-Verzeichnis löschst oder umbenennst (und ggfs. weitere dazugehörige Anpassungen vornimmst, damit du sie weiter nutzen kannst), dann sollte der Assistant bei dir wieder laufen. Wir schauen auch, dass die Reihenfolge hier wieder wie vorgesehen zuerst das eigene Verzeichnis prüft. Da wird in den nächsten Versionen wahrscheinlich ein Fix kommen.

Ich habe die base.php in base1.php umbenannt, danach Google Assistant deinstalliert, dann IPSymcon neu gestartet und das Modul Google Assistant neu installiert
Wenn ich dann eine Instanz installieren will kommt die folgende Fehlermeldung:

image

Hmm, die Fehlermeldung kommt jetzt direkt von Google… Beim Erstellen und immer wenn du die Einstellungen änderst, wird der Status aller dort eingerichteten Geräte mit Google Assistant synchronisiert. Warum dabei jetzt ein interner Fehler auftritt, kann ich gerade nicht sagen. Bei mir konnte ich nach dem löschen oder umbenennen der base.php wunderbar die Instanz erstellen, aber ich bin ja auch nicht mit deinem Konto verknüpft. Am besten versuchst du mal den Symcon Skill bei Google zu deaktivieren und dann die Instanz zu erstellen. Dann kannst du anschließend den Skill wieder aktivieren und hoffentlich klappt dann alles…

Da ist der Wurm drinnen :frowning:
Wie gesagt kann ich in Symcon keine Instanz für Geräte anlegen die ich Google bekanntmachen möchte.

Wenn ich in der Google Home App Symcon verknüpfen will erscheint die Nachricht das für Symcon keine Geräte gefunden werden können und daher keine Verknüpfung durch geführt wird.

Da beisst sich die Katze in den Schwanz.

Ich habe mir die Symcon Docu angeschaut und eine Verknüpfung ist zum zeitpunkt der erstellung der Instanz gar nicht notwendig, das heißt die Fehlermeldung hat mit Google erstmal nichts zu tun

Da muss es noch einen weiteren Fehler bei euch geben. SRY

Bei Erstellung der Google Assistant Instanz versucht das Modul in ApplyChanges den aktuellen Gerätestand zu synchronisieren. Auf diese Anfrage antwortet Google mit dem obigen „Internal error encountered“. Hättest du bei Google Home dein Konto noch nicht verknüpft, würde Google mit „Requested entity was not found“ antworten und die Instanz würde einfach als inaktiv markiert werden, damit du weißt, dass du es noch verknüpfen musst. Es ist also vollkommen korrekt, dass zum Zeitpunkt der Instanzerstellung noch keine Verknüpfung erforderlich ist. Aber wenn eine da ist und diese fehlerhaft ist, könnte sie den obigen Fehler verursachen.

Eine Verknüpfung zwischen Google Home und Symcon sollte übrigens komplett unabhängig von bisher eingerichteten Geräten, du musst bei dem betroffenen System lediglich den Connect-Dienst aktiv haben. Stelle daher bitte noch einmal sicher, dass du wirklich aktuell die Verknüpfung zu Symcon gelöst hast (unter Einstellungen → Mit Geräten von Google kompatibel).

Was genau meinst du damit? Meinst du die Erstellung der der Assistant-Instanz? Oder kommen die Fehler jetzt auch bei der Erstellung anderer Instanzen? Oder meinst du die Einträge in den jeweiligen Listen?

Der Fehler kommt nur wenn ich die Google Home Instanz anlegen will.
Ich habe jetzt nochmal genau nachgeschaut und hier sind die Screenshots :

Kein Symcon zu sehen
und nachdem ich Symcon mit Google Home verbinden will kommt diese Meldung

Mein Google Home Konto zu löschen wäre die letzte Alternative aber das ist mit einer Menge Arbeit verbunden

@Dr.Niels Also ich bin mir nach wie vor nicht sicher ob der Fehler wirklich bei Google liegt.

Ich habe neben meinem Produktionssystem noch einen Raspberry mit IP-Symcon laufen. Auf dem habe ich erfolgreich Google Assistant installiert.
Danach habe ich mit der Raspberry Lizenz in meinem Google Account (das ist der gleiche Google Account den ich mit meinem Produktionssystem nutze möchte der aber dann im Produktionssystem den Fehler generiert) den Link aktiviert
Auf Google Home kann ich jetzt Symcon als dritt Anbieter sehen (vorher nicht siehe vorheriges Posting)
Ich kann jetzt über die Google Sprachsteuerung Skripte auf meinem Raspberry ausführen.
Der einzige Unterschied zwischen dem fehlerhaften und dem funktionierenden System ist die unterschiedliche Connect Adresse (Lizenz) und die lokale Symcon Installation. Mein Google Account ist der gleich ! Der Google Link zeigt nur auf eine andere Connect Adresse !
Auf meinem Raspberry führe ich jetzt einen RPC Call auf mein Produktionssystem aus und das funktioniert erstmal. Trotzdem denke ich das der Fehler doch bei Symcon liegen könnte

Da passen ein paar Sachen ja nicht ganz. Warum behauptet die App direkt bei Auswahl, dass es keine kompatiblen Geräte gibt, obwohl du die Lizenz noch gar nicht eingegeben hast? Das klingt auch so, als wenn da noch irgendwo Überbleibsel stecken…

Ich habe gerade mal eine neue Beta-Version für den Assistant herausgebracht. Wenn du jetzt eine Instanz erstellst und beim Sync etwas fehlschlägt, kommt die Meldung „nur“ ins Log, verhindert aber nicht die Erstellung. Damit kannst du also Geräte einrichten. Probier mal aus, ob dein Problem damit gelöst ist.

Das hat funktioniert mit kleinen Schönheitsfehlern. Ich kann jetzt in Symcon ein Device anlegen (Die Fehlermeldung ist jetzt weg) aber wenn ich in Google Home Symcon als Dritthersteller auswähle, die Lizenz EMail meines Produktionsrechners und den security Code eingebe erscheint in der Google Home App die Meldung das kein kompatibles Geräte gefunden wurde. Das Symcon Logo wird in der liste der verlinkten Dritthersteller auch nicht angezeigt

ABER die Sprach Befehle über Google Home funktionieren jetzt bzw. aktivieren das entsprechende Skript in meinem Produktionssystem !!!

Da Google auf deine Geräte zugreifen kann, sehe ich jetzt leider nicht, was wir von unserer Seite noch verbessern können… Da scheint bei dir tatsächlich irgend eine Kombination zu sein, mit der der Assistant nicht glücklich ist. Aber das wichtige scheint ja jetzt zu funktionieren :slight_smile: