[HMCCU]: Attribut "statedatapoint" von HM-Sen-MDIR-WM55 automatisch gelöscht

Begonnen von FFHEM, 12 Februar 2022, 18:19:34

Vorheriges Thema - Nächstes Thema

FFHEM

Hallo, Guten Abend,

bei meinem HM-Sen-MDIR-WM55 (an Debmatic) habe ich als statedatapoint gewählt: "3.MOTION". Funktioniert prima.
Wenn aber FHEM neu gestartet wird (natürlich vorher SAVE angeklickt), ist das Attribut wieder verschwunden, was dann natürlich nicht so richtig ist - nach meinem Verständnis ;-)
Liegt es daran, dass das Device als HMCCUDEV angelegt wurde/besser die einzelnen Kanäle angelegt werden sollten?

Vielen Dank,
Gruß,
Friedhelm

Internals:
   DEF        OEQ0536140
   FUUID      61ed6a84-f33f-26cd-2308-48f75bc45dd51b34
   IODev      d_ccu
   NAME       PIRI3
   NR         1154
   STATE      noMotion
   TYPE       HMCCUDEV
   ccuaddr    OEQ0536140
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    PIRI3
   ccurolectrl KEY
   ccurolestate MOTION_DETECTOR
   ccusubtype HM-Sen-MDIR-WM55
   ccutype    HM-Sen-MDIR-WM55
   firmware   1.2
   readonly   no
   receiver   ccu:HM-RCV-50 BidCoS-RF [RECEIVER_BROKEN]
   OLDREADINGS:
   READINGS:
     2022-02-12 18:06:29   1.INSTALL_TEST  1
     2022-02-12 18:06:29   1.PRESS_SHORT   pressed
     2022-02-12 18:06:29   3.INSTALL_TEST  1
     2022-02-12 18:06:29   brightness      80
     2022-02-12 18:06:29   control         pressed
     2022-02-12 18:06:29   devstate        ok
     2022-02-12 18:06:29   hmstate         noMotion
     2022-02-12 18:06:29   motion          noMotion
     2022-02-12 18:06:29   pressed         pressed
     2022-02-12 18:06:29   state           noMotion
   hmccu:
     channels   4
     detect     3
     devspec    OEQ0536140
     forcedev   0
     nodefaults 1
     role       0:MAINTENANCE,1:KEY,2:KEY,3:MOTION_DETECTOR
     setDefaults 0
     cmdlist:
       get       
       set        press:noArg pressLong:noArg on:noArg off:noArg
     control:
       chn        1
       dpt        PRESS_SHORT
     dp:
       1.INSTALL_TEST:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       1.PRESS_SHORT:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      pressed
           OVAL       1
           SVAL       pressed
           VAL        1
       3.BRIGHTNESS:
         VALUES:
           NVAL       80
           ONVAL      80
           OSVAL      80
           OVAL       80
           SVAL       80
           VAL        80
       3.INSTALL_TEST:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       3.MOTION:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      noMotion
           OVAL       0
           SVAL       noMotion
           VAL        0
     roleCmds:
       get:
       set:
         off:
           channel    1
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      off
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         on:
           channel    1
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      on
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         press:
           channel    1
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      press
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         pressLong:
           channel    1
           role       KEY
           subcount   1
           syntax     V:PRESS_LONG:1
           usage      pressLong
           subcmd:
             000:
               args       1
               dpt        PRESS_LONG
               fnc       
               max        1
               min        0
               parname    PRESS_LONG
               partype    3
               ps         VALUES
               scn        000
               unit       
     state:
       chn        3
       dpt        MOTION
Attributes:
   cmdIcon    press:taster
   devStateIcon motion:people_sensor noMotion:message_presence
   group      motionDetector
   icon       motion_detector
   room       Alarmanlage,Bewegungsmelder
   statedatapoint 3.MOTION
   webCmd     :
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

zap

Machst Du bitte mal ein list nach dem Neustart, also wenn statedatapoint verschwunden ist?
Und bitte im IO Device einmal "get detectDev" für den Melder ausführen
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

FFHEM

Hallo zap,

hier das "detectDev" VOR dem FHEM-Neustart:
{
  controlRole={
    1={
      datapoint=PRESS_SHORT,
      priority=1,
      role=KEY
    },
    2={
      datapoint=PRESS_SHORT,
      priority=1,
      role=KEY
    }
  },
  controlRoleCount=2,
  defAdd=OEQ0536140,
  defCCh=1,
  defCDP=1.PRESS_SHORT,
  defMod=HMCCUDEV,
  defSCh=1,
  defSDP=1.PRESS_SHORT,
  level=3,
  rolePatternCount=0,
  stateRole={
    1={
      datapoint=PRESS_SHORT,
      priority=1,
      role=KEY
    },
    2={
      datapoint=PRESS_SHORT,
      priority=1,
      role=KEY
    },
    3={
      datapoint=MOTION,
      priority=1,
      role=MOTION_DETECTOR
    }
  },
  stateRoleCount=3,
  uniqueControlRoleCount=1,
  uniqueStateRoleCount=2
}



Evtl. wichtig: Direkt nach einem einfachen FHEM-Neustart ("shutdown restart") (also kein kompletter Shutdown mit Stromlosmachen) ist das Attribut noch vorhanden:
Internals:
   DEF        OEQ0536140
   FUUID      61ed6a84-f33f-26cd-2308-48f75bc45dd51b34
   IODev      d_ccu
   NAME       PIRI3
   NR         1154
   STATE      noMotion
   TYPE       HMCCUDEV
   ccuaddr    OEQ0536140
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    PIRI3
   ccusubtype HM-Sen-MDIR-WM55
   ccutype    HM-Sen-MDIR-WM55
   firmware   1.2
   readonly   no
   receiver   ccu:HM-RCV-50 BidCoS-RF [RECEIVER_BROKEN]
   READINGS:
     2022-02-12 18:06:29   1.INSTALL_TEST  1
     2022-02-12 18:06:29   1.PRESS_SHORT   pressed
     2022-02-13 09:35:23   3.INSTALL_TEST  1
     2022-02-13 09:44:17   IODev           d_ccu
     2022-02-13 09:45:11   activity        alive
     2022-02-13 09:45:11   battery         ok
     2022-02-13 09:45:11   brightness      133
     2022-02-12 18:06:29   control         pressed
     2022-02-13 09:45:11   devstate        ok
     2022-02-13 09:45:11   hmstate         noMotion
     2022-02-13 09:45:11   motion          noMotion
     2022-02-12 18:06:29   pressed         pressed
     2022-02-13 09:45:11   rssidevice      -255
     2022-02-13 09:45:11   rssipeer        -88
     2022-02-13 09:45:11   sign            off
     2022-02-13 09:45:11   state           noMotion
   hmccu:
     channels   4
     detect     3
     devspec    OEQ0536140
     forcedev   0
     nodefaults 1
     role       0:MAINTENANCE,1:KEY,2:KEY,3:MOTION_DETECTOR
     setDefaults 0
     cmdlist:
       get       
       set        press:noArg on:noArg pressLong:noArg off:noArg press:noArg on:noArg pressLong:noArg off:noArg
     control:
     dp:
       0.AES_KEY:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      off
           OVAL       0
           SVAL       off
           VAL        0
       0.CONFIG_PENDING:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      false
           OVAL       false
           SVAL       false
           VAL        false
       0.DEVICE_IN_BOOTLOADER:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      false
           OVAL       false
           SVAL       false
           VAL        false
       0.LOWBAT:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      ok
           OVAL       false
           SVAL       ok
           VAL        false
       0.RSSI_DEVICE:
         VALUES:
           NVAL       -255
           ONVAL      -255
           OSVAL      -255
           OVAL       1
           SVAL       -255
           VAL        1
       0.RSSI_PEER:
         VALUES:
           NVAL       -88
           ONVAL      -88
           OSVAL      -88
           OVAL       168
           SVAL       -88
           VAL        168
       0.STICKY_UNREACH:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      false
           OVAL       false
           SVAL       false
           VAL        false
       0.UNREACH:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      alive
           OVAL       false
           SVAL       alive
           VAL        false
       0.UPDATE_PENDING:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      false
           OVAL       false
           SVAL       false
           VAL        false
       3.BRIGHTNESS:
         VALUES:
           NVAL       133
           ONVAL      133
           OSVAL      133
           OVAL       133
           SVAL       133
           VAL        133
       3.MOTION:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      noMotion
           OVAL       false
           SVAL       noMotion
           VAL        false
     roleCmds:
       get:
       set:
         off:
           channel    ?
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      off
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         on:
           channel    ?
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      on
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         press:
           channel    ?
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      press
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         pressLong:
           channel    ?
           role       KEY
           subcount   1
           syntax     V:PRESS_LONG:1
           usage      pressLong
           subcmd:
             000:
               args       1
               dpt        PRESS_LONG
               fnc       
               max        1
               min        0
               parname    PRESS_LONG
               partype    3
               ps         VALUES
               scn        000
               unit       
     state:
       chn        3
       dpt        MOTION
Attributes:
   cmdIcon    press:taster
   devStateIcon motion:people_sensor noMotion:message_presence
   group      motionDetector
   icon       motion_detector
   room       Alarmanlage,Bewegungsmelder
   statedatapoint 3.MOTION
   webCmd     :


Aber nach einem Kaltstart des Raspi ist das Attribut verschwunden, und nach dem Drücken der Taster erscheint als Status dementsprechend auch "pressed" als state:

Internals:
   DEF        OEQ0536140
   FUUID      61ed6a84-f33f-26cd-2308-48f75bc45dd51b34
   IODev      d_ccu
   NAME       PIRI3
   NR         1154
   STATE      pressed
   TYPE       HMCCUDEV
   ccuaddr    OEQ0536140
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    PIRI3
   ccurolectrl KEY
   ccurolestate KEY
   ccusubtype HM-Sen-MDIR-WM55
   ccutype    HM-Sen-MDIR-WM55
   firmware   1.2
   readonly   no
   receiver   ccu:HM-RCV-50 BidCoS-RF [RECEIVER_BROKEN]
   READINGS:
     2022-02-13 09:57:44   1.INSTALL_TEST  1
     2022-02-13 09:57:44   1.PRESS_SHORT   pressed
     2022-02-13 09:57:52   2.INSTALL_TEST  1
     2022-02-13 09:57:52   2.PRESS_SHORT   pressed
     2022-02-13 09:57:42   3.BRIGHTNESS    140
     2022-02-13 09:57:42   3.INSTALL_TEST  1
     2022-02-13 09:57:42   3.MOTION        motion
     2022-02-13 09:54:09   IODev           d_ccu
     2022-02-13 09:35:23   brightness      133
     2022-02-13 09:57:44   control         pressed
     2022-02-13 09:57:52   devstate        ok
     2022-02-13 09:57:52   hmstate         pressed
     2022-02-13 09:36:33   motion          noMotion
     2022-02-13 09:57:44   pressed         pressed
     2022-02-13 09:57:44   state           pressed
   hmccu:
     channels   4
     detect     3
     devspec    OEQ0536140
     forcedev   0
     nodefaults 1
     role       0:MAINTENANCE,1:KEY,2:KEY,3:MOTION_DETECTOR
     setDefaults 0
     cmdlist:
       get       
       set        press:noArg on:noArg pressLong:noArg off:noArg
     control:
       chn        1
       dpt        PRESS_SHORT
     dp:
       1.INSTALL_TEST:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       1.PRESS_SHORT:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      pressed
           OVAL       1
           SVAL       pressed
           VAL        1
       2.INSTALL_TEST:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       2.PRESS_SHORT:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      pressed
           OVAL       1
           SVAL       pressed
           VAL        1
       3.BRIGHTNESS:
         VALUES:
           NVAL       140
           ONVAL      140
           OSVAL      140
           OVAL       140
           SVAL       140
           VAL        140
       3.INSTALL_TEST:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       3.MOTION:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      motion
           OVAL       1
           SVAL       motion
           VAL        1
     roleCmds:
       get:
       set:
         off:
           channel    1
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      off
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         on:
           channel    1
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      on
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         press:
           channel    1
           role       KEY
           subcount   1
           syntax     V:PRESS_SHORT:1
           usage      press
           subcmd:
             000:
               args       1
               dpt        PRESS_SHORT
               fnc       
               max        1
               min        0
               parname    PRESS_SHORT
               partype    3
               ps         VALUES
               scn        000
               unit       
         pressLong:
           channel    1
           role       KEY
           subcount   1
           syntax     V:PRESS_LONG:1
           usage      pressLong
           subcmd:
             000:
               args       1
               dpt        PRESS_LONG
               fnc       
               max        1
               min        0
               parname    PRESS_LONG
               partype    3
               ps         VALUES
               scn        000
               unit       
     state:
       chn        1
       dpt        PRESS_SHORT
Attributes:
   cmdIcon    press:taster
   devStateIcon motion:people_sensor noMotion:message_presence
   group      motionDetector
   icon       motion_detector
   room       Alarmanlage,Bewegungsmelder
   webCmd     :


Und noch einmal ein "get detectDev" in diesem Zustand:

{
  controlRole={
    1={
      datapoint=PRESS_SHORT,
      priority=1,
      role=KEY
    },
    2={
      datapoint=PRESS_SHORT,
      priority=1,
      role=KEY
    }
  },
  controlRoleCount=2,
  defAdd=OEQ0536140,
  defCCh=1,
  defCDP=1.PRESS_SHORT,
  defMod=HMCCUDEV,
  defSCh=1,
  defSDP=1.PRESS_SHORT,
  level=3,
  rolePatternCount=0,
  stateRole={
    1={
      datapoint=PRESS_SHORT,
      priority=1,
      role=KEY
    },
    2={
      datapoint=PRESS_SHORT,
      priority=1,
      role=KEY
    },
    3={
      datapoint=MOTION,
      priority=1,
      role=MOTION_DETECTOR
    }
  },
  stateRoleCount=3,
  uniqueControlRoleCount=1,
  uniqueStateRoleCount=2
}


Es reicht also kein einfacher FHEM-Neustart aus, um den Effekt zu provozieren.

Vielen Dank!
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

zap

Ich habe ne Vermutung, was da schiefläuft.

Bis ich das gefixt habe: Lege einfach ein HMCCUCHN an:

define PIRI3_Bewegung HMCCUCHN OEQ0536140:3

Du brauchst Dann kein statedatapoint zu setzen.

Wenn Du die Tastendrücke benötigst, kannst Du dafür das vorhandene HMCCUDEV behalten oder Du legst ebenfalls HMCCUCHNs an:

define PIRI3_Taste1 HMCCUCHN OEQ0536140:1
define PIRI3_Taste2 HMCCUCHN OEQ0536140:2



2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

FFHEM

Hallo zap,

vielen Dank für den Workaround und schon jetzt für das Fixen!

Gruß,
Friedhelm
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

FFHEM

Hallo zap,

habe heute einmal das FHEM-Update mit HMCCU gemacht, kann es sein, dass der obige Fehler dabei noch nicht repariert ist?
Nach einem Kaltstart des Raspberry verschwindet das Attribut immer noch.

Gruß,
Friedhelm
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

zap

Nein, ist noch nicht behoben. Ich kann den Fehler nicht reproduzieren, daher weiß ich noch nicht, woran es liegt.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

FFHEM

Danke für die schnelle Antwort!
Bitte melde Dich, falls ich Infos geben kann!
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

zap

Kannst Du mal schauen, ob im FHEM Log folgende Meldung steht, wenn das Attribut verschwindet:

Invalid value ... for attribute statedatapoint

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

FFHEM

Ja, kommt vor!
Zum Beispiel (habe die Zeile davor noch mit ausgegeben, vielleicht bedeutet dies ja auch etwas!)

2022.10.02 12:21:57 3:  HMCCUDEV [PIRI3] Cannot detect IO device, maybe CCU not ready or device doesn't exist on CCU
2022.10.02 12:21:57 3:  HMCCUDEV [PIRI3] Invalid value 3.MOTION for attribute statedatapoint


Zur Erinnerung: das Attribut verschwindet nur, wenn ich einen Hardwarereset mache (also den Pi neu starte).

Bei einem einfachen FHEM-"shutdown restart" bleibt das Attribut erhalten!
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266