Gelöst: HmIP-PCBS2 und HMCCUCHN

Begonnen von MartinD, 11 November 2020, 10:48:24

Vorheriges Thema - Nächstes Thema

MartinD

Hallo,
ich habe hier einen HmIP-PCBS2 in FHEM angelegt mit

get d_ccu devicelist create Schaltplatine_2_Kanal_.* t=chn f=%n defattr save room=Homematic_IP

deviceinfo ergibt:

CHN 00199BE99B4745:0 Schaltplatine_2_Kanal:0
  DPT {f} HmIP-RF.00199BE99B4745:0.ACTUAL_TEMPERATURE = 23.000000 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.00199BE99B4745:0.DUTY_CYCLE = false [RE]
  DPT {n} HmIP-RF.00199BE99B4745:0.ERROR_CODE = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:0.ERROR_OVERHEAT = false [RE]
  DPT {b} HmIP-RF.00199BE99B4745:0.INSTALL_TEST = true [RW]
  DPT {f} HmIP-RF.00199BE99B4745:0.OPERATING_VOLTAGE = 0.000000 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:0.OPERATING_VOLTAGE_STATUS = 0 [RE]
  DPT {n} HmIP-RF.00199BE99B4745:0.RSSI_DEVICE = 177 [RE]
  DPT {n} HmIP-RF.00199BE99B4745:0.RSSI_PEER = 180 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.00199BE99B4745:0.UPDATE_PENDING = false [RE]
CHN 00199BE99B4745:1 HmIP-PCBS2 00199BE99B4745:1
  DPT {b} HmIP-RF.00199BE99B4745:1.PRESS_LONG =  [E]
  DPT {b} HmIP-RF.00199BE99B4745:1.PRESS_SHORT =  [E]
CHN 00199BE99B4745:2 HmIP-PCBS2 00199BE99B4745:2
  DPT {b} HmIP-RF.00199BE99B4745:2.PRESS_LONG =  [E]
  DPT {b} HmIP-RF.00199BE99B4745:2.PRESS_SHORT =  [E]
CHN 00199BE99B4745:3 HmIP-PCBS2 00199BE99B4745:3
  DPT {i} HmIP-RF.00199BE99B4745:3.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:3.SECTION = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:3.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:3.STATE = false [RE]
CHN 00199BE99B4745:4 Schaltplatine_2_Kanal_1
  DPT {s} HmIP-RF.00199BE99B4745:4.COMBINED_PARAMETER =  [W]
  DPT {f} HmIP-RF.00199BE99B4745:4.ON_TIME =  [W]
  DPT {i} HmIP-RF.00199BE99B4745:4.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:4.SECTION = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:4.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:4.STATE = false [RWE]
CHN 00199BE99B4745:5 HmIP-PCBS2 00199BE99B4745:5
  DPT {s} HmIP-RF.00199BE99B4745:5.COMBINED_PARAMETER =  [W]
  DPT {f} HmIP-RF.00199BE99B4745:5.ON_TIME =  [W]
  DPT {i} HmIP-RF.00199BE99B4745:5.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:5.SECTION = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:5.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:5.STATE = false [RWE]
CHN 00199BE99B4745:6 HmIP-PCBS2 00199BE99B4745:6
  DPT {s} HmIP-RF.00199BE99B4745:6.COMBINED_PARAMETER =  [W]
  DPT {f} HmIP-RF.00199BE99B4745:6.ON_TIME =  [W]
  DPT {i} HmIP-RF.00199BE99B4745:6.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:6.SECTION = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:6.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:6.STATE = false [RWE]
CHN 00199BE99B4745:7 HmIP-PCBS2 00199BE99B4745:7
  DPT {i} HmIP-RF.00199BE99B4745:7.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:7.SECTION = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:7.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:7.STATE = false [RE]
CHN 00199BE99B4745:8 Schaltplatine_2_Kanal_2
  DPT {s} HmIP-RF.00199BE99B4745:8.COMBINED_PARAMETER =  [W]
  DPT {f} HmIP-RF.00199BE99B4745:8.ON_TIME =  [W]
  DPT {i} HmIP-RF.00199BE99B4745:8.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:8.SECTION = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:8.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:8.STATE = false [RWE]
CHN 00199BE99B4745:9 HmIP-PCBS2 00199BE99B4745:9
  DPT {s} HmIP-RF.00199BE99B4745:9.COMBINED_PARAMETER =  [W]
  DPT {f} HmIP-RF.00199BE99B4745:9.ON_TIME =  [W]
  DPT {i} HmIP-RF.00199BE99B4745:9.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:9.SECTION = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:9.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:9.STATE = false [RWE]
CHN 00199BE99B4745:10 HmIP-PCBS2 00199BE99B4745:10
  DPT {s} HmIP-RF.00199BE99B4745:10.COMBINED_PARAMETER =  [W]
  DPT {f} HmIP-RF.00199BE99B4745:10.ON_TIME =  [W]
  DPT {i} HmIP-RF.00199BE99B4745:10.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:10.SECTION = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:10.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.00199BE99B4745:10.STATE = false [RWE]
CHN 00199BE99B4745:11 HmIP-PCBS2 00199BE99B4745:11
  DPT {s} HmIP-RF.00199BE99B4745:11.COMBINED_PARAMETER =  [W]
  DPT {i} HmIP-RF.00199BE99B4745:11.WEEK_PROGRAM_CHANNEL_LOCKS = 0 [RE]
  DPT {i} HmIP-RF.00199BE99B4745:11.WEEK_PROGRAM_TARGET_CHANNEL_LOCK =  [W]
  DPT {i} HmIP-RF.00199BE99B4745:11.WEEK_PROGRAM_TARGET_CHANNEL_LOCKS =  [W]



Attributes sind

controldatapoint  4.STATE
devStateIcon      .*on:black_Steckdose.on .*off:black_Steckdose.off
eventMap          /datapoint 4.STATE true:on /datapoint 4.STATE false:off/
statedatapoint   4.STATE
statevals          on:true,off:false
substitute        STATE!(0|false):off,(1|true):on


Das Problem:
ich kann durchaus mit
set Schaltplatine_2_Kanal_1 on
einschalten.
Ausschalten-Versuch endet mit:

HMCCUCHN: Schaltplatine_2_Kanal_1 Invalid datapoint


Wenn ich das device mit

get d_ccu devicelist create Schaltplatine_2_Kanal.* t=dev f=%n defattr save room=Homematic_IP

anlege funktionieren die datenpunkte (4.STATE und 8.STATE) korrekt.
Ich kann dann aber nicht _beide_ nutzen (entweder 4.STATE _oder_ 8.STATE

Weiß jemand einen Rat?

Mit besten Grüßen
Martin

kjmEjfu

Zitat von: MartinD am 11 November 2020, 10:48:24

Wenn ich das device mit

get d_ccu devicelist create Schaltplatine_2_Kanal.* t=dev f=%n defattr save room=Homematic_IP

anlege funktionieren die datenpunkte (4.STATE und 8.STATE) korrekt.
Ich kann dann aber nicht _beide_ nutzen (entweder 4.STATE _oder_ 8.STATE


Funktioniert in dem Fall ein

set DEVICENAME datapoint 4.STATE on

bzw

set DEVICENAME datapoint 8.STATE on

?
Migriere derzeit zu Home Assistant

MartinD

Hallo,

"on" funktioniert immer.
mit dem "off" gibt es Probleme.

ja, wenn type=dev dann funktionieren beide.
Allerdings habe dann nur ein device.

kjmEjfu

Naja, die Frage ist, ob es nur beim generellen Set Probleme gibt oder auch wenn du den Datapoint direkt ansprichst.
Wäre dann halt

set DEVICENAME datapoint 4.STATE off

Alternative: versuch mal die 4.4 Beta https://forum.fhem.de/index.php/topic,107077.0.html
Migriere derzeit zu Home Assistant

MartinD

Zitat
set DEVICENAME datapoint 4.STATE off

das funktioniert bei Geräten, die angelegt wurden mit type=dev einwandfrei.
und bei anlege mit t=chn eben nicht. Für mich etwas seltsam, ist aber so.
Das besonders seltsame ist, dass in beiden Fällen (t=chn und t=dev)

set DEVICENAME datapoint 4.STATE on

und

set DEVICENAME datapoint 8.STATE on

sehr wohl funktioniert.

Gruß
Martin

zap

Geräte vom Typ HMCCUCHN sind schon explizit einem Kanal zugeordnet. Daher muss beim "set datapoint" die Kanalnummer weggelassen werden:

set devName datapoint STATE on

2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

MartinD

Zitat

Geräte vom Typ HMCCUCHN sind schon explizit einem Kanal zugeordnet. Daher muss beim "set datapoint" die Kanalnummer weggelassen werden:

set devName datapoint STATE on

Ja, bei ,,on" geht das auch so, aber bei:

Set Schaltplatine_2_Kanal_1  datapoint STATE off


kommt zuverlässig:

HMCCUCHN: Schaltplatine_2_Kanal_1 Invalid datapoint


Gruß
Martin

zap

Ein "list Schaltplatine_2_Kanal_1" bitte.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

MartinD

Hallo,
danke, dass Du es angenommen hast,


Internals:
   CFGFN     
   DEF        00199BE99B4745:4
   FUUID      5faabcfc-f33f-2466-7cf4-42f221fb8a017d8b
   IODev      d_ccu
   NAME       Schaltplatine_2_Kanal_1
   NR         436027
   STATE      off
   TYPE       HMCCUCHN
   ccuaddr    00199BE99B4745:4
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    Schaltplatine_2_Kanal_1
   ccutype    HmIP-PCBS2
   channels   1
   statevals  devstate|on|off
   READINGS:
     2020-11-11 19:04:35   4.SECTION       0
     2020-11-11 19:04:35   4.SECTION_STATUS 0
     2020-11-11 19:04:35   4.STATE         off
     2020-11-11 19:04:35   activity        alive
     2020-11-11 19:04:35   control         off
     2020-11-11 19:04:36   hmstate         off
     2020-11-11 19:04:35   state           off
   hmccu:
     devspec    00199BE99B4745:4
     dp:
       0.ACTUAL_TEMPERATURE:
         OVAL       23.0
         VAL        24.0
       0.CONFIG_PENDING:
         OVAL       0
         VAL        0
       0.DUTY_CYCLE:
         OVAL       0
         VAL        0
       0.ERROR_CODE:
         OVAL       0
         VAL        0
       0.ERROR_OVERHEAT:
         OVAL       0
         VAL        0
       0.INSTALL_TEST:
         OVAL       true
         VAL        true
       0.OPERATING_VOLTAGE:
         OVAL       0.000000
         VAL        0.000000
       0.OPERATING_VOLTAGE_STATUS:
         OVAL       0
         VAL        0
       0.RSSI_DEVICE:
         OVAL       -74
         VAL        -73
       0.RSSI_PEER:
         OVAL       -75
         VAL        -74
       0.UNREACH:
         OSVAL      alive
         OVAL       0
         SVAL       alive
         VAL        0
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       4.PROCESS:
         OVAL       0
         VAL        0
       4.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.STATE:
         OSVAL      off
         OVAL       0
         SVAL       off
         VAL        0
Attributes:
   IODev      d_ccu
   ccureadingfilter ^STATE|^SECTION|^ON_TIME

Gruß
Martin

MartinD

up§, da ist noch was übriggeblieben


statedatapoint 4.STATE
   statevals  on:true,off:false
   substitute STATE!(0|false):off,(1|true):on
   verbose    5


MartinD

OK, ich habe gefunden:

nachdem ich:

eventMap. /datapoint 4.STATE true:on /datapoint 4.STATE false:off/

in

eventMap /datapoint STATE true:on /datapoint STATE false:off/

geändert habe geht es auch mit ,,off"

Danke für Denkansatz. :)

Gruß
Martin