Hallo Leute,
Aktuell bekomme ich irgendwie nur Kanal4 und Kanal8 von der vCCU als Kanal3 und Kanal7 in FHEM importiert. Ich brauche den schaltbaren Kanal7 nicht, aber ich brauche einen Sensokanal in FHEM um fest zu stellen ob die untere Taste gedrückt wurde. Wie kann ich das machen. Den Kanal2 bekomme ich nicht in FHEM import angezeigt.
Wenn ich das gerade richtig sehe dann muss ich nur die Möglichkeit haben einen Taster was ja Kanal2 in der vCCU wäre in FHEM zu importieren
Vielleicht hilft wenn ich sage was ich genau möchte.
Ich möchte das der Taster nach unten gedrückt wird aber der Aktor nicht reagiert. Dafür soll aber in fhem ein Notify reagiert um ein anderes Gerät zu schalten. Kann doch nun wirklich nicht so schwer sein.
Die einzige Möglichkeit zu verhindern, dass bei Drücken der Taste geschaltet wird ist, den abgehenden Leiter nicht anzuschließen.
Besser geeignet wäre ein Wandsender, zB HmIP-BRC2. Der mach genau das, was Du beabsichtigst.
Auf die Tastendrücke reagieren kann FHEM nur, wenn das Gerät entsprechende Kanäle mit einer KEY_... Rolle bereitstellt.
Bin allerdings etwas irritiert, dass Du von einer "vCCU" sprichst. Falls es um eine CCU und HMCCU geht, mach mal ein get deviceInfo
Also das mit der vccu ist etwas "falsch". Ich meinte eigentlich eine pivccu3 auf einem Raspi laufend.
In der Homematic CCU3 (Homematic) Webübersicht richte ich den Aktor ein. Dort habe ich dann 11 Kanäle. 1 und 2 ist quasi der Taster 1 oben gedrückt 2 unten gedrückt. Also die Taste am Aktor. Diese fungieren ja als Sender und müßen zum schalten des eigentlichen Aktorkanales mit einem Empfängerkanal Direktverbunden sein.
Nun habe ich halt die Direktverbindung vom Kanal2 (Taste nach unten drücken) komplett entfernt so das beim drücken nach unten rein gar nichts passiert. Soll ja auch nicht. Ich will einfach nur das das drücken erkannte wird in einem Device in FHEM so das ich ein Notiy darauf ansetzen kann.
DEV LichtschalterBadezimmer 003160C999C87E interface=HmIP-RF type=HmIP-BS2
CHN 003160C999C87E:0 LichtschalterBadezimmer:0
0.ACTUAL_TEMPERATURE = 26.000000 {f} [RE]
0.ACTUAL_TEMPERATURE_STATUS = 0 {i} [RE]
0.CONFIG_PENDING = false {b} [RE]
0.DUTY_CYCLE = false {b} [RE]
0.ERROR_CODE = 0 {i} [RE]
0.ERROR_OVERHEAT = false {b} [RE]
0.ERROR_POWER_FAILURE = false {b} [RE]
0.INSTALL_TEST = true {b} [RW]
0.OPERATING_VOLTAGE = 0.000000 {f} [RE]
0.OPERATING_VOLTAGE_STATUS = 0 {i} [RE]
0.RSSI_DEVICE = -55 {i} [RE]
0.RSSI_PEER = -44 {i} [RE]
0.UNREACH = false {b} [RE]
0.UPDATE_PENDING = false {b} [RE]
CHN 003160C999C87E:1 LichtschalterBadezimmer:1
1.PRESS_LONG = {b} [E]
1.PRESS_LONG_RELEASE = {b} [E]
1.PRESS_LONG_START = {b} [E]
1.PRESS_SHORT = {b} [E]
CHN 003160C999C87E:2 LichtschalterBadezimmer:2
2.PRESS_LONG = {b} [E]
2.PRESS_LONG_RELEASE = {b} [E]
2.PRESS_LONG_START = {b} [E]
2.PRESS_SHORT = {b} [E]
CHN 003160C999C87E:3 LichtschalterBadezimmer:3
3.PROCESS = 0 {i} [RE]
3.SECTION = 0 {i} [RE]
3.SECTION_STATUS = 0 {i} [RE]
3.STATE = false {b} [RE]
CHN 003160C999C87E:4 LichtschalterBadezimmer:4
4.COMBINED_PARAMETER = {s} [W]
4.ON_TIME = {f} [W]
4.PROCESS = 0 {i} [RE]
4.SECTION = 0 {i} [RE]
4.SECTION_STATUS = 0 {i} [RE]
4.STATE = false {b} [RWE]
CHN 003160C999C87E:5 LichtschalterBadezimmer:5
5.COMBINED_PARAMETER = {s} [W]
5.ON_TIME = {f} [W]
5.PROCESS = 0 {i} [RE]
5.SECTION = 0 {i} [RE]
5.SECTION_STATUS = 0 {i} [RE]
5.STATE = false {b} [RWE]
CHN 003160C999C87E:6 LichtschalterBadezimmer:6
6.COMBINED_PARAMETER = {s} [W]
6.ON_TIME = {f} [W]
6.PROCESS = 0 {i} [RE]
6.SECTION = 0 {i} [RE]
6.SECTION_STATUS = 0 {i} [RE]
6.STATE = false {b} [RWE]
CHN 003160C999C87E:7 LichtschalterBadezimmer:7
7.PROCESS = 0 {i} [RE]
7.SECTION = 0 {i} [RE]
7.SECTION_STATUS = 0 {i} [RE]
7.STATE = false {b} [RE]
CHN 003160C999C87E:8 LichtschalterBadezimmer:8
8.COMBINED_PARAMETER = {s} [W]
8.ON_TIME = {f} [W]
8.PROCESS = 0 {i} [RE]
8.SECTION = 0 {i} [RE]
8.SECTION_STATUS = 0 {i} [RE]
8.STATE = false {b} [RWE]
CHN 003160C999C87E:9 LichtschalterBadezimmer:9
9.COMBINED_PARAMETER = {s} [W]
9.ON_TIME = {f} [W]
9.PROCESS = 0 {i} [RE]
9.SECTION = 0 {i} [RE]
9.SECTION_STATUS = 0 {i} [RE]
9.STATE = false {b} [RWE]
CHN 003160C999C87E:10 LichtschalterBadezimmer:10
10.COMBINED_PARAMETER = {s} [W]
10.ON_TIME = {f} [W]
10.PROCESS = 0 {i} [RE]
10.SECTION = 0 {i} [RE]
10.SECTION_STATUS = 0 {i} [RE]
10.STATE = false {b} [RWE]
CHN 003160C999C87E:11 LichtschalterBadezimmer:11
11.COMBINED_PARAMETER = {s} [W]
11.WEEK_PROGRAM_CHANNEL_LOCKS = 0 {i} [RE]
11.WEEK_PROGRAM_TARGET_CHANNEL_LOCK = {i} [W]
11.WEEK_PROGRAM_TARGET_CHANNEL_LOCKS = {i} [W]
Device detection:
StateDatapoint = 1.PRESS_SHORT [KEY_TRANSCEIVER]
StateDatapoint = 10.STATE [SWITCH_VIRTUAL_RECEIVER]
StateDatapoint = 2.PRESS_SHORT [KEY_TRANSCEIVER]
StateDatapoint = 3.STATE [SWITCH_TRANSMITTER]
StateDatapoint = 4.STATE [SWITCH_VIRTUAL_RECEIVER]
StateDatapoint = 5.STATE [SWITCH_VIRTUAL_RECEIVER]
StateDatapoint = 6.STATE [SWITCH_VIRTUAL_RECEIVER]
StateDatapoint = 7.STATE [SWITCH_TRANSMITTER]
StateDatapoint = 8.STATE [SWITCH_VIRTUAL_RECEIVER]
StateDatapoint = 9.STATE [SWITCH_VIRTUAL_RECEIVER]
ControlDatapoint = 10.STATE [SWITCH_VIRTUAL_RECEIVER]
ControlDatapoint = 4.STATE [SWITCH_VIRTUAL_RECEIVER]
ControlDatapoint = 5.STATE [SWITCH_VIRTUAL_RECEIVER]
ControlDatapoint = 6.STATE [SWITCH_VIRTUAL_RECEIVER]
ControlDatapoint = 8.STATE [SWITCH_VIRTUAL_RECEIVER]
ControlDatapoint = 9.STATE [SWITCH_VIRTUAL_RECEIVER]
Recommended module for device definition: HMCCUDEV
Device description
Device 003160C999C87E LichtschalterBadezimmer [HmIP-BS2]
AES_ACTIVE: 1
AVAILABLE_FIRMWARE: 0.0.0
CHILDREN: 003160C999C87E:0,003160C999C87E:1,003160C999C87E:2,003160C999C87E:3,003160C999C87E:4,003160C999C87E:5,003160C999C87E:6,003160C999C87E:7,003160C999C87E:8,003160C999C87E:9,003160C999C87E:10,003160C999C87E:11
DIRECTION: NONE
FIRMWARE: 1.8.8
FIRMWARE_UPDATE_STATE: UP_TO_DATE
FLAGS: Visible
PARAMSETS: MASTER,SERVICE
RF_ADDRESS: 4581969
ROAMING: 0
RX_MODE:
SUBTYPE: BS2
UPDATABLE: 1
Channel 003160C999C87E:0 LichtschalterBadezimmer:0 [MAINTENANCE]
AES_ACTIVE: 1
DIRECTION: NONE
FLAGS: Visible
PARAMSETS: MASTER,VALUES,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:1 LichtschalterBadezimmer:1 [KEY_TRANSCEIVER] known
AES_ACTIVE: 1
DIRECTION: SENDER
FLAGS: Visible
LINK_SOURCE_ROLES: REMOTE_CONTROL
PARAMSETS: MASTER,VALUES,LINK,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:2 LichtschalterBadezimmer:2 [KEY_TRANSCEIVER] known
AES_ACTIVE: 1
DIRECTION: SENDER
FLAGS: Visible
LINK_SOURCE_ROLES: REMOTE_CONTROL
PARAMSETS: MASTER,VALUES,LINK,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:3 LichtschalterBadezimmer:3 [SWITCH_TRANSMITTER] known
AES_ACTIVE: 1
DIRECTION: NONE
FLAGS: Visible
PARAMSETS: MASTER,VALUES,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:4 LichtschalterBadezimmer:4 [SWITCH_VIRTUAL_RECEIVER] known
AES_ACTIVE: 1
DIRECTION: RECEIVER
FLAGS: Visible
LINK_TARGET_ROLES: REMOTE_CONTROL,LEVEL,SWITCH,CONDITIONAL_SWITCH
PARAMSETS: MASTER,VALUES,LINK,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:5 LichtschalterBadezimmer:5 [SWITCH_VIRTUAL_RECEIVER] known
AES_ACTIVE: 1
DIRECTION: RECEIVER
FLAGS: Visible
LINK_TARGET_ROLES: REMOTE_CONTROL,LEVEL,SWITCH,CONDITIONAL_SWITCH
PARAMSETS: MASTER,VALUES,LINK,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:6 LichtschalterBadezimmer:6 [SWITCH_VIRTUAL_RECEIVER] known
AES_ACTIVE: 1
DIRECTION: RECEIVER
FLAGS: Visible
LINK_TARGET_ROLES: REMOTE_CONTROL,LEVEL,SWITCH,CONDITIONAL_SWITCH
PARAMSETS: MASTER,VALUES,LINK,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:7 LichtschalterBadezimmer:7 [SWITCH_TRANSMITTER] known
AES_ACTIVE: 1
DIRECTION: NONE
FLAGS: Visible
PARAMSETS: MASTER,VALUES,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:8 LichtschalterBadezimmer:8 [SWITCH_VIRTUAL_RECEIVER] known
AES_ACTIVE: 1
DIRECTION: RECEIVER
FLAGS: Visible
LINK_TARGET_ROLES: REMOTE_CONTROL,LEVEL,SWITCH,CONDITIONAL_SWITCH
PARAMSETS: MASTER,VALUES,LINK,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:9 LichtschalterBadezimmer:9 [SWITCH_VIRTUAL_RECEIVER] known
AES_ACTIVE: 1
DIRECTION: RECEIVER
FLAGS: Visible
LINK_TARGET_ROLES: REMOTE_CONTROL,LEVEL,SWITCH,CONDITIONAL_SWITCH
PARAMSETS: MASTER,VALUES,LINK,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:10 LichtschalterBadezimmer:10 [SWITCH_VIRTUAL_RECEIVER] known
AES_ACTIVE: 1
DIRECTION: RECEIVER
FLAGS: Visible
LINK_TARGET_ROLES: REMOTE_CONTROL,LEVEL,SWITCH,CONDITIONAL_SWITCH
PARAMSETS: MASTER,VALUES,LINK,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Channel 003160C999C87E:11 LichtschalterBadezimmer:11 [SWITCH_WEEK_PROFILE]
AES_ACTIVE: 1
DIRECTION: NONE
FLAGS: Visible
PARAMSETS: MASTER,VALUES,SERVICE
PARENT: 003160C999C87E
PARENT_TYPE: HmIP-BS2
RF_ADDRESS: 0
ROAMING: 0
RX_MODE:
UPDATABLE: 1
Also wenn ich das richtig sehe dann wird eine Key Rolle gegeben bei Kanal 1 und 2
StateDatapoint = 1.PRESS_SHORT [KEY_TRANSCEIVER]
StateDatapoint = 2.PRESS_SHORT [KEY_TRANSCEIVER]
Ich benötige den StateDatapoint = 2.PRESS_SHORT [KEY_TRANSCEIVER] in FHEM, bekomme ihn aber irgendwie nicht rein.
Zitat von: zap am 26 Januar 2025, 17:47:01Die einzige Möglichkeit zu verhindern, dass bei Drücken der Taste geschaltet wird ist, den abgehenden Leiter nicht anzuschließen.
Ich glaube (mache zu wenig damit) das es so nicht ganz stimmt. Wie gesagt, wenn ich die Direktverknüpfung zu einem Empfängerkanal entferne wird auch nicht geschallten.
Geht das?
define xy HMCCUCHN lichtschalterbadezimmer:1
Ja.
Internals:
CFGFN
DEF LichtschalterBadezimmer:2
FUUID 67969866-f33f-5c83-c453-dde5e6d0c47ea863
IODev vccu
NAME test
NR 143
STATE ???
TYPE HMCCUCHN
ccuaddr 003160C999C87E:2
ccudevstate active
ccuif HmIP-RF
ccuname LichtschalterBadezimmer:2
ccurolestate KEY_TRANSCEIVER
ccusubtype BS2
ccutype HmIP-BS2
eventCount 3
firmware 1.8.8
readonly no
OLDREADINGS:
READINGS:
2025-01-26 21:27:13 activity alive
2025-01-26 21:27:13 devstate ok
2025-01-26 21:27:13 rssidevice -56
2025-01-26 21:27:13 rssipeer -44
2025-01-26 21:27:13 voltage 0.0
hmccu:
channels 1
detect 1
devspec LichtschalterBadezimmer:2
nodefaults 0
role 2:KEY_TRANSCEIVER
setDefaults 0
cmdlist:
get
set
control:
dp:
0.ACTUAL_TEMPERATURE:
VALUES:
NVAL 26.000000
SVAL 26.0
VAL 26.000000
0.ACTUAL_TEMPERATURE_STATUS:
VALUES:
NVAL 0
SVAL NORMAL
VAL 0
0.CONFIG_PENDING:
VALUES:
NVAL 0
SVAL false
VAL 0
0.DUTY_CYCLE:
VALUES:
NVAL 0
SVAL false
VAL 0
0.ERROR_CODE:
VALUES:
NVAL 0
SVAL 0
VAL 0
0.ERROR_OVERHEAT:
VALUES:
NVAL 0
SVAL false
VAL 0
0.ERROR_POWER_FAILURE:
VALUES:
NVAL 0
SVAL false
VAL 0
0.INSTALL_TEST:
VALUES:
NVAL 1
SVAL true
VAL 1
0.OPERATING_VOLTAGE:
VALUES:
NVAL 0.000000
SVAL 0.0
VAL 0.000000
0.OPERATING_VOLTAGE_STATUS:
VALUES:
NVAL 0
SVAL NORMAL
VAL 0
0.RSSI_DEVICE:
VALUES:
NVAL -56
SVAL -56
VAL -56
0.RSSI_PEER:
VALUES:
NVAL -44
SVAL -44
VAL -44
0.UNREACH:
VALUES:
NVAL 0
SVAL alive
VAL 0
0.UPDATE_PENDING:
VALUES:
NVAL 0
SVAL false
VAL 0
roleChannels:
KEY_TRANSCEIVER 2
roleCmds:
get:
set:
state:
chn 2
dpt PRESS_SHORT
Attributes:
event-on-update-reading .*
statedatapoint PRESS_SHORT
Leider keine verwertbaren Datenpunkte wie ich finde.
Alles was ich wissen will ist ob der Taster kurz nach unten gedrückt wurde. Mehr eigentlich nicht.
Kam denn noch nie jemand auf die Idee den Taster so zu verwenden ;D
Die Datenpunkte sind doch da:
CHN 003160C999C87E:1 LichtschalterBadezimmer:1
1.PRESS_LONG = {b} [E]
1.PRESS_LONG_RELEASE = {b} [E]
1.PRESS_LONG_START = {b} [E]
1.PRESS_SHORT = {b} [E]
Sind halt reine Event-Datenpunkte [E], d.h. Abfrage per "get datapoint" funktioniert nicht. Die Infos werden ausschließlich von der CCU geschickt.
Damit die CCU das macht, musst Du in der CCU ein Dummy Programm anlegen, das diesen Kanal abfragt (also z.B. ein Programm mit einer Bedingung "Wenn Taste gedrückt". Die Definition einer Aktion ist nicht erforderlich, ich handhabe das aber so, dass ich in dem Fall eine Systemvariable setzen lasse.
Leider ist das so ne Eigenart der CCU. Bei Tasten wird nur dann ein Event geschickt, wenn die Taste irgendwo (eben in einem Programm) verwendet wird.
So das klappt ja tatsächlich. Super. Vielen lieben Dank für Deine schnelle Hilfe.