Fhem meldet für Gerät fehlendes IODev

Begonnen von Michi240281, 10 April 2014, 18:02:39

Vorheriges Thema - Nächstes Thema

Michi240281

Hallo zusammen,

für folgendes Gerät meldet Fhem ständig, dass kein IODev definiert ist!

Internals:
   CFGFN      Garage.cfg
   DEF        254DE7
   HMLAN1_MSGCNT 2
   HMLAN1_RAWMSG R4C5ACA77,0001,0E64B84B,FF,FFB9,07A410254DE723A6D7060100004A
   HMLAN1_RSSI -71
   HMLAN1_TIME 2014-04-10 17:56:29
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     2
   NAME       Garage_Aktor
   NR         39
   STATE      off
   TYPE       CUL_HM
   lastMsg    No:07 - t:10 s:254DE7 d:23A6D7 060100004A
   protLastRcv 2014-04-10 17:56:29
   protSnd    2 last_at:2014-04-10 17:56:29
   protState  CMDs_done
   rssi_HMLAN1 avg:-74 min:-74 max:-74 lst:-74 cnt:1
   rssi_at_HMLAN1 avg:-71 min:-71 max:-71 lst:-71 cnt:2
   Readings:
     2014-04-09 21:19:45   CommandAccepted yes
     2014-04-09 21:13:18   D-serialNr      KEQ1054168
     2014-04-09 21:13:49   PairedTo        0x23A6D7
     2014-04-09 21:13:49   R-intKeyVisib   invisib
     2014-04-09 21:13:49   R-pairCentral   0x23A6D7
     2014-04-09 21:13:50   R-sign          off
     2014-04-09 21:13:49   RegL_00:        02:01 03:00 04:00 05:00 06:00 07:00 08:00 09:00 0A:23 0B:A6 0C:D7 00:00
     2014-04-09 21:13:50   RegL_01:        08:00 00:00
     2014-04-10 17:56:29   deviceMsg       off (to HMLAN1)
     2014-04-10 17:56:29   level           0
     2014-04-10 17:56:29   pct             0
     2014-04-10 17:56:29   recentStateType info
     2014-04-10 17:56:29   state           off
     2014-04-10 17:56:29   timedOn         off
   Helper:
     cSnd       0123A6D7254DE7010E
     mId        0004
     rxType     1
     Io:
       newChn     +254DE7,00,01,1E
       nextSend   1397145389.7485
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf   
       qReqStat   
     Role:
       chn        1
       dev        1
     Rpt:
       IO         HMLAN1
       flg        A
       ts         1397145389.60164
       ack:
         HASH(0x12db0b0)
         07800223A6D7254DE700
     Rssi:
       Hmlan1:
         avg        -74
         cnt        1
         lst        -74
         max        -74
         min        -74
       At_hmlan1:
         avg        -71
         cnt        2
         lst        -71
         max        -71
         min        -71
Attributes:
   IODev      HMLAN1
   autoReadReg 4_reqStatus
   expert     2_full
   model      HM-LC-SW1-FM
   peerIDs    00000000,
   room       hidden
   serialNr   KEQ1054168
   subType    switch
   webCmd     on:off:statusRequest


Verstehe nicht warum, es steht doch der "HMLAN1" drin und so heißt er auch! Jmd ne Idee?
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

martinp876

wo und wann wird es gemeldet? HMInfo ? Welche Aktion löst die Meldung aus?

Michi240281

Jedes Mal nach dem Neustart von Fhem oder wenn man in der Befehlszeile was ausführt.
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

martinp876

liegt sicher daran, dass du ein Device definierst, ein IO zuweist und das IO noch nicht definiert ist - da es erst später im fhem.cfg kommt?
"No I/O device found for"
ist die Meldung?

Michi240281

Ich denke du hast Recht. Ich habe ein Include ziemlich weit oben stehen gehabt und der HMLAN wurde erst später definiert. Habe jetzt die Includes ganz ans Ende der cfg gepackt. Scheint das Problem gewesen zu sein.

Habe sogar einen EIntrag in der cfg: attr global motd Error messages while initializing FHEM:\
configfile: Garage_Aktor: unknown IODev specified\


Kann ich den da wieder rauslöschen? Oder muss der Anfang da stehen bleiben (attr global motd) ?
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Michi240281

FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

martinp876

motd nutze ich nicht - ich weiß, wer ich bin ;)

Siehe Commandref
motd:Nachricht des Tages. Wird im Begrüßungsbildschirm von FHEM angezeigt,

was immer du damit bezweckst

betateilchen

Die beim Starten gesammelten Fehlermeldungen in motd sind erst seit ca. 2-3 Wochen in fhem.pl implementiert.
Der Eintrag der Fehlermeldung in motd wird von fhem automatisch gelöscht, wenn es beim Starten von fhem keine Fehlermeldungen mehr aus irgendeinem Modul gibt.

Du kannst auch einfach manuell "attr global motd none" setzen, dann ein save config machen und fhem neu starten.
Steht danach wieder eine Fehlermeldung in motd, hast Du definitiv einen Fehler in Deiner fhem Konfiguration.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

martinp876

wer macht eigentlich die Dokumentation dazu? Aus dem Kommandref kommt das nicht so wirklich raus, dass hier irgendwelche Fehler angezeigt werden (sollen/können/dürfen).
weiss das ein "guter" user von natur aus?

Michi240281

Zitat von: martinp876 am 14 April 2014, 10:41:14
motd nutze ich nicht - ich weiß, wer ich bin ;)

Siehe Commandref
motd:Nachricht des Tages. Wird im Begrüßungsbildschirm von FHEM angezeigt,

was immer du damit bezweckst
Ich habe das Attribut ja garnicht gesetzt, das hat Fhem alleine gemacht! Habs jetzt wie Betateilchen beschrieben hat auf none gesetzt und danach ganz rausgelöscht. Alles i.O.! Keiner Fehler mehr!
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

betateilchen

Dass in motd Fehlermeldungen und Hinweise an den Anwender ausgegeben werden, ist grundsätzlich nichts Neues, denn auch die Meldung nach dem Securitycheck steht da drin.  Es handelt sich nicht um eine Funktion, die irgendein Modul nutzen soll/kann/darf, sondern lediglich um eine neue Funktionalität innerhalb fhem.pl.

Es war übrigens der wiederholt geäußerte Wunsch vieler User, sowas zu bekommen um darauf aufmerksam gemacht zu werden, wenn beim fhem Start etwas schiefläuft, deswegen devices nicht angelegt werden und dadurch bei einem unachtsamen "save config" die Definitionen endgültig aus der fhem.cfg (wer nutzt sowas antiquiertes überhaupt noch?) verschwinden.

Zum Nachlesen:

http://forum.fhem.de/index.php/topic,22096.0.html
http://forum.fhem.de/index.php/topic,22105.0.html
http://forum.fhem.de/index.php/topic,22170.0.html




-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Michi240281 am 14 April 2014, 11:48:27Habs jetzt wie Betateilchen beschrieben hat auf none gesetzt und danach ganz rausgelöscht.

Ganz löschen solltest Du das Attribut bitte nicht. Sondern auf "none" setzen - wie von mir vorgeschlagen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

martinp876

ich habe mich übrigens nicht darüber beschwert, dass es dies tut.

ZitatEs handelt sich nicht um eine Funktion, die irgendein Modul nutzen soll/kann/darf, sondern lediglich um eine neue Funktionalität innerhalb fhem.pl.
klar. Dazu gibt es einen Eintrag im Commandref - und so soll es auch sein.
Das Attribut treibt ein Verhalten des Systems (das machen Attribut so).
Soweit ist alles klar.

ZitatEs war übrigens der wiederholt geäußerte Wunsch vieler User, sowas zu bekommen
auch prima.

ZitatZum Nachlesen:
soll dass das Commandref resetzen?

Rudi hat mich zu beginn darauf aufmerksam gemacht, dass ich Änderungen gefällixt im cmdRef beschreiben soll.

Message Of The Day. Displayed on the homescreen of the FHEMWEB package, or directly after the telnet logon, before displaying the fhem> prompt. SecurityCheck is setting motd if it is not defined upon startup, to avoid this set the motd value to none

hm - was sagt mir dies? Es wird die "Tagesmessage" auf einem Screen vor dem Login angezeigt. Aha. was ist eine tagesmessage? Das Datum? Wann wird sie geändert? Ist es eine Fehlermeldung, ein Hinweis?
Sollte man threats durchsuchen um dahinter zu kommen, den Code lesen oder besser testen?

betateilchen

#13
hast Du schlecht geschlafen?

Ich finde es übrigens ziemlich deplatziert, dass ausgerechnet Du Dich über unkorrekte Doku in der commandref aufregst, wenn ich mir die Häufigkeit von Fehlermeldungen in der commandref_join anschaue, die sich auf Deine Module beziehen.

http://forum.fhem.de/index.php/topic,22170.msg158784.html#msg158784

zufrieden?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

martinp876

hm
verwechselst du gerade Inhalt mit HTML Syntax?
auch gut.

Nun, da du es aber verstanden hast:
So ich motd nicht setze wird ein Text von "SecurityCheck" geschrieben.

motd wird auch verwendet...

ich sehe dann also (da es "auch" heisst) alle Fehlermeldungen von Start plus die Meldung von SecurityCheck (oder alternativ?)

Commandref ist für User (glaube ich), es ist kein API(oder?). Denen sagt es sicher etwas, wenn da steht 'wird ein Text von "SecurityCheck" geschrieben.'

Als User wüsste ich gerne, was ich bekomme, wenn ich es setze - und was, wenn ich es nicht setze.

attr global motd none # kein output

aber:
attr global motd Error messages while initializing FHEM: configfile: Garage_Aktor: unknown IODev specified

macht was?
a) sendet diesen text?
b) wird von den Fehlermeldungen bei boot überschrieben?
c) wenn es beim booten einmal geschrieben wurde, ich einen save mache, dann wird es nicht mehr überschrieben? Also keine Fehlermeldungen mehr? Jedenfalls keine meldung von Security mehr.

Tut mir leid, auch wenn die HTML tags sehr gut sind - der Inhalt erklärt mir nicht, was ich bekommen. Das wäre mir wichtig.
Ich habe eine Fehlermeldung vom kompilieren, bekomme aber keine Meldung. darf ich also nicht speichern?

Wie immer - sollte es nur ich nicht verstehen, lass es gut sein.