AVM Fritz!DECT 200

Begonnen von Dragonfly, 03 März 2013, 14:24:39

Vorheriges Thema - Nächstes Thema

Dragonfly

Hallo Rudi, erstmal danke für die neuen Module.

Folgendes ist mir aufgefallen:

Wird bei Neustart bzw. "Abwesenheit" von FHEM der DECT200 geschalten erkennt FHEM den neuen Zustand bei Start nicht - erst nach einmaligem korrektem Schalten.

Ein nicht verbundener DECT200 wird auch nicht automatisch erkannt - erst beim fehlgeschlagenen Schalten kommt die Lampe mit !

LG Tom

rudolfkoenig

> Wird bei Neustart bzw. "Abwesenheit" von FHEM der DECT200 geschalten erkennt FHEM den neuen Zustand bei Start nicht - erst nach einmaligem korrektem Schalten.

Stimmt, ist bei anderen FHEM-Modulen auch so. Per "design" soll fhem ja auch die ganze Zeit laufen.
Ich ueberlege noch, ob Status-Abfragen/Setzen am Anfang sinnvoll ist.

>  Ein nicht verbundener DECT200 wird auch nicht automatisch erkannt - erst beim fehlgeschlagenen Schalten kommt die Lampe mit !

Das habe ich nicht wirklich verstanden, und will gerade nicht raten :)

Dragonfly

>  Ein nicht verbundener DECT200 wird auch nicht automatisch erkannt - erst beim fehlgeschlagenen Schalten kommt die Lampe mit !

Das habe ich nicht wirklich verstanden, und will gerade nicht raten :)[/quote]


Na ganz einfach - wenn ein DECT200 ausgesteckt wird bzw. die Verbindung verliert (mußte meinen schon einmal neu anlernen), wird in der FB "nicht Verbunden" angezeigt.
FHEM reagiert erst darauf, wenn ein nicht "verbundener" Stecker geschalten werden soll.


LG

rudolfkoenig

> wenn ein DECT200 ausgesteckt wird bzw. die Verbindung verliert ... wird in der FB "nicht Verbunden" angezeigt.

Ok, das wird jetzt uebernommen (state:inactive), allerdings passiert das bei mir erst ca eine Minute nachdem man versucht hat zu schalten. Wenn man nicht schaltet, dann passiert nach 10 Minuten immer noch nichts.

Ich habe get devList so modifiziert, dass es state setzt, falls es nicht stimmt. Wenn man status beim fhem-startup unbedingt setzen will, dann muss man ein

define fbInit notify global:INITIALIZED get TYPE=FBDECT devInfo

anlegen. Ja, ich weiss, das hinterlaesst im fhem.log komische Ausgaben.


Markus Bloch

Hallo Rudi,

nur eine generelle Frage. Warum vermeidest du es einen InternalTimer mit gettimeofday()+2 beim Define zu starten, sofern alles erfolgreich gelaufen ist?

Würde mich sehr interessieren. Ich habe dies so in meinen Modulen gelöst und bisher keine negativen Erfahrungen gemacht.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

rudolfkoenig

>  Warum vermeidest du es einen InternalTimer mit gettimeofday()+2 beim Define zu starten

1. InternalTimer ist an dieser Stelle unsauber, da man nicht weiss ob nach 2 Minuten FHEM mit der Einlesen von fhem.cfg fertig ist. Dafuer ist ja global:INITIALIZED da.

2. Ich sehe das Problem nicht: fhem laeuft durch, und kriegt damit alle Aenderungen mit. Fuer die initiale Status-Abfrage extra Code mit Nebeneffekten einzubauen finde ich (im Moment :) unnoetig. Erinnert mich an die FHT80b Initialisierung: hier wurde refreshvalues fuer jeden fhem-Start eingebaut, was zu Problemen fuehrte. Seit dem Entfernen dieser refreshvalues vor 3-4 Jahren hat sich noch keiner Beschwert.

Dragonfly

Nochwas ist mir aufgefallen,
wenn ein ausgeschaltener Dect200 nochmal ausgeschalten wird, geht er auf State:set_off und bleibt dort, bis er wieder korrekt ein und ausgeschalten wurde... und umgekehrt.

lg tom