Alexa-Fhem: Nach Speichern der Config Verbindungsabbruch?

Begonnen von Pati_Alpha, 09 Mai 2019, 19:02:29

Vorheriges Thema - Nächstes Thema

Pati_Alpha

Hey,

mir ist aufgefallen: Immer wenn ich die fhem.cfg speichere muss ich danach im Alexa-Device einmal "restart" setzen, ansonsten sagt Alexa mir, dass nichts mehr kontrollierbar ist.
Danach geht es sofort wieder.

Ist das Problem bekannt?
Gibt es dafür einen fix?

Gibt es ansonsten irgendwo etwas, wo ich einen Befehl reinhooken kann, den FHEM nach dem Speichern der fhem.cfg ausführt?

Und noch etwas: Ich habe plötzlich in meiner Alexa-App alle Geräte 3x. Kann das auch hiermit zusammenhängen? Ist euch das auch schonmal vorgekommen? Steuerbar ist aber alles noch, auch die "Kopien" der Geräte. Oder anders gefragt: Woran identifiziert Amazon/Alexa die (virtuellen/FHEM-)Geräte, um sie normalerweise NICHT zu doppeln?


Danke euch fürs Lesen! :)

Patrick

EDIT: Könnte das mit dem Speichern daran liegen, dass Alexa-Fhem sich zu FHEMWEB verbindet und das resetted wird, wenn man die config speichert?

Pati_Alpha

Irgendeine schlichte Möglichkeit einen Befehl auszuführen nachdem man die fhem.cfg gespeichert hat gibts nicht?

Pati_Alpha

Ich habe grade das hier im Log entdeckt:

2019.05.14 20:25:04 1: alexa is against deletion (alexa will be deleted after alexa-fhem has stopped or after 5 seconds. whatever comes first.), continuing with rereadcfg anyway

Damit hängt es sicher zusammen! Sagt das jemandem etwas? Vielleicht den Autoren des Moduls Alexa-Fhem?

Pati_Alpha

#3
Ich habe nach wie vor das Problem, dass er die Geräte über den FHEM-Connector mehrfach findet.
Hat jemand eine Idee, wie das passieren kann? Vielleicht dadurch, dass ich bei meinem Alexa-Device in FHEM öfters mal "restart" drücken muss, wie vorher beschrieben?

Edit: Interessanterweise betrifft es scheinbar nur Dummys und zB Geräte die ich für Pilight erstellt habe, nicht aber Homematic-Schalter/Aktoren...

amenomade

Was meinst Du mit "wenn ich die fhem.cfg speichere" ? Auf dem Knopf "Save config" in der Weboberfläsche von Fhem drucken? Das hat nw. überhaupt keinen Einfluss auf alexa
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Gerade das Wort "rereadcfg" erwischt. Also, Du editierst fhem.cfg direkt? Dann kann niemand helfen, da niemand weisst, was Du in der Datei missgebaut hat. Und der Modulentwickler wird sicher nichts tun, was Konfiguration-/Userfehlerabhängig ist.

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Zitat von: Pati_Alpha am 14 Mai 2019, 20:26:09
Ich habe grade das hier im Log entdeckt:

2019.05.14 20:25:04 1: alexa is against deletion (alexa will be deleted after alexa-fhem has stopped or after 5 seconds. whatever comes first.), continuing with rereadcfg anyway

Damit hängt es sicher zusammen! Sagt das jemandem etwas? Vielleicht den Autoren des Moduls Alexa-Fhem?
Nur zur Info: diese Fehlermeldung kommt, wenn "man" versucht, das alexa Device zu löschen. "man" = Du, oder auch Fhem selbst bei fehlerhafte fhem.cfg Datei
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Pati_Alpha

Hey, danke für die Antwort.
Ich hab das grade nochmal in einem Klon meiner VM getestet: Selbst mit blanker Config und nur dem Alexa-Device reagiert er so wenn man die fhem.cfg speichert.
Scheint also, dass FHEM selbst versucht das Device zu löschen. Damit hab ich ja nichts zutun - und in diesem Testfall auch keine fehlerhafte fhem.cfg.

Aber abgesehen davon, dass hier scheinbar Verhalten von FHEM (Versuch das Device zu löschen) vom Device selbst einfach strikt abgewiesen und damit scheinbar falsch behandelt wird wundere ich mich viel mehr darüber, dass Alexa SmartHome Geräte teilweise einfach nochmal findet und sie damit 2x, manchmal sogar dann nach einer Weile 3-4x in der App auftauchen.

amenomade

#8
Zeig mal die Log von deinem Fhem mit "blanken" Konfig und echo, wenn Du mit Debugmode startest.
Und hänge auch deine fhem.cfg Datei, die sollte nicht so groß sein (da blanke Config) ;)

EDIT: natürlich persönliche Daten anonymisieren
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

Irgendwo im Forum bin ich schon mal über "Probleme" (dieses Verhalten) bzgl. Alexa und rereadcfg gestossen...
Dabei wurde (sogar) diskutiert externes editieren (und damit rereadcfg) komplett zu verbannen...

Wie änderst/speicherst du die cfg?
Mit dem "eingebauten" Editor!?
Das sollte (wenn ich mich an die Diskussion in besagtem Thread richtig erinnere) aber gehen...

Aus diesem oder ähnlichem Grund wurde auch beim shutdown (restart) an der Verzögerung "gebastelt"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

amenomade

Die Erklärung wegen rereadcfg war damals, dass Fhem zuerst die Defs löscht, damit keine Doubletten kommen. Dann kreiert er neu.
Wenn die Undef Funktion etwas zurückliefert, dann kommt die Meldung... aber Fhem macht weiter.

Also, wie immer ist die Empfehlung, fhem.cfg nicht direkt zu editieren.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

#11
Ja kann sein, dass es so war...
Ich glaube mich nur zu erinnern, dass das Timing (spätestens seit der Verzögerung beim shutdown, die auch wegen Alexa/alexa-fhem geändert wurde) wichtig/entscheidend ist und da ist wohl rereadcfg die "schlechteste" Variante... ;)

Ich war ja lange Zeit (also schon immer ;)  ) ein cfg-Editierer...
...aber seit ich da in dem Thread mal mitgelesen habe (und es selbst schon erlebt habe) und seit ich ein paar mal rawdefinition genutzt habe muss ich sagen: damit kann ich leben... :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

justme1968

also...

- es gibt module die lassen sich nicht sofort mit einem schlag beenden sondern müssen hinter sich aufräumen.
- dieses aufräumen kann eine weile dauern und muss asynchron passieren
- deshalb wurde in shutdown eingebaut das die module melden können wenn sie mit dem aufräumen fertig sind
- danach wird der shutdown ordnungsgemäß abgeschlossen

- ein rereadcfg mach im prinzip nichts anderes als den aktuellen zustand zu speichern und neu zu starten
- das statefile wird geschrieben
- es werden alle devices komplett gelöscht
- die config wird neu eingelesen
- alles wird initialisiert

- leider wartet rereadcfg nicht wie shutdown bis alle module mit dem aufräumen so weit sind.
- das könnte man (rudi :) ) zwar einbauen, aber rereadcfg hat noch diverse andere prinzipielle probleme
- da es ausserdem keinen grund gibt die config von hand zu bearbeiten hat auch noch niemand anders
  den drang verspührt einen patch zu bauen
- theoretisch müsste es sogar gehen rereadcfg durch save; shutdown restart zu ersetzen. rudi hatte zwar
  wegen ein paar grenzfällen bedenken das global umzustellen, es kann aber jeder für sich mit einem passenden
  cmdalias einfach mal probieren.


ps: man muss die config wirklich nicht und niemals von hand bearbeiten. ich habe das in über 6 jahren noch NIE gemacht oder gebraucht. nicht im produktiv system und auf keinem der entwicklungssysteme. es ist überflüssig und fehleranfällig.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Pati_Alpha

Vielen Dank für die super Erklärung! :) Habe mir für vieles jetzt angewöhnt, es nicht mehr direkt in der Config zu machen.