HMIP-WRCD

Begonnen von yep_DD, 29 Januar 2020, 15:46:31

Vorheriges Thema - Nächstes Thema

TSchabba

Hallo zusammen,

ich hab mich mal damit auseinander gesetzt. Die CCU braucht alle Infos, die hier

("{DDBC=WHITE,DDTC=BLACK,DDA=CENTER,DDID=1,DDC=true}")}")

enthalten sind, allerdings als Datenpunkte in FHEM-Form. Bei mir funktioniert jetzt
set NameDesWRCD datapoint 3.DISPLAY_DATA_ID 2 3.DISPLAY_DATA_STRING "Test" 3.DISPLAY_DATA_ALIGNMENT 2 3.DISPLAY_DATA_BACKGROUND_COLOR 0 3.DISPLAY_DATA_TEXT_COLOR 1 3.DISPLAY_DATA_ICON 0 3.DISPLAY_DATA_COMMIT 1

Mit den einzelnen Optionen muss man dann herumspielen oder sich ein bisschen an der HmIP-Device-Documentation auf Seite ~9247 orientieren, da bin ich auch gerade noch dabei...

Viele Grüße,
Timo

TSchabba

Damit es richtig funktioniert, muss 3.DISPLAY_DATA_STRING als vorletztes vor 3.DISPLAY_DATA_COMMIT 1 kommen, sonst werden die Parameter erst bei der nächsten Aktualisierung übernommen.

TiPpFeHlEr

Hi Leute,

habe nun auch den HmIP-WRCD in Verbindung mit debMatic.
hier wurde der Taster erkannt und funktioniert.

in FHEM wurde die CCU eingerichtet wie von yep_DD beschrieben.
defmod AlarmTaster HMCCUDEV 002A5A498E9E30
attr AlarmTaster IODev HomeMaticIP
attr AlarmTaster ccureadingfilter (^LOW_BAT$|PRESS_SHORT|PRESS_LONG|^DUTY_CYCLE$)
attr AlarmTaster ccureadingformat datapoint
attr AlarmTaster event-on-update-reading .*
attr AlarmTaster room HomeMatic
attr AlarmTaster substitute PRESS_SHORT,PRESS_LONG!(1|true):pressed

setstate AlarmTaster 2020-11-11 18:35:40 0.CONFIG_PENDING false
setstate AlarmTaster 2020-11-11 18:49:30 0.DUTY_CYCLE false
setstate AlarmTaster 2020-11-11 18:35:40 0.INSTALL_TEST true
setstate AlarmTaster 2020-11-11 18:49:30 0.LOW_BAT false
setstate AlarmTaster 2020-11-11 18:37:14 0.OPERATING_VOLTAGE 2.600000
setstate AlarmTaster 2020-11-11 18:35:40 0.OPERATING_VOLTAGE_STATUS 0
setstate AlarmTaster 2020-11-11 18:35:40 0.RSSI_DEVICE 181
setstate AlarmTaster 2020-11-11 18:35:40 0.RSSI_PEER 0
setstate AlarmTaster 2020-11-11 18:35:40 0.UNREACH false
setstate AlarmTaster 2020-11-11 18:35:40 0.UPDATE_PENDING false


in debMatic habe ich auch für jeden Tastendruck ein Programm angelegt und zb. interne Variablen zu ändern ->geht

wie bekomme ich jetzt die Tastendrücke als event in fhem hin??

ein get AlarmTaster deviceinfo bringt
CHN 002A5A498E9E30:0 HmIP-WRCD 002A5A498E9E30:0
  DPT {b} HmIP-RF.002A5A498E9E30:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.002A5A498E9E30:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.002A5A498E9E30:0.INSTALL_TEST = true [RW]
  DPT {b} HmIP-RF.002A5A498E9E30:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.002A5A498E9E30:0.OPERATING_VOLTAGE = 2.600000 [RE]
  DPT {i} HmIP-RF.002A5A498E9E30:0.OPERATING_VOLTAGE_STATUS = 0 [RE]
  DPT {n} HmIP-RF.002A5A498E9E30:0.RSSI_DEVICE = 176 [RE]
  DPT {n} HmIP-RF.002A5A498E9E30:0.RSSI_PEER = 0 [RE]
  DPT {b} HmIP-RF.002A5A498E9E30:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.002A5A498E9E30:0.UPDATE_PENDING = false [RE]
CHN 002A5A498E9E30:1 HmIP-WRCD 002A5A498E9E30:1
  DPT {b} HmIP-RF.002A5A498E9E30:1.PRESS_LONG = false [E]
  DPT {b} HmIP-RF.002A5A498E9E30:1.PRESS_SHORT = false [E]
CHN 002A5A498E9E30:2 HmIP-WRCD 002A5A498E9E30:2
  DPT {b} HmIP-RF.002A5A498E9E30:2.PRESS_LONG = false [E]
  DPT {b} HmIP-RF.002A5A498E9E30:2.PRESS_SHORT = false [E]
CHN 002A5A498E9E30:3 HmIP-WRCD 002A5A498E9E30:3
  DPT {i} HmIP-RF.002A5A498E9E30:3.ACOUSTIC_NOTIFICATION_SELECTION =  [W]
  DPT {s} HmIP-RF.002A5A498E9E30:3.COMBINED_PARAMETER =  [W]
  DPT {i} HmIP-RF.002A5A498E9E30:3.DISPLAY_DATA_ALIGNMENT =  [W]
  DPT {i} HmIP-RF.002A5A498E9E30:3.DISPLAY_DATA_BACKGROUND_COLOR =  [W]
  DPT {b} HmIP-RF.002A5A498E9E30:3.DISPLAY_DATA_COMMIT =  [W]
  DPT {i} HmIP-RF.002A5A498E9E30:3.DISPLAY_DATA_ICON =  [W]
  DPT {i} HmIP-RF.002A5A498E9E30:3.DISPLAY_DATA_ID =  [W]
  DPT {s} HmIP-RF.002A5A498E9E30:3.DISPLAY_DATA_STRING =  [W]
  DPT {i} HmIP-RF.002A5A498E9E30:3.DISPLAY_DATA_TEXT_COLOR =  [W]
  DPT {i} HmIP-RF.002A5A498E9E30:3.INTERVAL =  [W]
  DPT {i} HmIP-RF.002A5A498E9E30:3.REPETITIONS =  [W]


ich steh aufm Schlauch  :o

MfG Maik

TiPpFeHlEr

Update

nun läufts!
rpcserver lief nicht  ::)

im Augenblick kann ich auf das Display schreiben, aber nur eine Zeile zu einem Zeitpunkt
set AlarmTaster datapoint 3.DISPLAY_DATA_ID 3 3.DISPLAY_DATA_ALIGNMENT 1 3.DISPLAY_DATA_BACKGROUND_COLOR 0 3.DISPLAY_DATA_TEXT_COLOR 1 3.DISPLAY_DATA_ICON 3 3.DISPLAY_DATA_STRING "UNSCHARF" 3.DISPLAY_DATA_COMMIT true 3.ACOUSTIC_NOTIFICATION_SELECTION 1 3.INTERVAL 1 3.REPETITIONS 1

will ich aber 2 Zeile beschreiben
set AlarmTaster datapoint 3.DISPLAY_DATA_ID 3 3.DISPLAY_DATA_ALIGNMENT 1 3.DISPLAY_DATA_BACKGROUND_COLOR 0 3.DISPLAY_DATA_TEXT_COLOR 1 3.DISPLAY_DATA_ICON 3 3.DISPLAY_DATA_STRING "UNSCHARF" 3.DISPLAY_DATA_ID 4 3.DISPLAY_DATA_ALIGNMENT 1 3.DISPLAY_DATA_BACKGROUND_COLOR 0 3.DISPLAY_DATA_TEXT_COLOR 1 3.DISPLAY_DATA_ICON 3 3.DISPLAY_DATA_STRING "Test4" 3.DISPLAY_DATA_COMMIT true 3.ACOUSTIC_NOTIFICATION_SELECTION 1 3.INTERVAL 1 3.REPETITIONS 1

schreibt er nur die 4te Zeile (ID 4)
die 3te Zeile (ID 3) wird nicht mehr aktuallisiert.

wo liegt der Fehler?

MfG Maik

Dirk070

Zitat von: zap am 02 Februar 2020, 18:37:01
Das liegt an der Interpretation der Kommandozeile. Muss ich mir mal anschauen

Hallo zap,

ich nutze ja mit Begeisterung die Möglichkeit, mehrere Befehle zusammenzupacken.
$LED_CCU .= " CCU_OG_BD_BSL_FLUR.8.COLOR=4" if (ReadingsVal("CCU_OG_BD_BSL_FLUR", "8.COLOR", "") ne "red");;
$LED_CCU .= " CCU_OG_BD_BSL_FLUR.8.LEVEL=100" if (ReadingsVal("CCU_OG_BD_BSL_FLUR", "8.LEVEL", "") != 100);;
fhem ("set ccu3 datapoint $LED_CCU") if ($LED_CCU ne "");;


Beim COMBINED_PARAMETER gibt es eine Fehlermeldung im Log.
$LED_CCU .= " CCU_OG_BD_BSL_FLUR.8.COMBINED_PARAMETER=L=55,DV=31,DU=2,RTV=10,RTU=0,C=6";;

Fehlermeldung:
Invalid datapoint COMBINED_PARAMETER specified for device

Gibt es (mittlerweile) eine Möglichkeit die "="-Zeichen zu senden?

Danke Dir und schöne Grüße
Dirk

Sciper

Hallo Zusammen,

ich habe für mein HmIP-WRCD Display ein DOIF angelegt.
Hier ein paar SET Beispiele:

Zeile 1 mit Text Alarmanlage und Icon 4 Schloss offen:

(set HmIP_WRCD datapoint 3.COMBINED_PARAMETER {DDBC=WHITE,DDTC=BLACK,DDI=4,DDA=CENTER,DDS=Alarmanlage ,DDID=1,DDC=true})


Display in Werkseinstellung:

(set HmIP_WRCD datapoint 3.COMBINED_PARAMETER {DDS=XXX,DDID=1,DDC=true})


Alle Zeilen leeren (Wichtig! Doppelte Klammer wegen Komma)

((set HmIP_WRCD datapoint 3.COMBINED_PARAMETER {DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS= ,DDID=1},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS= ,DDID=2},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS= ,DDID=3},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS= ,DDID=4},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS= ,DDID=5,DDC=true}))


Zeile 2 und 3 gleichzeitig schreiben

((set HmIP_WRCD datapoint 3.COMBINED_PARAMETER {DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS=Zeile2,DDID=2},{DDBC=WHITE,DDTC=BLACK,DDI=0,DDA=CENTER,DDS=Zeile3,DDID=3,DDC=true}))


Evtl. als Hilfe:

DDBC = BackgroundColor, (WHITE, BLACK)
DDTC = TextColor (WHITE, BLACK)
DDI =  Image (s.Liste)
DDA = TextAlign (CENTER, LEFT, RIGHT)
DDS = Textstring max 14 Zeichen ohne Bild, danach wird automatisch hinten abgeschnitten. Bei Bild in der Zeile: max.11, danach wird automatisch vorne abgeschnitten
DDID = Textzeile (1,2,3,4,5)
DDC = Commit = Ausführung

R = Repetiton Wiederholung
IN = Intervall Abstand Töne

DDI Image
0 = Nicht benutzt
1 = Lampe aus
2 = Lampe ein
3 = Schloss auf
4 = Schloss zu
5 = X
6 = Häckchen
7 = Info
8 = Briefumschlag
9 = Schraubenschlüssel
10 = Sonne
11 = Mond
12 = Wind
13 = Wolke
14 = Wolke/Blitz
15 = Wolke/leichter Regen
16 = Wolke/Mond
17 = Wolke/Regen
18 = Wolke/Schnee
19 = Wolke/Sonne
20 = Wolke/Sonne/Regen
21 = Wolke/Schneeflocke
22 = Wolke/Regentropfen
23 = Flamme
24 = Fenster auf
25 = Rollladen
26 = Eco
27 = Unscharf
28 = Hüllschutz
29 = Vollschutz
30 = Benachrichtigung
31 = Uhr

ANS Sound
-1 = Nicht benutzt
0 = Batterie leer, kurz-kurz-kurz
1 = Alarm aus,  lang-kurz
2 = Externer Alarm aktiviert, lang-kurz-kurz
3 = Interner Alarm aktiviert, lang-kurz
4 = Externer Alarm verzögert aktiviert, kurz-kurz
5 = Interner Alarm verzögert aktiviert, kurz
7 = Fehler, lang
6 = Event, mittel


Gruß Sciper