HMCCU Beispiel Geräte-Definitionen

Begonnen von zap, 25 März 2016, 16:08:13

Vorheriges Thema - Nächstes Thema

zap

#330
Auf die Schnelle fällt mir nur auf, dass du für statedatapoint einen anderen Datenpunkt verwendest wie für controldatapoint. Dafür gibt es eigentlich keinen Grund. Wenn also 4.LEVEL automatisch aktualisiert wird, setze statedatapoint auf diesen Datenpunkt.

Update: statedatapoint muss(!) 4.LEVEL sein, da 3.LEVEL read only ist (Flags RE = Read/Event). Ersetze also in allen Attributen 3.LEVEL durch 4.LEVEL.

Oder du wartest bis morgen, das kommende Update verwendet in diesem Fall den controldatapoint. Dann funktioniert deine Config.

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

tatu123

#331
Hallo zap,

vielen Dank mit der neuen Version funktioniert jetzt die Steuerung über pct. Vielen Dank für die schnelle Lösung.

Im statedatapoint habe ich mit Absicht 3.LEVEL benutzt. Nur in dem Reading steht der aktuelle Wert der Position des Rollos drin und
das egal von welche Quelle die Steuerung erfolgte. In 4.LEVEL steht nur eine Position drin welche durch die Steuerung über 4.LEVEL erfolgte.
bei 5. und 6.LEVEL ist es auch so.

Bis jetzt macht die Einstellung was sie soll.

Muss ich das aus irgend einem Grund zwingend ändern? Ich würde es lieber so lassen.

Viel Grüße

zap

Nein, kannst du so lassen. Solltst du jedoch mal controldatapoint löschen, wird statedatapoint alleine nicht mehr funktionieren, zumindest nicht mit set Befehlen, da 3.LEVEL read only ist.
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

Simon74

Der Homematic Wandtaster HM-PB-6-WM55 (6Tasten),
und die Fernbedienung  HM-RC-8 (8Tasten),
funktioniert wie gelesen mit dieser Konfiguration, die Events kommen an (bei mir auch ohne anlegen eines CCU3 Dummy Programmes)
ccureadingfilter PRESS
substitute PRESS_SHORT,PRESS_LONG,PRESS_CONT!(1|true):pressed,(0|false):released;PRESS_LONG_RELEASE!(0|false):no,(1|true):yes
event-on-update-reading .*


Ich benötige nun noch für einen "HM-ES-PMSw1-Pl" Zwischenstecker das Reading "TIMED_ON".
Irgendwo bin ich im WIKI darüber gestolpert finde nun aber zum ver.... den Link trotz Suche nicht mehr, grrrr  ::)

zap

Mach ein get deviceinfo. Dann siehst du alle Datenpunkte und kannst den Readingfilter entsprechend setzen. Außerdem gibt es eine Doku von EQ3, in der alle Geräte mit ihren. datenpunkten beschrieben sind.
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

Simon74

#335
get deviceinfo von "HM-ES-PMSw1-Pl":
CHN LEQ0471700:0 HM-sd-ku-led:0
  DPT {b} BidCos-RF.LEQ0471700:0.UNREACH = false [RE]
  DPT {b} BidCos-RF.LEQ0471700:0.STICKY_UNREACH = false [RWE]
  DPT {b} BidCos-RF.LEQ0471700:0.CONFIG_PENDING = false [RE]
  DPT {b} BidCos-RF.LEQ0471700:0.DUTYCYCLE = false [RE]
  DPT {n} BidCos-RF.LEQ0471700:0.RSSI_DEVICE = 1 [RE]
  DPT {n} BidCos-RF.LEQ0471700:0.RSSI_PEER = 178 [RE]
  DPT {b} BidCos-RF.LEQ0471700:0.DEVICE_IN_BOOTLOADER = false [RE]
  DPT {b} BidCos-RF.LEQ0471700:0.UPDATE_PENDING = false [RE]
  DPT {n} BidCos-RF.LEQ0471700:0.AES_KEY = 1 [R]
CHN LEQ0471700:1 HM-ES-PMSw1-Pl LEQ0471700:1
  DPT {b} BidCos-RF.LEQ0471700:1.STATE = false [RWE]
  DPT {f} BidCos-RF.LEQ0471700:1.ON_TIME =  [W]
  DPT {b} BidCos-RF.LEQ0471700:1.INHIBIT = false [RWE]
  DPT {b} BidCos-RF.LEQ0471700:1.INSTALL_TEST =  [W]
  DPT {b} BidCos-RF.LEQ0471700:1.WORKING = false [RE]
CHN LEQ0471700:2 HM-ES-PMSw1-Pl LEQ0471700:2
  DPT {f} BidCos-RF.LEQ0471700:2.ENERGY_COUNTER = 74.200000 [RE]
  DPT {f} BidCos-RF.LEQ0471700:2.POWER = 0.000000 [RE]
  DPT {f} BidCos-RF.LEQ0471700:2.CURRENT = 0.000000 [RE]
  DPT {f} BidCos-RF.LEQ0471700:2.VOLTAGE = 229.600000 [RE]
  DPT {f} BidCos-RF.LEQ0471700:2.FREQUENCY = 50.030000 [RE]
  DPT {b} BidCos-RF.LEQ0471700:2.BOOT = true [RE]
CHN LEQ0471700:3 HM-ES-PMSw1-Pl LEQ0471700:3
  DPT {i} BidCos-RF.LEQ0471700:3.DECISION_VALUE = 0 [RE]
CHN LEQ0471700:4 HM-ES-PMSw1-Pl LEQ0471700:4
  DPT {i} BidCos-RF.LEQ0471700:4.DECISION_VALUE = 0 [RE]
CHN LEQ0471700:5 HM-ES-PMSw1-Pl LEQ0471700:5
  DPT {i} BidCos-RF.LEQ0471700:5.DECISION_VALUE = 0 [RE]
CHN LEQ0471700:6 HM-ES-PMSw1-Pl LEQ0471700:6
  DPT {i} BidCos-RF.LEQ0471700:6.DECISION_VALUE = 0 [RE]


(ich habe ccureadingfilter um |ON_TIME) erweitert.
defmod HM_sd_ku_led HMCCUDEV LEQ0471700
attr HM_sd_ku_led userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
attr HM_sd_ku_led IODev ccu31
attr HM_sd_ku_led alias Küche LED
attr HM_sd_ku_led ccureadingfilter (STATE|CURRENT|ENERGY_COUNTER|POWER|ON_TIME)
attr HM_sd_ku_led controldatapoint 1.STATE
attr HM_sd_ku_led devStateIcon on:light_led_stripe9@#aa6900 off:light_led_stripe9
attr HM_sd_ku_led event-on-update-reading .*
attr HM_sd_ku_led fp_tabl1 169,298,0,LED Küche
attr HM_sd_ku_led group LED,Licht
attr HM_sd_ku_led room Homematic,Küche
attr HM_sd_ku_led statedatapoint 1.STATE
attr HM_sd_ku_led statevals on:1,off:0
attr HM_sd_ku_led stripnumber 1
attr HM_sd_ku_led substitute STATE!(1|true):on,(0|false):off
attr HM_sd_ku_led verbose 3
attr HM_sd_ku_led webCmd control
attr HM_sd_ku_led widgetOverride control:uzsuToggle,off,on

setstate HM_sd_ku_led on
setstate HM_sd_ku_led 2018-09-19 00:46:52 1.STATE on
setstate HM_sd_ku_led 2018-09-19 00:49:40 2.CURRENT 18.0
setstate HM_sd_ku_led 2018-09-19 00:49:40 2.ENERGY_COUNTER 74.1
setstate HM_sd_ku_led 2018-09-19 00:49:40 2.POWER 1.6
setstate HM_sd_ku_led 2018-09-19 00:40:55 R-CONF_BUTTON_TIME 1
setstate HM_sd_ku_led 2018-09-19 00:40:55 R-INTERNAL_KEYS_VISIBLE 1
setstate HM_sd_ku_led 2018-09-19 00:40:55 R-LOCAL_RESET_DISABLE 0
setstate HM_sd_ku_led 2018-09-19 00:23:35 activity alive
setstate HM_sd_ku_led 2018-09-19 00:46:52 control on
setstate HM_sd_ku_led 2018-09-19 00:49:40 hmstate on
setstate HM_sd_ku_led 2018-09-19 00:46:52 state on


Bekomme jedoch kein Reading mit dem ich auswerten könnte ob das Device "mit Timer" > on ist..
Danke für Hilfe

Jamo

#336
Hier ein Beispiel für eine Geräte-Definition des Bewegungsmelders für innen im 55-er Rahmen, HMIP-SMI55 (Raw). Hatte ich noch nicht gefunden. Vielleicht kann es einer gebrauchen.

defmod HMIP_SMI550 HMCCUDEV xxxxxxxxxxxxxx 1 readonly
attr HMIP_SMI550 IODev CCU3
attr HMIP_SMI550 alias Kueche_Motion
attr HMIP_SMI550 ccureadingfilter (^MOTION|^ILLUMINATION|^LOW_BAT|^PRESS)
attr HMIP_SMI550 ccureadingformat datapoint
attr HMIP_SMI550 ccureadingname 0.(LOWBAT|LOW_BAT):battery;;1.PRESS_LONG:long1;;1.PRESS_SHORT:short1;;2.PRESS_LONG:long2;;2.PRESS_SHORT:short2;;3.ILLUMINATION:brightness;;3.MOTION:motion
attr HMIP_SMI550 event-on-update-reading .*
attr HMIP_SMI550 genericDeviceType OccupancySensor
attr HMIP_SMI550 icon people_sensor
attr HMIP_SMI550 room HomeMaticIP
attr HMIP_SMI550 stateFormat Helligkeit: brightness lx
attr HMIP_SMI550 statechannel 1
attr HMIP_SMI550 substitute 0.LOW_BAT!(0|false):ok,(1|true):low
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

zap

@Simon74: wichtig sind die Buchstaben in eckigen Klammern hinter jedem Datenpunkt [RWE]. Die stehen für Read, Write, Event. Event: Die CCU aktualisiert diese Datenpunkte automatisch, Read: Diese Datenpunkte können mit get update oder get datapoint gelesen werden. Write: können mit set datapoint beschrieben werden.

ON_TIME ist Write Only, liefert also keinen Wert zurück. Den aktuellen Schaltzustand bekommst Du über STATE.
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

Simon74

Im state steht jedoch nur "on" und "off", und kein "on_time" oder sonstiges, damit ich on-for-time erkennen könnte.
Dasselbe Problem habe ich beim Dimmer [HM-LC-Dim1TPBU-FM], 1. LEVEL und state zeigt hier auch nur "on" und "off", und nicht den Dimmlevel.
Jeweils "get defaults" auf den Devices ausgeführt.


zap

Wenn die CCU einen Datenpunkt nur schreibend bereitstellt, kann ich auch nichts machen. Ich übernehme das in HMCCU nur so, wie es geliefert wird. Du kannst ja mal einen Change-Request an EQ-3 stellen, dass sie das ändern.

Zu LEVEL: Zumindest bei meiner dimbaren Steckdose HM-LC-Dim1T-Pl-3 ist LEVEL lesbar und beschreibbar. Das sollte also gehen.
Das on und off könnte hier durch das Attribut substitute verursacht werden. Wenn Du da LEVEL drin hast und zB 0=off und 100=on gesetzt wird, bekommst Du selbstverständlich keine Levels angezeigt. Das ist ja der Sinn von substitute.

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

zap

Zitat von: inoma am 19 September 2018, 00:55:39
Hier ein Beispiel für eine Geräte-Definition des Bewegungsmelders für innen im 55-er Rahmen, HMIP-SMI55 (Raw). Hatte ich noch nicht gefunden. Vielleicht kann es einer gebrauchen.

Danke für den Hinweis. Folgende Attribute habe ich übernommen:


ccureadingfilter => "(ILLUMINATION|MOTION|PRESS)"
event-on-update-reading => ".*"
eventMap         => "/datapoint 3.MOTION_DETECTION_ACTIVE 1:detection-on/datapoint 3.MOTION_DETECTION_ACTIVE 0:detection-off/datapoint 3.RESET_MOTION 1:reset/"
statedatapoint   => "3.MOTION",
substitute       => "PRESS_LONG,PRESS_SHORT!(1|true):pressed,(0|false):released;MOTION,MOTION_DETECTION_ACTIVE!(0|false):no,(1|true):yes;ILLUMINATION_STATUS!0:normal,1:unknown,2:overflow"
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

Simon74

#341
Das benötigte ON_TIME konnte ich stattdessen mit WORKING ersetzen, bei on-for-timer ist dieser Wert true.

Andere Frage zum Wand Schalter HM-LC-Sw1PBU-FM.
attr HM_ws_ku_herdlicht IODev ccu31
attr HM_ws_ku_herdlicht alias Herd KU
attr HM_ws_ku_herdlicht ccureadingfilter STATE
attr HM_ws_ku_herdlicht controldatapoint 1.STATE
attr HM_ws_ku_herdlicht group Licht
attr HM_ws_ku_herdlicht room Homematic,Küche
attr HM_ws_ku_herdlicht statedatapoint 1.STATE
attr HM_ws_ku_herdlicht statevals on:true,off:false
attr HM_ws_ku_herdlicht substitute STATE!(true|1):on,(false|0):off
attr HM_ws_ku_herdlicht webCmd control
attr HM_ws_ku_herdlicht widgetOverride control:uzsuToggle,off,on

setstate HM_ws_ku_herdlicht off
setstate HM_ws_ku_herdlicht 2018-09-22 02:14:38 1.STATE off
setstate HM_ws_ku_herdlicht 2018-09-22 02:14:38 activity alive
setstate HM_ws_ku_herdlicht 2018-09-22 02:14:38 battery ok
setstate HM_ws_ku_herdlicht 2018-09-22 02:14:38 control off
setstate HM_ws_ku_herdlicht 2018-09-22 02:14:38 hmstate off
setstate HM_ws_ku_herdlicht 2018-09-22 02:14:38 state off


Hier ist in den Readings "battery" zu sehen, obwohl keine vorhanden ist, wie kann ich das unterbinden ?
Danke

edit:
Per Readingsgroup kann ich die Wandschalter wegfiltern:
.*:FILTER=ccutype!=HM-LC-Sw1PBU-FM:[Bb]attery

Simon74

#342
Meine ev. doofen Fragen gehen weiter..

1. Mit den Defaults eines Dimmers (HM-LC-Dim1TPBU-FM) bekomme ich unter im Reading "1.LEVEL" nur on, off ? Sinn und Zweck dieses Wertes sollte doch der aktuelle Dimmlevel sein ?
2. Das Reading "WORKING" wird mM. für jeden Dimmer und Schalter benötigt, so kann zB. festegestellt werden ob das Device per on-for-timer läuft..
3. Für was wird den DIRECTION benötigt ?

edit:
Zummindest Punkt 3 konnte ich heraus finden, beim hoch und runterdimmen..

zap

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

zap

Zitat von: Simon74 am 22 September 2018, 15:38:01
Meine ev. doofen Fragen gehen weiter..

1. Mit den Defaults eines Dimmers (HM-LC-Dim1TPBU-FM) bekomme ich unter im Reading "1.LEVEL" nur on, off ? Sinn und Zweck dieses Wertes sollte doch der aktuelle Dimmlevel sein ?

Vermutlich ist substitute und/oder ccuscaleval falsch gesetzt. Zeig mal die beiden Attribute.

Zitat
2. Das Reading "WORKING" wird mM. für jeden Dimmer und Schalter benötigt, so kann zB. festegestellt werden ob das Device per on-for-timer läuft..

Ok, nehme ich in die Defaults auf.
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