HMCCU mit Modul HMW-LC-Bl1-DR

Begonnen von a_quadrat, 15 Januar 2020, 08:37:14

Vorheriges Thema - Nächstes Thema

a_quadrat

Hallo,

ich bin momentan dabei, meine Homematic Geräte über HMCCU in fhem zu integrieren. Dabei bin ich auf das Problem gestoßen, dass ich den Stop Befehl nicht integrieren kann. Meine Geräteeinstellung sieht folgendermaßen aus:



  "Arg":"HMW__ACT_JR_GAL_OB________01",
  "Results": [
  {
    "Name":"HMW__ACT_JR_GAL_OB________01",
    "PossibleSets":"stop:noArg down:noArg up:noArg clear config control datapoint defaults:noArg devstate:up,down up:noArg down:noArg toggle:noArg pct up down",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev ccucalculate ccuflags:multiple-strict,ackState,nochn0,trace ccureadingfilter ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname:textField-long ccuSetOnChange ccureadings:0,1 ccuscaleval ccuverify:0,1,2 ccuget:State,Value controldatapoint disable:0,1 hmstatevals:textField-long statedatapoint statevals substitute:textField-long substexcl stripnumber peer:textField-long event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude alarmDevice:Actor,Sensor alarmSettings assistantName:textField cmdIcon devStateIcon devStateIcon:textField-long devStateStyle gassistantName genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,aircondition,airpurifier,camera,coffeemaker,dishwasher,dryer,fan,kettle,oven,refrigerator,scene,sprinkler,vacuum,washer,airfreshener,fireplace,heater,blinds,awning,boiler,curtain,door,gate,hood,microwave,pregola,securitysystem,shutter,shower,valve,waterheater,ac_unit,bathtub,bed,blender,closet,coffee_maker,cooktop,dehumidifier,dehydrator,drawer,faucet,fryer,grill,humidifier,mop,mower,multicooker,pergola,petfeeder,pressurecooker,radiator,sousvide,standmixer,yogurtmaker ghomeName:textField homebridgeMapping:textField-long icon realRoom:textField sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "CFGFN": "",
      "DEF": "HMW__ACT_JR_GAL_OB________01",
      "FUUID": "5e1c7655-f33f-a497-a8be-7d4535aacc9c303d",
      "NAME": "HMW__ACT_JR_GAL_OB________01",
      "NR": "2082",
      "STATE": "Initialized",
      "TYPE": "HMCCUCHN",
      "ccuaddr": "OEQ0935336:3",
      "ccudevstate": "active",
      "ccuif": "BidCos-Wired",
      "ccuname": "HMW__ACT_JR_GAL_OB________01",
      "ccutype": "HMW-LC-Bl1-DR",
      "channels": "1",
      "chntype": "BLIND",
      "firmware": "3.06",
      "statevals": "devstate|up|down"
    },
    "Readings": {
      "0.CONFIG_PENDING": { "Value":"false", "Time":"2020-01-13 21:28:33" },
      "0.STICKY_UNREACH": { "Value":"false", "Time":"2020-01-13 21:28:33" },
      "0.UNREACH": { "Value":"false", "Time":"2020-01-13 21:28:33" },
      "3.DIRECTION": { "Value":"0", "Time":"2020-01-15 07:46:03" },
      "3.INHIBIT": { "Value":"false", "Time":"2020-01-13 21:28:33" },
      "3.LEVEL": { "Value":"1.0", "Time":"2020-01-15 07:46:03" },
      "3.WORKING": { "Value":"0", "Time":"2020-01-15 07:46:03" },
      "control": { "Value":"1.0", "Time":"2020-01-15 07:46:03" },
      "hmstate": { "Value":"Initialized", "Time":"2020-01-15 07:46:03" },
      "state": { "Value":"Initialized", "Time":"2020-01-13 14:53:25" }
    },
    "Attributes": {
      "DbLogExclude": ".*",
      "IODev": "d_ccu",
      "controldatapoint": "3.LEVEL",
      "eventMap": "/datapoint 3.STOP 3:stop/datapoint 3.LEVEL 3:down/datapoint 3.LEVEL 0:up/",
      "room": "CCU",
      "statevals": "up:0.0,down:1.0",
      "stripnumber": "1",
      "webCmd": "control:up:stop:down",
      "widgetOverride": "control:slider,0,0.05,1,1"
    }
  }  ],
  "totalResultsReturned":1
}


Hat jemand eine Idee woran es liegen kann?

VG Andreas

zap

Frage: Möchtest Du lieber mit Werten für LEVEL von 0-100 verwenden oder von 0-1 ?

eventMap ist definitiv falsch. Bitte mach mal ein "get deviceinfo"
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

a_quadrat

Werte von 0-100 wäre schon schön. Kann ich das über "ccuscaleval" machen?

Anbei die Ausgabe der Datenpunkte:


CHN OEQ0935336:0 Rollladen Gal_oben:0
  DPT {b} BidCos-Wired.OEQ0935336:0.UNREACH = false [RE]
  DPT {b} BidCos-Wired.OEQ0935336:0.STICKY_UNREACH = false [RWE]
  DPT {b} BidCos-Wired.OEQ0935336:0.CONFIG_PENDING = false [RE]
CHN OEQ0935336:1 HMW-LC-Bl1-DR OEQ0935336:1
  DPT {b} BidCos-Wired.OEQ0935336:1.PRESS_SHORT = false [WE]
  DPT {b} BidCos-Wired.OEQ0935336:1.PRESS_LONG =  [WE]
  DPT {b} BidCos-Wired.OEQ0935336:1.INSTALL_TEST =  [E]
CHN OEQ0935336:2 HMW-LC-Bl1-DR OEQ0935336:2
  DPT {b} BidCos-Wired.OEQ0935336:2.PRESS_SHORT = false [WE]
  DPT {b} BidCos-Wired.OEQ0935336:2.PRESS_LONG =  [WE]
  DPT {b} BidCos-Wired.OEQ0935336:2.INSTALL_TEST =  [E]
CHN OEQ0935336:3 HMW__ACT_JR_GAL_OB________01
  DPT {f} BidCos-Wired.OEQ0935336:3.LEVEL = 0.750000 [RWE]
  DPT {b} BidCos-Wired.OEQ0935336:3.STOP =  [W]
  DPT {b} BidCos-Wired.OEQ0935336:3.INHIBIT = false [RWE]
  DPT {i} BidCos-Wired.OEQ0935336:3.DIRECTION = 0 [RE]
  DPT {b} BidCos-Wired.OEQ0935336:3.INSTALL_TEST =  [W]
  DPT {b} BidCos-Wired.OEQ0935336:3.WORKING = false [RE]


Was muss ich bei enentMap eintragen, damit es funktioniert?

a_quadrat

Hallo,

richtig, eventMap war falsch, jetzt funktioniert es, auch der Stoppbefehl.


{
  "Arg":"HMW__ACT_JR_GAL_OB________01",
  "Results": [
  {
    "Name":"HMW__ACT_JR_GAL_OB________01",
    "PossibleSets":"stop:noArg down:noArg up:noArg clear config control datapoint defaults:noArg devstate:up,down up:noArg down:noArg toggle:noArg pct up down",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev ccucalculate ccuflags:multiple-strict,ackState,nochn0,trace ccureadingfilter ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname:textField-long ccuSetOnChange ccureadings:0,1 ccuscaleval ccuverify:0,1,2 ccuget:State,Value controldatapoint disable:0,1 hmstatevals:textField-long statedatapoint statevals substitute:textField-long substexcl stripnumber peer:textField-long event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude alarmDevice:Actor,Sensor alarmSettings cmdIcon devStateIcon devStateIcon:textField-long devStateStyle gassistantName genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,aircondition,airpurifier,camera,coffeemaker,dishwasher,dryer,fan,kettle,oven,refrigerator,scene,sprinkler,vacuum,washer,airfreshener,fireplace,heater,blinds,awning,boiler,curtain,door,gate,hood,microwave,pregola,securitysystem,shutter,shower,valve,waterheater,ac_unit,bathtub,bed,blender,closet,coffee_maker,cooktop,dehumidifier,dehydrator,drawer,faucet,fryer,grill,humidifier,mop,mower,multicooker,pergola,petfeeder,pressurecooker,radiator,sousvide,standmixer,yogurtmaker homebridgeMapping:textField-long icon realRoom:textField sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "CFGFN": "",
      "DEF": "HMW__ACT_JR_GAL_OB________01",
      "FUUID": "5e1c7655-f33f-a497-a8be-7d4535aacc9c303d",
      "NAME": "HMW__ACT_JR_GAL_OB________01",
      "NR": "2082",
      "STATE": "open",
      "TYPE": "HMCCUCHN",
      "ccuaddr": "OEQ0935336:3",
      "ccudevstate": "active",
      "ccuif": "BidCos-Wired",
      "ccuname": "HMW__ACT_JR_GAL_OB________01",
      "ccutype": "HMW-LC-Bl1-DR",
      "channels": "1",
      "chntype": "BLIND",
      "firmware": "3.06",
      "statevals": "devstate|up|down"
    },
    "Readings": {
      "0.CONFIG_PENDING": { "Value":"false", "Time":"2020-01-16 10:02:46" },
      "0.STICKY_UNREACH": { "Value":"false", "Time":"2020-01-16 10:02:46" },
      "0.UNREACH": { "Value":"false", "Time":"2020-01-16 10:02:46" },
      "3.DIRECTION": { "Value":"0", "Time":"2020-01-16 16:35:30" },
      "3.INHIBIT": { "Value":"false", "Time":"2020-01-16 10:02:46" },
      "3.LEVEL": { "Value":"open", "Time":"2020-01-16 16:35:30" },
      "3.WORKING": { "Value":"0", "Time":"2020-01-16 16:35:30" },
      "control": { "Value":"100", "Time":"2020-01-16 16:35:30" },
      "hmstate": { "Value":"open", "Time":"2020-01-16 16:35:30" },
      "state": { "Value":"open", "Time":"2020-01-16 16:35:30" }
    },
    "Attributes": {
      "DbLogExclude": ".*",
      "IODev": "d_ccu",
      "ccuscaleval": "LEVEL:0:1:0:100",
      "controldatapoint": "LEVEL",
      "eventMap": "/datapoint STOP 1:stop/datapoint LEVEL 0:down/datapoint LEVEL 100:up/",
      "room": "CCU",
      "statedatapoint": "LEVEL",
      "statevals": "up:0.0,down:1.0",
      "stripnumber": "1",
      "substexcl": "control|pct",
      "substitute": "LEVEL#0-0:closed,#100-100:open",
      "webCmd": "up:down:stop"
    }
  }  ],
  "totalResultsReturned":1


Gibt es eine Möglichkeit "pct" durch "level" zu ersetzen? Das war der ursprüngliche Befehl von diesem Modul in fhem und würde mir eine Menge Änderungen in den Programmen ersparen.

VG Andreas

zap

klar, das geht:

eventMap /datapoint STOP 1:stop/datapoint LEVEL 0:down/datapoint LEVEL 100:up/datapoint LEVEL:level/
widgetOverride level:textField


Statt textField gehen natürlich auch andere Widgets
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

a_quadrat


a_quadrat

Hallo,

wie ich schon geschrieben hatte, rüste ich gerade auf HMCCU um. Dabei ist mir aufgefallen, dass die Latenzzeit zwischen Ereignis und Registrierung in fhem relativ groß ist - bei mir ca. 2-3 Sekunden. Ist das normal?
Ich habe festgestellt, dass es identisch ist mit der Darstellung in der webui, aber wird ein Programm auf der CCU ausgeführt, reagiert es sofort.
Für einige Sensoren ist es nicht weiter tragisch, aber für z.B. Bewegungsmelder, ist es nicht komfortabel. Gibt es dafür eine Lösung, oder liegt es an meinem System?

VG Andreas

zap

Wie sieht das Attribut ccuflags im IO Device aus?
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

a_quadrat

Das ist noch leer, soll ich dort eine Funktion eintragen?

zap

Ja, ccuflags muss auf procrpc gesetzt werden. Sonst wird der alte, interne RPC Server verwendet. Der ist lahm. Steht aber alles im Wiki
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

a_quadrat

Danke für die Info, hatte ich überlesen, aber jetzt läuft es gut.