HMCCU Beispiel Geräte-Definitionen

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

Vorheriges Thema - Nächstes Thema

zentis666

Zitat von: zap am 31 Januar 2017, 07:26:00
Wenn du controldatapoint auf 2.SETPOINT setzt, müsste doch eigentlich das 2.SETPOINT aus der Regel raus, oder? Gut, ich kenne mich damit nicht aus.

Ja aber wenn ich in der Regel 2.SETPOINT rausnehme, also
TargetTemperature=control::2.SETPOINT,minValue=6,maxValue=30,minStep=0.5
ändere auf
TargetTemperature=control,minValue=6,maxValue=30,minStep=0.5
kommt in der homebridge Konsole kein Befehl mehr an.
Letztendlich hab ich so lange probiert bis es funktioniert hat ...  ::)

Die gesamte Regel sieht jetzt so aus:
clear
CurrentTemperature=1.TEMPERATURE,subtype=Temperature
TargetTemperature=control::2.SETPOINT,minValue=6,maxValue=30,minStep=0.5
CurrentRelativeHumidity=1.HUMIDITY
StatusLowBattery=:0.LOWBAT

Damit stimmt zumindest Feuchte, aktuelle Temp, gesetzte Temp und ich kann die Temperatur setzen.
Nur Battery funzt noch nicht (Reading hat die Werte BATTERY_LEVEL_NORMAL oder BATTERY_LEVEL_LOW)
und es wäre nett wenn man zwischen Auto und Manu Mode umschalten können
(momentan kann ich in der eve App standardmässig zwischen Auto, Aus, Heat und Cool umschalten)
Gruß
Sven
--
FHEM auf Debian VM - ESXi 6.0 Intel Nuc i5 4th Gen, Homematic auf HMCCU - RaspberryMatic auf Raspberry PI 3,
EM1000 & FS20 über CUNO,  IT über Arduino Firmata, MiLight über WLAN-nRF Gateway, Ebus, 1Wire, diverse Squeezeboxen, Dreambox 920UHD, Homebridge

doessbaddel

Hi Leute,
habe dank dem Beitrag hier meine HMip-BSM UP Schaltaktor zum laufen bekommen.
hier mal meine Definition und dann hätte ich auch noch eine Frage.

define HM_Licht_Treppenhaus_EG HMCCUDEV 000855699C4CAF 4
attr HM_Licht_Treppenhaus_EG IODev d_ccu
attr HM_Licht_Treppenhaus_EG alias Licht Treppenhaus EG
attr HM_Licht_Treppenhaus_EG ccureadingfilter (STATE)
attr HM_Licht_Treppenhaus_EG controldatapoint 4.STATE
attr HM_Licht_Treppenhaus_EG event-on-change-reading .*
attr HM_Licht_Treppenhaus_EG group Licht
attr HM_Licht_Treppenhaus_EG room Homekit,Homematic,Treppenhaus
attr HM_Licht_Treppenhaus_EG statechannel 4
attr HM_Licht_Treppenhaus_EG statedatapoint 4.STATE
attr HM_Licht_Treppenhaus_EG statevals on:true,off:false
attr HM_Licht_Treppenhaus_EG substitute STATE!(0|false):off,(1|true):on

folgendes steht in der deviceinfo

CHN 000855699C4CAF:0 Licht Treppenhaus EG:0
  DPT {f} HmIP-RF.000855699C4CAF:0.ACTUAL_TEMPERATURE = 0.000000 [RE]
  DPT {b} HmIP-RF.000855699C4CAF:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000855699C4CAF:0.DUTY_CYCLE = false [RE]
  DPT {n} HmIP-RF.000855699C4CAF:0.ERROR_CODE = 0 [RE]
  DPT {b} HmIP-RF.000855699C4CAF:0.ERROR_OVERHEAT = false [RE]
  DPT {f} HmIP-RF.000855699C4CAF:0.OPERATING_VOLTAGE = 0.000000 [RE]
  DPT {n} HmIP-RF.000855699C4CAF:0.RSSI_DEVICE = 189 [RE]
  DPT {n} HmIP-RF.000855699C4CAF:0.RSSI_PEER = 192 [RE]
  DPT {b} HmIP-RF.000855699C4CAF:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000855699C4CAF:0.UPDATE_PENDING = false [RE]
CHN 000855699C4CAF:1 HmIP-BSM 000855699C4CAF:1
  DPT {b} HmIP-RF.000855699C4CAF:1.PRESS_LONG =  [E]
  DPT {b} HmIP-RF.000855699C4CAF:1.PRESS_SHORT =  [E]
CHN 000855699C4CAF:2 HmIP-BSM 000855699C4CAF:2
  DPT {b} HmIP-RF.000855699C4CAF:2.PRESS_LONG =  [E]
  DPT {b} HmIP-RF.000855699C4CAF:2.PRESS_SHORT =  [E]
CHN 000855699C4CAF:3 HmIP-BSM 000855699C4CAF:3
  DPT {i} HmIP-RF.000855699C4CAF:3.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.000855699C4CAF:3.SECTION = 0 [RE]
  DPT {b} HmIP-RF.000855699C4CAF:3.STATE = false [RE]
CHN 000855699C4CAF:4 Licht Treppenhaus EG
  DPT {f} HmIP-RF.000855699C4CAF:4.ON_TIME =  [W]
  DPT {i} HmIP-RF.000855699C4CAF:4.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.000855699C4CAF:4.SECTION = 0 [RE]
  DPT {b} HmIP-RF.000855699C4CAF:4.STATE = false [RWE]
CHN 000855699C4CAF:5 HmIP-BSM 000855699C4CAF:5
  DPT {f} HmIP-RF.000855699C4CAF:5.ON_TIME =  [W]
  DPT {i} HmIP-RF.000855699C4CAF:5.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.000855699C4CAF:5.SECTION = 0 [RE]
  DPT {b} HmIP-RF.000855699C4CAF:5.STATE = false [RWE]
CHN 000855699C4CAF:6 HmIP-BSM 000855699C4CAF:6
  DPT {f} HmIP-RF.000855699C4CAF:6.ON_TIME =  [W]
  DPT {i} HmIP-RF.000855699C4CAF:6.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.000855699C4CAF:6.SECTION = 0 [RE]
  DPT {b} HmIP-RF.000855699C4CAF:6.STATE = false [RWE]
CHN 000855699C4CAF:7 HmIP-BSM 000855699C4CAF:7
  DPT {f} HmIP-RF.000855699C4CAF:7.CURRENT = 0.000000 [RE]
  DPT {f} HmIP-RF.000855699C4CAF:7.ENERGY_COUNTER = 178.500000 [RE]
  DPT {b} HmIP-RF.000855699C4CAF:7.ENERGY_COUNTER_OVERFLOW = false [RE]
  DPT {f} HmIP-RF.000855699C4CAF:7.FREQUENCY = 50.010000 [RE]
  DPT {f} HmIP-RF.000855699C4CAF:7.POWER = 0.000000 [RE]
  DPT {f} HmIP-RF.000855699C4CAF:7.VOLTAGE = 225.800000 [RE]

Jetzt zu meiner Frage.
Weiß zufällig jemand wie ich denn den langen Tastendruck auswerten kann(Kanal 1und 2)?

Grüße

Chris8888

Zitat von: zentis666 am 31 Januar 2017, 22:34:26
Ja aber wenn ich in der Regel 2.SETPOINT rausnehme, also
TargetTemperature=control::2.SETPOINT,minValue=6,maxValue=30,minStep=0.5
ändere auf
TargetTemperature=control,minValue=6,maxValue=30,minStep=0.5
kommt in der homebridge Konsole kein Befehl mehr an.
Letztendlich hab ich so lange probiert bis es funktioniert hat ...  ::)

Die gesamte Regel sieht jetzt so aus:
clear
CurrentTemperature=1.TEMPERATURE,subtype=Temperature
TargetTemperature=control::2.SETPOINT,minValue=6,maxValue=30,minStep=0.5
CurrentRelativeHumidity=1.HUMIDITY
StatusLowBattery=:0.LOWBAT

Damit stimmt zumindest Feuchte, aktuelle Temp, gesetzte Temp und ich kann die Temperatur setzen.
Nur Battery funzt noch nicht (Reading hat die Werte BATTERY_LEVEL_NORMAL oder BATTERY_LEVEL_LOW)
und es wäre nett wenn man zwischen Auto und Manu Mode umschalten können
(momentan kann ich in der eve App standardmässig zwischen Auto, Aus, Heat und Cool umschalten)
Gruß
Sven

Hallo Sven,
so klappt es mit meinen Wandthermostaten:
TargetHeatingCoolingState=1.SET_POINT_MODE::1.SET_POINT_MODE,values=OFF:1;AUTO:0;HEAT:3;COOL:2,cmds=OFF:datapoint+1.CONTROL_MODE+1;HEAT:datapoint+1.BOOST_MODE+1;COOL:datapoint+1.BOOST_MODE+0;AUTO:datapoint+1.CONTROL_MODE+0

Off ist Manuell, Heat ist der Boost, Cold ist dann Boost off und Auto ist Auto....damit komme ich gut zurecht.
Und versuche mal bei deinem targetTemperature mit der Option: nocache=true , damit wird der gesetzte Wert bei mir fast ohne Verzögerung aktuallisiert.

VG
Christian

FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

eddie8

Kann man eigentlich auch den Leistungsmesser + Schaltaktor HM-ES-PMSw1-Pl-DN-R1 nutzen, um Stom + Leistung auszulesen?

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

eddie8

Super, könntest du vielleicht eine Beispielkonfiguration posten?

zap

ist in HMCCUConf.pm enthalten. Du kannst also einfach ein HMCCUDEV Device definieren und dann für das Device den Befehl "set defaults" aufrufen. Die entsprechenden Readings für Strom und Leistung werden dann ausgelesen.
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

Chiemgauer

Servus, hat irgendwer eine Beispiel konfi für folgende Geräte:
HM-MOD-Re-8 relaiskarte 8fach
HM-SwI-3-FM Tasterschnittstelle

Danke schon mal an alle

mrfloppy

Würde mich auch über eine Konfig für einen

HM-LC-Sw1-Ba-PCB freuen

defaults meint:
HMCCUCHN: HM_GH_EG_SA2 HMCCU: No default attributes found

LG
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

chris1284

#144
ich kann dir meine geben:
template

device:HM-LC-Sw1-Ba-PCB
_description=1 Kanal Funk Schaltaktor für Batteriebetrieb
statedatapoint=1.STATE
statevals=on:true,off:false
substitute=STATE!1:on,0:off,false:off,true:on
verbose=1


ccudef-readingname kümmrt sich um die readingsbennung und da habe ich noch beide readings (0.LOWBAT und battery zb)
und ein list:
Zitat
Internals:
   DEF        az_sw_sw02
   IODev      CCU01
   NAME       az_sw_sw02
   NR         86
   STATE      off
   TYPE       HMCCUDEV
   ccuaddr    MEQ0591915
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    az_sw_sw02
   ccutype    HM-LC-Sw1-Ba-PCB
   channels   2
   firmware   1.7
   statevals  devstate|on|off
   Readings:
     2017-04-18 18:30:00   0.CONFIG_PENDING false
     2017-04-18 18:30:00   0.DEVICE_IN_BOOTLOADER false
     2017-04-18 18:30:00   0.DUTYCYCLE     false
     2017-04-18 18:30:00   0.LOWBAT        ok
     2017-04-18 18:30:00   0.RSSI_DEVICE   1
     2017-04-18 18:30:00   0.RSSI_PEER     191
     2017-04-18 18:30:00   0.STICKY_UNREACH false
     2017-04-18 18:30:00   0.UPDATE_PENDING false
     2017-04-18 18:30:00   1.INHIBIT       unlocked
     2017-04-20 21:28:17   1.STATE         off
     2017-04-20 21:28:17   1.WORKING       false
     2017-04-18 18:30:00   Activity        alive
     2017-04-18 18:30:00   battery         ok
     2017-04-20 21:28:17   hmstate         off
     2017-04-18 18:30:00   sign            off
     2017-04-20 21:28:17   state           off
   Hmccu:
     Dp:
       0.aes_key:
         VAL        0
       0.config_pending:
         VAL        false
       0.device_in_bootloader:
         VAL        false
       0.dutycycle:
         VAL        false
       0.lowbat:
         VAL        false
       0.rssi_device:
         VAL        1
       0.rssi_peer:
         VAL        191
       0.sticky_unreach:
         VAL        false
       0.unreach:
         VAL        false
       0.update_pending:
         VAL        false
       1.inhibit:
         VAL        false
       1.state:
         VAL        0
       1.working:
         VAL        0
Attributes:
   DbLogExclude .*
   IODev      CCU01
   ccureadingformat datapoint
   group      Schalter
   room       HM
   statedatapoint 1.STATE
   statevals  on:true,off:false
   substitute STATE!1:on,0:off,false:off,true:on
   verbose    1
ich habe ihn nur als hmccudev eingebunden, channels macht ja nur beim 4fach bausatz sinn

Chiemgauer

Evtl auch für eine Wetterstation HM-WDS100-C6-O-2?

Chiemgauer

Und auch für den HM-PB-6-WM55

Wäre echt klasse!

chris1284

 HM-PB-6-WM55
template für device (wobei man das nicht wirklich braucht und einfach channel 0 für devicestati wie battery einbinden kann)
device:HM-PB-6-WM55
_description=Funk-Wandtaster 6-fach
stateFormat=B: battery S: Activity
substitute=STATE!1:on,0:off,false:off,true:on
verbose=1


um die tastenbedienungen am gerät in fhem abzubilden (zb um per notify aktionen auszulösen) braucht es ein programm in der ccu (siehe anhang, bei mir nur für short gemacht da ich nicht lange drücke)

die channels selber  braucht man nicht, außer man möchte aus fhem evtl den tasterbutton x selbst schalten (sehe ich keinen grund für) , die events kommen mit angelegtem device und dme program bereits in fhem an

Zitat2017-04-23 09:06:53 HMCCUDEV whg_pb6 6.PRESS_SHORT: 1
2017-04-23 09:06:53 HMCCUDEV whg_pb6 6.INSTALL_TEST: 1
2017-04-23 09:06:53 HMCCUDEV whg_pb6 hmstate: Initialized



zap

Zitat von: Chiemgauer am 22 April 2017, 10:41:04
Servus, hat irgendwer eine Beispiel konfi für folgende Geräte:
HM-MOD-Re-8 relaiskarte 8fach
HM-SwI-3-FM Tasterschnittstelle

Danke schon mal an alle

Alle Mehrfachschalter haben gemein, dass sie in jedem Kanal identische Datenpunkte haben. Man muss also zunächst entscheiden, ob man die Kanäle einzeln ansprechen möchte (=> HMCCUCHN) oder gemeinsam (=> HMCCUDEV). Bei Events (also Aktualisierungen durch die CCU) ist das mehr oder weniger egal. Bei HMCCUDEV werden dann eben 3 oder 8 Kanäle in einem FHEM Device aktualisiert.

Beim Setzen von Werten gibt es bei der Verwendung von HMCCUDEV einige Nachteile. Z.B. kann man keinen statedatapoint festlegen, das es PRESS oder STATE eben 3 bzw. 8 Mal gibt. Das macht das Setzen von Zuständen etwas umständlicher, da man immer z.B. "set datapoint 1.STATE on" verwenden muss und nicht einfach "set on" oder "set off".

Grundsätzlich sollte man einfach immer erst mal "get deviceinfo" ausführen. Dann sieht man die verfügbaren Datenpunkte und auch, ob sie beschrieben oder nur gelesen werden können. Die lesbaren Datenpunkte, die man gerne als Reading hätte, packt man in das Attribut ccureadingfilter. Dann gibt man in statevals und substitute noch Übersetzungen der Werte an, sofern man das haben möchte.

Für die beiden o.g. Geräte könnten die Attribute bei HMCCUCHN so aussehen:


# HM-SwI-3-FM
ccureadingfilter = "PRESS",
statedatapoint = "PRESS",
statevals = "press:true",
substitute = "PRESS!(1|true):pressed,(0|false):released"

# HM-MOD-Re-8
ccureadingfilter ="(STATE|WORKING)",
statedatapoint = "STATE",
statevals = "on:true,off:false",
substitute = "STATE!(1|true):on,(0|false):off;WORKING!(1|true):yes,(0|false):no"


Bei HMCCUDEV ähnlich. Jedoch entfällt dort statedatapoint. Beide Definitionen habe ich als Defaults in HMCCUConf.pm aufgenommen und werden dann mit dem nächste Release verteilt.

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: Chiemgauer am 23 April 2017, 06:26:46
Evtl auch für eine Wetterstation HM-WDS100-C6-O-2?

Für HMCCUCHN:


ccureadingfilter = "(HUMIDITY|TEMPERATURE|WIND|RAIN|SUNSHINE|BRIGHTNESS)",
statedatapoint = "TEMPERATURE",
stripnumber = 1,
substitute = "RAINING!(1|true):yes,(0|false):no"


Auch hier nochmal der Tipp: mit get deviceinfo die verfügbaren Datenpunkte anzeigen lassen und dann entsprechende Attribute definieren. Oder hier nachlesen:

http://www.eq-3.de/Downloads/eq3/download%20bereich/hm_web_ui_doku/hm_devices_Endkunden.pdf
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