unknown attribute .ignoreSet

Begonnen von Motivierte linke Hände, 07 Januar 2021, 09:27:34

Vorheriges Thema - Nächstes Thema

Motivierte linke Hände

Hi,

nachdem ich vorgestern - seit längerer Zeit - mal wieder ein Update gemacht habe, bekomme ich bei jedem FHEM-Start folgende Fehlermeldung, gefolgt von einem Deaktivieren des Autosave:

Messages collected while initializing FHEM:configfile: Swi_Ventil1: unknown attribute .ignoreSet. Type 'attr Swi_Ventil1 ?' for a detailed list.
Swi_Ventil2: unknown attribute .ignoreSet. Type 'attr Swi_Ventil2 ?' for a detailed list.


Beide Geräte sind HM-LC-SW4-WM. Ein Attribut ".ignoreSet" haben beide Geräte nicht - weder in FHEM angezeigt noch in der fhem.cfg abgespeichert. Natürlich habe ich es ein paar Male versucht, die Config nach der Fehlermeldung und ohne dieses Attribut abzuspeichern. Die Fehlermeldung tritt dennoch weiter auf.

Wie werde ich den Fehler los?

Anbei ein List auf eines der beiden Devices:


Internals:
   DEF        3189B1
   FUUID      5c681fe6-f33f-e1ef-99d1-fe67b22ed172a4b2
   IODev      HMUSB
   NAME       Swi_Ventil1
   NOTIFYDEV  global
   NR         515
   NTFY_ORDER 50-Swi_Ventil1
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 Swi_Ventil_blau
   channel_02 Swi_Ventil_braun
   channel_03 Swi_Ventil_gelb
   channel_04 Swi_Ventil1_4
   READINGS:
     2021-01-06 21:08:08   Activity        alive
     2018-02-11 08:53:06   D-firmware      1.12
     2018-02-11 08:53:06   D-serialNr      LEQ0877399
     2021-01-06 21:00:20   PairedTo        0xABABAB
     2018-05-06 13:21:05   R-intKeyVisib   invisib
     2018-05-06 13:21:05   R-pairCentral   0xABABAB
     2021-01-06 21:00:20   RegL_00.        00:00 02:01 03:00 04:00 05:00 06:00 07:00 08:00 09:00 0A:AB 0B:AB 0C:AB
     2021-01-06 21:00:55   cfgState        ok
     2021-01-06 21:20:00   commState       CMDs_done
     2021-01-06 21:00:05   level           0
     2021-01-06 21:00:05   pct             0
     2021-01-06 21:00:05   powerOn         2021-01-06 21:00:04
     2021-01-06 21:00:05   recentStateType info
     2018-11-10 15:01:05   sabotageAttack_ErrIoAttack cnt 7
     2021-01-06 21:20:00   state           CMDs_done
     2021-01-06 21:00:05   timedOn         off
   helper:
     HM_CMDNR   79
     mId        0003
     peerFriend
     peerOpt    -:switch
     regLst     0
     rxType     1
     cmds:
       TmplKey    :no:1609984924.59649
       TmplTs     1609984924.59649
       cmdKey     0:1:0::Swi_Ventil1:0003:01:
       cmdLst:
         assignHmKey noArg
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         deviceRename -newName-
         fwUpdate   -filename- [-bootTime-]
         getConfig  noArg
         getDevInfo noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
         getVersion noArg
         pair       noArg
         raw        -data- [...]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         reset      noArg
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         unpair     noArg
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        1
       det        1
       raw        1
       tpl        1
     io:
       newChn     +3189B1,00,02,00
       rxt        0
       vccu       vccu
       p:
         3189B1
         00
         02
         00
       prefIO:
         HMUSB
     mRssi:
       mNo       
       io:
         HMLAN1:
         HMLAN2:
         HMLGW1:
         HMLGW2:
         HMLGWmobile:
         HMUSB:
     prt:
       bErr       0
       sProc      0
     q:
       qReqConf   
       qReqStat   
     role:
       dev        1
       prs        1
     tmpl:
Attributes:
   IODev      HMUSB
   IOgrp      vccu:HMUSB
   actCycle   024:00
   actStatus  alive
   autoReadReg 5_readMissing
   dummy      1
   event-on-change-reading .*
   expert     defReg,allReg,rawReg,templ
   firmware   1.12
   ignore     1
   model      HM-LC-SW4-WM
   room       Cfg_Wasser
   serialNr   LEQ0877399
   subType    switch
   webCmd     getConfig:clear msgEvents


Interessanter ist vielleicht ein grep auf fhem.cfg:

define Swi_Ventil1 CUL_HM 3189B1
setuuid Swi_Ventil1 5c681fe6-f33f-e1ef-99d1-fe67b22ed172a4b2
attr Swi_Ventil1 .ignoreSet 1
attr Swi_Ventil1 .mId 0066
attr Swi_Ventil1 IODev HMUSB
attr Swi_Ventil1 IOgrp vccu:HMUSB
attr Swi_Ventil1 actCycle 024:00
attr Swi_Ventil1 actStatus alive
attr Swi_Ventil1 autoReadReg 5_readMissing
attr Swi_Ventil1 dummy 1
attr Swi_Ventil1 event-on-change-reading .*
attr Swi_Ventil1 expert defReg,allReg,rawReg,templ
attr Swi_Ventil1 firmware 1.12
attr Swi_Ventil1 ignore 1
attr Swi_Ventil1 model HM-LC-SW4-WM
attr Swi_Ventil1 room Cfg_Wasser
attr Swi_Ventil1 serialNr LEQ0877399
attr Swi_Ventil1 subType switch
attr Swi_Ventil1 webCmd getConfig:clear msgEvents
define Swi_Ventil1_4 CUL_HM 3189B104
setuuid Swi_Ventil1_4 5c681fe6-f33f-e1ef-3a15-bb92dfa6a3c37206
attr Swi_Ventil1_4 event-on-change-reading .*
attr Swi_Ventil1_4 expert defReg,allReg,rawReg,templ
attr Swi_Ventil1_4 ignore 1
attr Swi_Ventil1_4 model HM-LC-SW4-WM
attr Swi_Ventil1_4 peerIDs 00000000,
attr Swi_Ventil1_4 webCmd statusRequest:toggle:on:off


Noch zum Hintergrund der gesetzten Attribute: Die HM-LC-SW4-WM sind im Garten verbaut und schalten Hunter Bewässerungsventile - natürlich nicht im Winter. Im Winter ist das alles stromlos, und um die Anzahl an Fehlermeldungen und vergeblichen Versuchen von FHEM zu reduzieren, bekommen die HM-LC-SW4-WM die Attribute dummy und ignore, wenn sie stromlos sind.

Danke vorab für hilfreiche Tipps!
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

frank

ich habe auch ignored devices. allerdings hat mir cul_hm nicht zusätzlich das versteckte attribut .ignoreSet hinzugefügt.
eventuell waren meine devices bereits ignored, bevor attr .ignoreSet erfunden wurde.
wenn es probleme gibt, würde ich das attr erst einmal in der fhem.cfg löschen.

wenn attr ignore=1 existiert, braucht man eigentlich nicht noch attr dummy=1, oder?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Motivierte linke Hände

Ja, ignore ist, wenn ich das richtig verstehe, dummy + mehr.

Ich habe noch ein wenig weiter getestet: Setze ich für den HM-LC-SW4-WM ignore = 1, kommt die Fehlermeldung beim Start von FHEM und autosave funktioniert nicht mehr. Lösche ich das Attribut ignore, kommt die Fehlermeldung nicht mehr. (Unabhängig davon, ob dummy gesetzt ist.)
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

frank

ich meinte:
attr ignore 1    => setzen
und anschliessend
attr .ignoreSet => löschen
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Motivierte linke Hände

Ok, mal testen, ob das hält oder ob das Attribut wieder auftaucht.
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Motivierte linke Hände

Hi, ich wieder. Das Attribut .ignoreSet wird wieder von fhem gesetzt, gespeichert, und führt dann beim nächsten fhem-Start wieder zu einem Fehler und zum Abschalten von Autosave.

Das Attribut findet sich auch im aktuellen Code (Zeile 1140 ff.): https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/10_CUL_HM.pm

Ich verstehe den Code auf Anhieb nicht. Aber das Attribut scheint automatisch gesetzt zu werden, wenn das ignore-Attribut genutzt wird, um zu managen, wie das Attribut auf darunterliegende Channel wirkt. Vmtl. fehlt einfach nur, das Attribut beim Laden von fhem.cfg FHEM ,,irgendwie" bekannt zu machen.
(einfügen als neue Zeile 187? Keine Ahnung...)

Vielleicht liest Martin ja mit und kann was dazu sagen.
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Motivierte linke Hände

Nur als Update: Ich habe das Problem immer noch. Und ich kann es auch ganz einfach reproduzieren:

Ein

attr <HM-LC-SW4-WM> ignore 1

auch über die Oberfläche führt beim nächsten Systemstart zu

Messages collected while initializing FHEM:configfile: Swi_Ventil1: unknown attribute .ignoreSet. Type 'attr Swi_Ventil1 ?' for a detailed list.

D.h. zusammen mit ignore wird auch .ignoreSet gesetzt, aber beim nächsten Systemstart dann bemeckert. Es funktioniert nach wie vor nur, wenn man nach dem Setzen des Attributs ignore das Attribut ignoreSet gleich wieder löscht.

attr <HM-LC-SW4-WM> ignore 1
deleteattr <HM-LC-SW4-WM> .ignoreSet


Vielleicht kann Martin sich das doch nochmal anschauen? Einen laienhaften Vorschlag, das im Code zu adressieren, habe ich ja unten mal gemacht.




FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html