Bidcos Rauchmelder wird nicht mehr erkannt (Wie resette ich die Konfiguration)

Begonnen von bacota, 12 November 2013, 23:44:15

Vorheriges Thema - Nächstes Thema

bacota

Hallo liebe Forumsmitglieder,

bin fhem-Neuling und versuche mich mit einem Bidcos Rauchmelder.

Nach dem Aufsetzen von fhem und cuno und Umschalten auf HM habe ich den Rauchmelder durch fünf Sekunden Druck auf den Anmeldetaster am fhem angemeldet. Hant anscheinend funktioniert.
HM_Lan wurde erzeugt und der Rauchmelder darin eingetragen.

Dann begann das Übel. Ich habe auf test gedrückt und der Rauchmelder piepste und hörte gar nicht mehr auf. Ahnungslos habe ich dann herumgeklickt um das Ding wieder ruhig zu bekommen (unpaired usw.). Geholfen hat nur das Entfernen der Batterie.

Danach habe ich wieder versucht ihn reinzubekommen. Hat leider nicht geklappt. Dann habe ich mit delete und deleteattr alles gelöscht was mit dem Rauchmelder und ActionDetector zu tun hat. Danach wieder versucht ihn anzumelden. HM_LAN und ActionDetector wurden wieder erzeugt aber der Rauchmelder leider nicht.

Bin nun wirklich ratlos, was ich noch tun kann. Kann ich die Konfiguration in den Ausganszustand zurückbringen, in der der Rauchmelder Toll erkannt wurde.
Im Logfile steht: Strange call for typeless CUL_HM_HM_SEC_SD_12DDD0: UndefFn
Wäre schön, wenn mir jemand weiterhelfen könnte.

Gruß
Bernd

martinp876

Hallo Bernd,

du hast ein IO device definiert? CUNO? ok

An FHEM kann man nicht anlernen nur durch drücken der Anlerntaste. FHEM erkennt das Device, aber es schreibt nichts IN das Device. Du musst
set <cuno> hmPairForSec 300
machen - und dann Anlernen drücken.
danach prüfen, dass das Reading "pairedTo" auf der HMID der CUNO steht. Ggf.  mit getConfig den SD auslesen.

Schau dir einmal die entsprechenden Kommandos an.

Wenn du ein
delete  CUL_HM_HM_SEC_SD_12DDD0
machst sollte alles zugehörige gelöscht werden

Gruss Martin

bacota

so, habe nun mit delete und deleteattr nochmal alles gelöscht, was nach meinem Erststart angelegt worden ist.
fhem.cfg sieht dann so aus:

attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3
define telnetPort telnet 7072 global
define WEB FHEMWEB 8083 global
attr WEB basicAuth {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
# Paßwortschutz aktivieren sonst Fehlermeldung
define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen
define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad
# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log
define eventTypes eventTypes ./log/eventTypes.txt
# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
# cuno definieren
define cuno CUL 192.168.178.26:2323 4321
attr cuno rfmode HomeMatic
# cuno in HomeMatic-Modus setzen

Den ActionDetector hängt fhem nach Kurzer Zeit automatisch wieder an.
Folgende Zeilen kommen automatisch zur fhem.cfg dazu:
define ActionDetector CUL_HM 000000
attr ActionDetector actCycle 30
attr ActionDetector room CUL_HM
define FileLog_ActionDetector FileLog ./log/ActionDetector-%Y.log ActionDetector
attr FileLog_ActionDetector logtype text
attr FileLog_ActionDetector room CUL_HM

Nun habe ich den Rauchmelder angemeldet. Leider taucht er nirgendwo auf.
Er legt lediglich ein Logfile an, das leer ist.

Im Logfile wir folgendes eingetragen:
2013.11.14 08:21:50 3: CUL_HM Unknown device CUL_HM_HM_SEC_SD_12DDD0, please define it
2013.11.14 08:21:50 2: autocreate: define FileLog_CUL_HM_HM_SEC_SD_12DDD0 FileLog ./log/-%Y.log CUL_HM_HM_SEC_SD_12DDD0

Beim allererste Anmelden (einfach nur Anmeldetaste am Rauchmelder gedrückt) wurde im Logfile folgendes eingetragen:
2013.11.11 22:26:07 3: CUL_HM Unknown device CUL_HM_HM_SEC_SD_12DDD0, please define it
2013.11.11 22:26:07 2: autocreate: define CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0 A1A01840012DDD000000010004247455130323635393534CD000100
2013.11.11 22:26:07 3: Device CUL_HM_HM_SEC_SD_12DDD0 added to ActionDetector with 028:00 time
2013.11.11 22:26:07 2: autocreate: define FileLog_CUL_HM_HM_SEC_SD_12DDD0 FileLog ./log/CUL_HM_HM_SEC_SD_12DDD0-%Y.log CUL_HM_HM_SEC_SD_12DDD0
2013.11.11 22:26:12 2: autocreate: define ActionDetector CUL_HM 000000
2013.11.11 22:26:12 2: autocreate: define FileLog_ActionDetector FileLog ./log/ActionDetector-%Y.log ActionDetector
2013.11.11 22:26:12 3: Device CUL_HM_HM_SEC_SD_12DDD0 added to ActionDetector with 028:00 time
20
Dabei war der Rauchmelder auch unter CUL_HM eingetragen und als Device in der cfg eingetragen.
Aber genau das bekomme ich nicht mehr hin. Der SD Taucht nicht mehr auf.



martinp876

deiner cuno sollest du noch eine hmId geben.

Das Problem scheint zu sein, dass die Anlernmessage nicht weitergereicht wird (oder nicht empfangen)
Anlernen hast du sicher gedrückt. Hast du en 2. device, bei dem du anlernen drücken kannst?

bacota

Die HM-ID müsste dow die 4321 sein oder irre ich mich da?
define cuno CUL 192.168.178.26:2323 4321

So, habe mal einen weiteren Rauchmelder klargemacht. War eine gute Idee. Der wird tatsächlich auch wie der erste automatisch erkannt und als Rauchmelder eingetragen sobald ich die Anmelde/Pair-Taste drücke.
2013.11.14 19:45:36 3: CUL_HM Unknown device CUL_HM_HM_SEC_SD_12E20C, please define it
2013.11.14 19:45:36 2: autocreate: define CUL_HM_HM_SEC_SD_12E20C CUL_HM 12E20C A1A01840012E20C00000010004247455130323636383238CD000100
2013.11.14 19:45:36 3: Device CUL_HM_HM_SEC_SD_12E20C added to ActionDetector with 028:00 time
2013.11.14 19:45:36 2: autocreate: define FileLog_CUL_HM_HM_SEC_SD_12E20C FileLog ./log/CUL_HM_HM_SEC_SD_12E20C-%Y.log CUL_HM_HM_SEC_SD_12E20C
2013.11.14 19:45:41 3: Device CUL_HM_HM_SEC_SD_12E20C added to ActionDetector with 028:00 time

Der Erste, der ursprünglich auch automatisch erkannt wurde, wird aber immer noch nicht erkannt/definiert. Es wird lediglich das Logfile automatisch definiert.
2013.11.14 19:59:30 3: CUL_HM Unknown device CUL_HM_HM_SEC_SD_12DDD0, please define it
2013.11.14 19:59:30 2: autocreate: define FileLog_CUL_HM_HM_SEC_SD_12DDD0 FileLog ./log/-%Y.log CUL_HM_HM_SEC_SD_12DDD0

Wenn ich den Rauchmelder versuche manuell zu definieren (define CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0) bekomme ich die Meldung
CUL_HM_HM_SEC_SD_12DDD0 already defined, delete it first
Wenn ich ihn versuche zu löschen (delete CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0) bekomme ich die Meldung
Please define CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0 first

Häh??? Was denn nun? Ist er nun definiert oder nicht?
Können noch Reste von der ersten automatischen Definition zurückgeblieben zu sein?
Ich finde jedenfalls nichts. Wo kann ich sie finden und wie entfernen? Kann es an Resten des alten Logfiles liegen?

Gruß
Bernd

martinp876

du musst das Attribut hmId auf eine 3-byte nummer in hex setzen. als
112233
oder mit Buchstaben von A-F
AFFE01

wenn die hmId nicht oder nicht korrekt eingetragen ist musst du  - nach dem setzen - alles noch einmal pairen. Dir hmId der CUL muss in die Devices geschrieben werden.
delete CUL_HM_HM_SEC_SD_12DDD0
define CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0

Gruss Martin

bacota

So, die hmID habe ich auch gesetzt.
attr cuno hmId 123ABC

Leider habe ich immer noch das Problem mit dem ersten ursprünglich angemeldeten Rauchmelder.

Wenn ich ihn versuche anzumelden wird lediglich ein Logfile angelegt.

Er lässt sich wie oben beschrieben weder löschen noch definieren. Der andere lässt sich problemlos löschen oder definieren.

Irgendwo scheint er noch Reste von der ersten Anmeldung zu haben. Ist es möglich dass in einer anderen Konfigurationsdatei oder im cuno noch etwas zurückgeblieben ist?

Als der Rauchmelder bei meinen anfänglichen Tests nachts lospiepste habe ich panikartig alles mögliche gemacht, was ich nicht mehr nachvollziehen kann.
Es könnte möglich sein, dass ich den Melder nicht via delet Kommando gelöscht habe sondern manuell aus der fhem.cfg gelöscht habe. Könnte das die Problemursache sein?
Könnte es etwas bringen den cuno auf Werkseinstellungen zurückzusetzen "e"? Kann man aus fhem heraus die cuno Komandos ausführen?

Gruß
Bernd

martinp876

Hallo Bernd,

mir ist nicht wirklich klar, was du meinst.
Löschen in FHEM sollte doch mit delete möglich sein. Wenn nicht, was passisert? was kommt bei einem "list <name>"?
Zusatzlich: lösche alles aus dem fhem.cfg.
Sonst kann eigentlcih nichts mehr übrig bleiben, wenn du nicht sonstige Files nachlädst.
kannst du noch einmal die rohmessages aufzeichnen? Irgendetwas sollte kommen. Und ein "list" der cuno

Gruss Martin

bacota

leider habe ich noch immer die Problematik dass ich den einen Rauchmelder weder definieren noch löschen kann.

Wenn ich den Rauchmelder versuche manuell zu definieren (define CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0) bekomme ich die Meldung
CUL_HM_HM_SEC_SD_12DDD0 already defined, delete it first

Wenn ich ihn versuche zu löschen (delete CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0) bekomme ich die Meldung
Please define CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0 first

list CUL_HM_HM_SEC_SD_12DDD0 CUL_HM 12DDD0 ==> keine Rückmeldung
list CUL_HM_HM_SEC_SD_12DDD0 ==> Internals:   IODev      Attributes: (ohne weitere Parameter)

irgendwo scheint ein Rest der SD Konfiguration stecken geblieben zu sein aber wo???

Gruß
Bernd

martinp876

Hallo Bernd,

der  CUL_HM_HM_SEC_SD_12DDD0 ist also als IODev definiert - und irgendwie korrupt.
taucht der Name in deinem fhem.cfg auf?
stoppe fhem
Lösche alle zeilen mit CUL_HM_HM_SEC_SD_12DDD0 aus fhem.cfg
starte fhem
mache
list
und
list CUL_HM_HM_SEC_SD_12DDD0
ist das Device verschwunden?
ggf musst du noch das "statefile" nach dieser Entity durchsuchen

Gruss Martin

bacota

Hallo,

in der Weboberfläche ist der CUL_HM_HM_SEC_SD_12DDD0 über Edit/fhem.cfg nicht enthalten.

Da ich leider nicht herausgefunden habe wie man das statefile editieren kann oder findet (Wie kann man das bewerkstelligen?),
habe ich in meiner Hilflosigkeit "telnet fritz.box 7072" gestartet und dort das "delete CUL_HM_HM_SEC_SD_12DDD0" ausgeführt und siehe da,
es ist via telnet tatsächlich angenommen und ausgeführt worden (wie kann man sich das erklären?). Bei der Gelegenheit habe ich direkt noch ein update hinterhergeschickt.

Nun funktioniert die Anmeldung des problematischen Rauchmelders wieder einwandfrei.
Er wird wieder als Rauchmelder eingetragen.

Nun kann ich mich wieder meinem eigentlichen Vorhaben widmen.
Dabei hat die schnelle Lokalisierung des auslösenden Rauchmelders Priorität1, die weitergabe des Auslösesignals an die anderen Rauchmelder hat Priorität2, das Einschalten des Lichtes hat Priorität3 und die Batterie-leer Warnung Priorität4.

Von der Testfunktion werde ich erstmal die Finger lassen, bis ich geschnallt habe wie ich die Zeit reduzieren oder das Gepiepse wieder abgeschaltet bekomme ohne die Batterieen herauszunehmen.

Hat jemand ein par Schlagwort, Tips oder sogar HowTo's zu dem Thema?

Danke übrigens für die bisherige Hilfe. Ohne das list-Kommando und die Suche nach dem statefile via telnet hätte ich das Problem sicher nicht erschlagen bekommen.

Gruß
Bernd

bacota

Korrektur zu meiner vorherigen Aussage:

Nicht das Ausführen des delete über telnet hat zur Bereinigung geführt sondern das update bzw. das shutdown restart. (Erscheint auch erheblich logischer)

Hatte das gleiche Problem nochmal mit einem anderen Rauchmelder dabei habe ich folgendes festgestellt.

Das device lässt sich nicht vollständig löschen, wenn es nicht korrekt gepaired wurde (mit vorherigem set cuno hmPairForSec 300) sondern einfach nur die Anlerntaste am Rauchmelder gedrückt wurde, das device über den Autodetector eintragen wurde und dann versucht wurde eine Aktion wie Test auszuführen die dann anscheinend irgendwie hängen bleibt.

Das Device wird zwar mittels delete als Rauchmelder gelöscht, erscheint aber bei List <device> als io-device und lässt sich weder löschen noch als Rauchmelder neu definieren.

Nachdem ich dann ein Update und/oder shutdown reset gemacht habe ließ sich das device problemlos löchen und neu pairen.
Wie ich das Statefile verändern oder einsehen kann habe ich leider noch nicht herausgefunden.

Gruß
Bernd

martinp876

allo Bernd,

wo das statefile liegt kannst du mit
attr global statefile
festlegen. Der default ist etwas weiter weg in einem temp-verzeichnis, glaube ich.

Warum das Delete nur von telnet aus funktioniert kann ich nicht sagen.

Ein bisschen etwas zum SD habe ich im EinsteigerDoc-AnhangHM geschrieben. Geht aber in wesentlichen um die Einrichtung - das Teaming. Das Doc - neuste Version - ist am Anfang des Threats angepinnt.

Prio 1: der Auslösende Rauchmelder sollte immer angezeigt werden.Siehe Reading smoke_detect des team-leaders (wieder ein Grund für mich, dass der TeamLeader ein virtuelles Device ist)

Prio 2: wenn die SDs in einem team gepeert sind müssen alle auslösen. Wie man das manchen kann, siehe EinsteigerDoc-AnhangHM. Wenns nicht klappt sag es mit, dann muss ich die Beschreibung verbessern.

Prio 3: das hat noch keiner probiert (meines wissens) - einen SD direkt mit einem aktor peeren. Das ist im SD nicht vorgesehen - sollte aber funktionieren. Können wir einmal durchgehen, da muss man etwas aufpassen.

Prio 4: Der Batteriestatus wird automatich je SD angezeigt -also Batterie-low. Batterie-leer kann ein SD nicht anzeigen, das macht der actionDetektor. Dieser wird automatisch gestartet. Du bekommst dann ein "dead or alive" reading.
Eine Zusammenfassung der Alarme erhältst du mit HMinfo (siehe auch den Anhang...). Da werden per default auch batterie-alarme und deadOrAlive gesammelt.

Gruss Martin