Erneut kein automatisches Update für HMCCUDEV devices

Begonnen von clang, 16 August 2020, 00:00:37

Vorheriges Thema - Nächstes Thema

clang

Hallo zap, hallo *,

leider gibt es wieder etwas zu einem Thema vom letzten Jahr, das Problem

  HMCCUDEV device bekommt kein automatisches Update mehr
  https://forum.fhem.de/index.php/topic,99366.15.html

tritt schon länger wieder auf, und zudem gibt es seit kurzem nennenswerte Änderungen bzw. Neuigkeiten.

Zunächst: nachdem ich im alten Thread schrieb, es täte wieder, hat es nur etwa zwei Wochen gehalten. Dann habe ich es mit einem Update auf Raspbian buster versucht, das kam zusammen mit einer neuen Version von pivccu mit der CCU2 Version 2.51.6. Und auch damit war - selbst mit mehrfachem Zurücksetzten der CCU2, Neuanlernen des Präsenzmelders und Neuanlegens in fhem - nichts mehr zu wollen, eine Statusänderung wird einfach nicht durchgereicht. Um das Problem erst einmal zu umgehen, habe ich dann ein at device angelegt, das alle 10 Sekunden ein get update auf das fhem device durchführt - unschön, aber für meine Zwecke reichte es erst einmal. Und noch einmal zu posten, ging dann gerade zeitlich leider nicht - und irgendwann vergisst man das dann auch mal, wenns ja tut :)

Bezugnehmend auf den alten Thread kann ich noch sagen, daß
* im Attribut ccuif korrekterweise nun HmIP-RF steht und
* das zugeordnete IODevice korrekt ist (es gibt auch nach wie vor nur eins) - siehe Gerätedefinitionen unten - und
* das Log unverdächtig erscheint - siehe unten - und
* der Versuch mit Namen statt mit Nummer im define auch weiterhin nicht besser funktioniert

Nun zu den Neuigkeiten:

1) Seit kurzem habe ich mir ein zweites HmIP-Gerät zugelegt, den Außemtemperatur- und Feuchtesensor HmIP-STHO. Und auch hier zeigt sich bei einer Anbindung über HMCCUDEV das Problem: ein geänderter Satus kommt nicht durch - hier bemerkt man das natürlich nur, wenn sich der Status 'initialized' nicht ändert. Als Workaround habe ich auch hier ein at device angelegt, um den Status periodisch zu aktualisieren, was bei diesem Gerät nun völlig unkritisch ist.

2) Außerdem brauchte ich letzte Woche Ersatz für einen defekten Homematic Unterputzschalter HM-LC-Sw1PBU-FM, also *nicht* HmIP!, bei ein Elko hochgegangen ist (scheint öfter vorzukommen). Das neue Gerät desselben Typs konnte ich unter fhem zwar anlernen, dann hat es aber keine Kommandos mehr angenommen (dazu müsste ich wohl auch noch einen Thread aufmachen...). Nach einigen erfolglosen Versuchen dachte ich schon, das Gerät sei defekt, aber dann habe ich es in der CCU2 probiert, und damit kann das Gerät problemlos geschaltet werden. Also steuere ich dieses Gerät nun über ein HMCCUDEV device an - und siehe da: wenn ich den Schalter manuell, also nicht über fhem schalte, wird der Status sauber übertragen. Hier steht in Attribut ccuif natürlich BidCos-RF - könnte das vielleicht ein Hinweis sein, der es ermöglicht, den Fehler einzugrenzen?

Nun habe ich ein wenig die Hoffnung, daß diese neuen Umstände ermöglichen, den Fehler einfacher zu finden. Magst Du dir diesen Fall noch einmal ansehen ? Und was kann ich noch zur Analyse beitragen ?

TIA Chris

Anhänge

Der fhem startup im Log:

2020.08.15 23:15:35.258 1: Including fhem.cfg
2020.08.15 23:15:42.708 1: HMCCU: [HW_HMCCU2 : 1438] Initialized version 4.3.025
2020.08.15 23:15:42.709 1: HMCCU: [HW_HMCCU2 : 1438] HMCCU: Initializing device
2020.08.15 23:15:42.834 1: HMCCU: [HW_HMCCU2 : 1438] HMCCU: Read 5 devices with 110 channels from CCU 172.16.32.8
2020.08.15 23:15:42.834 1: HMCCU: [HW_HMCCU2 : 1438] HMCCU: Read 3 interfaces from CCU 172.16.32.8
2020.08.15 23:15:42.834 1: HMCCU: [HW_HMCCU2 : 1438] HMCCU: Read 0 programs from CCU 172.16.32.8
2020.08.15 23:15:42.835 1: HMCCU: [HW_HMCCU2 : 1438] HMCCU: Read 0 virtual groups from CCU 172.16.32.8
2020.08.15 23:15:44.000 1: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1438] Initialized version 1.9.001 for interface BidCos-RF with I/O device HW_HMCCU2
2020.08.15 23:15:44.052 1: Including ./log/fhem.save
2020.08.15 23:15:48.595 0: HMCCU: Start of RPC server after FHEM initialization in 12 seconds
2020.08.15 23:15:48.836 1: usb create starting
2020.08.15 23:15:49.000 1: PERL WARNING: can't getattr: Input/output error at ./FHEM/DevIo.pm line 581.
2020.08.15 23:15:49.001 1: ZWDongle: Can't open /dev/serial1: Input/output error
2020.08.15 23:15:49.068 1: CUL: Can't open /dev/ttyS0: Input/output error
2020.08.15 23:15:49.098 1: usb create end
2020.08.15 23:15:49.099 0: Featurelevel: 6
2020.08.15 23:15:49.099 0: Server started with 331 defined entities (fhem.pl:22522/2020-08-02 perl:5.028001 os:linux user:fhem pid:1438)
2020.08.15 23:15:50.262 1: Connection refused from 172.16.32.6:59250
2020.08.15 23:16:00.608 2: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1438] RPC server process started for interface BidCos-RF with PID=1479
2020.08.15 23:16:00.617 2: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1479] Initializing RPC server CB2001032006032008 for interface BidCos-RF
2020.08.15 23:16:00.646 1: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1438] RPC server starting
2020.08.15 23:16:00.735 2: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1479] Callback server CB2001032006032008 created. Listening on port 7411
2020.08.15 23:16:00.737 2: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1479] CB2001032006032008 accepting connections. PID=1479
2020.08.15 23:16:00.751 2: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1438] RPC server CB2001032006032008 enters server loop
2020.08.15 23:16:00.753 2: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1438] Registering callback http://172.16.32.6:7411/fh2001 of type A with ID CB2001032006032008 at http://172.16.32.8:2001
2020.08.15 23:16:00.922 1: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1438] RPC server CB2001032006032008 running
2020.08.15 23:16:00.972 1: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1438] Scheduled CCU ping every 300 seconds
2020.08.15 23:16:01.033 2: HMCCURPCPROC: [d_rpc032008BidCos_RF : 1479] CB2001032006032008 NewDevice received 55 device and channel specifications


Der Präsenzmelder:

Internals:
   DEF        000C17099A00AF
   FUUID      5edccce1-f33f-1138-d1bf-dc84398694a8ac78
   IODev      HW_HMCCU2
   NAME       HW_FL_Presence
   NR         301
   STATE      present
   TYPE       HMCCUDEV
   ccuaddr    000C17099A00AF
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    HW_FL_Presence
   ccutype    HmIP-SPI
   channels   2
   statevals  devstate
   READINGS:
     2020-06-07 13:19:02   0.LOW_BAT       false
     2020-06-07 13:19:02   0.OPERATING_VOLTAGE 2.8
     2020-06-07 13:19:02   0.OPERATING_VOLTAGE_STATUS 0
     2020-08-15 23:25:42   1.CURRENT_ILLUMINATION 18.1
     2020-08-15 23:25:42   1.CURRENT_ILLUMINATION_STATUS 0
     2020-06-07 13:19:02   1.ILLUMINATION  235.1
     2020-06-07 13:19:02   1.ILLUMINATION_STATUS 0
     2020-08-15 23:25:42   1.PRESENCE_DETECTION_ACTIVE on
     2020-06-07 13:19:02   1.PRESENCE_DETECTION_STATE no
     2020-08-15 23:25:42   battery         ok
     2020-08-15 23:25:42   batteryLevel    2.8
     2020-08-15 23:25:42   batteryLevel_STATUS 0
     2020-08-15 23:25:42   control         on
     2020-08-15 23:25:42   hmstate         present
     2020-08-15 23:25:42   illumination    0.4
     2020-08-15 23:25:42   illumination_STATUS 0
     2020-08-15 23:25:42   presence        present
     2020-08-15 23:25:42   state           present
   hmccu:
     devspec    000C17099A00AF
     dp:
       0.CONFIG_PENDING:
         OVAL       false
         VAL        false
       0.DUTY_CYCLE:
         OVAL       false
         VAL        false
       0.ERROR_CODE:
         OVAL       0
         VAL        0
       0.INSTALL_TEST:
         OVAL       true
         VAL        true
       0.LOW_BAT:
         OSVAL      ok
         OVAL       false
         SVAL       ok
         VAL        false
       0.OPERATING_VOLTAGE:
         OSVAL      2.8
         OVAL       2.800000
         SVAL       2.8
         VAL        2.800000
       0.OPERATING_VOLTAGE_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.RSSI_DEVICE:
         OVAL       187
         VAL        187
       0.RSSI_PEER:
         OVAL       175
         VAL        175
       0.SABOTAGE:
         OVAL       false
         VAL        false
       0.UNREACH:
         OVAL       false
         VAL        false
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       1.CURRENT_ILLUMINATION:
         OSVAL      18.1
         OVAL       18.100000
         SVAL       18.1
         VAL        18.100000
       1.CURRENT_ILLUMINATION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.ILLUMINATION:
         OSVAL      0.4
         OVAL       0.400000
         SVAL       0.4
         VAL        0.400000
       1.ILLUMINATION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.PRESENCE_DETECTION_ACTIVE:
         OSVAL      on
         OVAL       true
         SVAL       on
         VAL        true
       1.PRESENCE_DETECTION_STATE:
         OSVAL      present
         OVAL       true
         SVAL       present
         VAL        true
Attributes:
   IODev      HW_HMCCU2
   ccureadingfilter (ILLUMINATION|PRESENCE|LOW_BAT|OPERATING_VOLTAGE)
   ccureadingname 0.LOW_BAT:battery;0.OPERATING_VOLTAGE:batteryLevel;1.ILLUMINATION:illumination;1.PRESENCE_DETECTION_STATE:presence
   controldatapoint 1.PRESENCE_DETECTION_ACTIVE
   event-on-change-reading battery,batteryLevel,illumination,presence
   eventMap   /datapoint 1.RESET_PRESENCE 1:reset/datapoint 1.PRESENCE_DETECTION_ACTIVE 1:detection-on/datapoint 1.PRESENCE_DETECTION_ACTIVE 0:detection-off/
   group      Sensoren
   hmstatevals SABOTAGE!(1|true):sabotage
   icon       message_presence
   room       Hardware,Maintenance->Innenlicht
   statedatapoint 1.PRESENCE_DETECTION_STATE
   stripnumber 1
   substitute LOW_BAT!(0|false):ok,(1|true):low;PRESENCE_DETECTION_STATE!(0|false):absent,(1|true):present;PRESENCE_DETECTION_ACTIVE!(0|false):off,(1|true):on


Der Luft/Feuchtesensor:

Internals:
   DEF        000EDBE98B9CD7
   FUUID      5f08897c-f33f-1138-ade8-55e6d6ec16c9ba1c
   IODev      HW_HMCCU2
   NAME       HW_BK_Klimasensor
   NR         317
   STATE      T: 24.8 H: 72
   TYPE       HMCCUDEV
   ccuaddr    000EDBE98B9CD7
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    HW_BK_Klimasensor
   ccutype    HmIP-STHO
   channels   4
   statevals  devstate
   READINGS:
     2020-08-15 23:27:13   battery         ok
     2020-08-15 23:27:13   batteryLevel    3.0
     2020-08-15 23:27:13   batteryLevel_STATUS 0
     2020-08-12 20:48:58   hmstate         unreachable
     2020-08-15 23:27:13   humidity        72
     2020-08-15 23:27:13   humidity_STATUS 0
     2020-08-15 23:27:13   temperature     24.8
     2020-08-15 23:27:13   temperature_STATUS 0
   hmccu:
     devspec    000EDBE98B9CD7
     dp:
       0.CONFIG_PENDING:
         OVAL       false
         VAL        false
       0.DUTY_CYCLE:
         OVAL       false
         VAL        false
       0.ERROR_CODE:
         OVAL       0
         VAL        0
       0.INSTALL_TEST:
         OVAL       true
         VAL        true
       0.LOW_BAT:
         OSVAL      ok
         OVAL       false
         SVAL       ok
         VAL        false
       0.OPERATING_VOLTAGE:
         OSVAL      3.0
         OVAL       3.000000
         SVAL       3.0
         VAL        3.000000
       0.OPERATING_VOLTAGE_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.RSSI_DEVICE:
         OVAL       173
         VAL        173
       0.RSSI_PEER:
         OVAL       0
         VAL        0
       0.TEMPERATURE_OUT_OF_RANGE:
         OVAL       false
         VAL        false
       0.UNREACH:
         OVAL       false
         VAL        false
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       1.ACTUAL_TEMPERATURE:
         OSVAL      24.8
         OVAL       24.800000
         SVAL       24.8
         VAL        24.800000
       1.ACTUAL_TEMPERATURE_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.HUMIDITY:
         OSVAL      72
         OVAL       72
         SVAL       72
         VAL        72
       1.HUMIDITY_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
Attributes:
   IODev      HW_HMCCU2
   ccureadingfilter (ACTUAL_TEMPERATURE|HUMIDITY|LOW_BAT|OPERATING_VOLTAGE)
   ccureadingname 0.LOW_BAT:battery;0.OPERATING_VOLTAGE:batteryLevel;1.ACTUAL_TEMPERATURE:temperature;1.HUMIDITY:humidity
   event-on-change-reading battery,batteryLevel,temperature,humidity
   group      Sensoren
   icon       temp_outside
   room       Hardware
   stateFormat T: temperature H: humidity
   stripnumber 1
   substitute LOW_BAT!(0|false):ok,(1|true):low


Der Unterputzschalter:

Internals:
   DEF        PEQ2222775
   FUUID      5f344130-f33f-1138-286f-e9f61093289586e7
   IODev      HW_HMCCU2
   NAME       HW_FL_Licht_Schalter1
   NR         341
   STATE      off
   TYPE       HMCCUDEV
   ccuaddr    PEQ2222775
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    HW_FL_Licht_Schalter1
   ccutype    HM-LC-Sw1PBU-FM
   channels   2
   firmware   2.8
   statevals  devstate|on|off
   READINGS:
     2020-08-15 23:16:00   1.STATE         off
     2020-08-15 23:16:00   control         off
     2020-08-15 23:16:00   hmstate         off
     2020-08-15 23:16:00   state           off
   hmccu:
     devspec    PEQ2222775
     dp:
       0.AES_KEY:
         OVAL       0
         VAL        0
       0.CONFIG_PENDING:
         OVAL       false
         VAL        false
       0.DEVICE_IN_BOOTLOADER:
         OVAL       false
         VAL        false
       0.DUTYCYCLE:
         OVAL       false
         VAL        false
       0.LOWBAT:
         OVAL       false
         VAL        false
       0.RSSI_DEVICE:
         OVAL       179
         VAL        179
       0.RSSI_PEER:
         OVAL       21
         VAL        21
       0.STICKY_UNREACH:
         OVAL       false
         VAL        false
       0.UNREACH:
         OVAL       false
         VAL        false
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       1.INHIBIT:
         OVAL       false
         VAL        false
       1.STATE:
         OSVAL      off
         OVAL       false
         SVAL       off
         VAL        false
       1.WORKING:
         OVAL       false
         VAL        false
Attributes:
   IODev      HW_HMCCU2
   ccureadingfilter STATE
   controldatapoint 1.STATE
   group      Licht
   icon       light_ceiling_light
   room       Hardware
   statedatapoint 1.STATE
   statevals  on:true,off:false
   substitute STATE!(true|1):on,(false|0):off
   webCmd     statusRequest:toggle:on:off
   widgetOverride control:uzsuToggle,off,on

zap

Zitat von: clang am 16 August 2020, 00:00:37
Bezugnehmend auf den alten Thread kann ich noch sagen, daß
* im Attribut ccuif korrekterweise nun HmIP-RF steht und

Es gibt kein Attribut ccuif. Im I/O Device heißt das richtige Attribut "rpcinterfaces". Das verwechselst Du anscheinend mit dem Internal "ccuif". Im I/O Device zeigt dieses Internal an, welche Schnittstellen die CCU unterstützt. In einem HMCCUDEV/CHN Device zeigt es an, zu welchem Schnittstellentyp ein Gerät gehört.
Wie Du im Log siehst, startet der RPC Server für BidCos-RF, nicht für HmIP-RF. Daher ist es normal, dass ein HmIP-Device nicht aktualisiert wird. Also musst Du rpcinterface im I/O Device richtig setzen, so wie es auch im Wiki beschrieben ist.
Sind das die einzigen Logmeldungen?
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

clang

Hi zap,

Zitat von: zap am 16 August 2020, 18:37:07
Es gibt kein Attribut ccuif. Im I/O Device heißt das richtige Attribut "rpcinterfaces". Das verwechselst Du anscheinend mit dem Internal "ccuif". Im I/O Device zeigt dieses Internal an, welche Schnittstellen die CCU unterstützt.
In einem HMCCUDEV/CHN Device zeigt es an, zu welchem Schnittstellentyp ein Gerät gehört.

Sorry, da meinte ich auch das Internal der HMCCUDEV device. Das war jetzt korrekt gesetzt - im alten Thread hatte ich beschrieben, daß das vor einem Jahr nicht der Fall war bzw. erst nach einem Zurücksetzen der CCU2 und Neu-Anlernen.

Zitat von: zap am 16 August 2020, 18:37:07

Wie Du im Log siehst, startet der RPC Server für BidCos-RF, nicht für HmIP-RF. Daher ist es normal, dass ein HmIP-Device nicht aktualisiert wird. Also musst Du rpcinterface im I/O Device richtig setzen, so wie es auch im Wiki beschrieben ist.

So, jetzt ist der Groschen gefallen. ich habe im IO device im Internal ccuinterfaces "VirtualDevices,HmIP-RF,BidCos-RF" gesehen, gemeint, damit sei alles ok, und das Attribut rpcinterfaces gar nicht mehr geprüft.

Mit dem gesetzten Attribut tut es jetzt wieder - Klasse!

Ich habe mir damals bei der Ersteinrichtung in 2017 das Attribut rpcinterfaces auch so dokumentiert, wie es zu setzen ist, aber jetzt stand im Attribut nur BidCos-RF. Anhand meiner Sicherungen der fhem.cfg kann ich nachvollziehen, daß ich das Attribut bis Mitte Mai auf HmIP-RF gesetzt hatte, seit Mitte Mai 2019 war es aber nicht mehr gesetzt. Zu der Zeit habe ich auf Raspbian Buster aktualisiert - dabei habe ich vermutlich das IO device wohl gelöscht, neu angelegt und dabei dieses wichtige Detail übersehen.

Im Log habe ich das falsche Protokoll tatsächlich übersehen, dieser Punkt geht jetzt in meine Doku zum Troubleshooting!

Vielen Dank für Deine Hilfe!