HMCCU, HmIP-BROLL, statedatapoint und controldatapoint korrekt?

Begonnen von Dirk070, 02 Mai 2019, 12:33:23

Vorheriges Thema - Nächstes Thema

Dirk070

Hallo zusammen,

ich habe den Rolladenschalter HmIP-BROLL in Betrieb genommen. Sowohl der statedatapoint wie auch der controldatapoint sind in den Defaults als 4.LEVEL definiert.
In der CCU3 sehe ich den Kanal 3 für Statusmitteilungen und den Kanal 4 als Empfänger.

Mein Problem: Rollade per FHEM schließen, danach wird manuell auf z.B. 25% geöffnet.
Im 3.LEVEL steht 25%, im 4.LEVEL steht closed. Anzeige in FHEM: closed (was aber falsch ist)

Müsste der statedatapoint  daher nicht auf den 3.LEVEL zeigen?

UPDATE:
Ein Problem bleibt, wenn manuell per Tastendruck gefahren wird. Da nur der 3.LEVEL den Status über alle Quellen (Taster, FHEM,...) hat, bleibt die Anzeige im FHEM falsch.
Der Slider zielt ja auf den control und dieser ist mit 4.LEVEL verbunden (muss er auch, da 3.LEVEL read-only ist).
Eigentlich müsste der Inhalt von 3.LEVEL in den 4.LEVEL kopiert werden, nur dann steht der Slider auch korrekt, wenn per Taster die Rollade gefahren wird.
Wie lässt sich das denn am sinnvollsten realisieren?

Danke und schöne Grüße
Dirk

zap

Versuche mal folgendes:

Lass den controldatapoint auf 4.LEVEL stehen.

Setze ccureadingname auf

3.LEVEL:+control

Wenn es so nicht funktioniert, mach mal ein list von dem Device sowie 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

Dirk070

#2
Hallo zap,

hat leider nicht funktioniert. Wenn ich manuell von open (100) nach unten fahren lasse, steht im 3.LEVEL 90.5 und im control 0.
List und weitere Infos folgen gleich.

Update:

List:
Internals:
   DEF        CCU_EG_WZ_Bl1PBU_GAL defaults
   FUUID      5c4c98b7-f33f-ae8f-4f06-74808fda4c85424f
   IODev      ccu3
   NAME       CCU_EG_WZ_Bl1PBU_GAL
   NR         135
   STATE      closed
   TYPE       HMCCUDEV
   ccuaddr    001118A9A76568
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    CCU_EG_WZ_Bl1PBU_GAL
   ccutype    HmIP-BROLL
   channels   8
   firmware   1.6.2
   statevals  devstate
   READINGS:
     2019-05-04 18:44:20   0.ACTUAL_TEMPERATURE 25.0
     2019-05-04 18:44:20   0.ACTUAL_TEMPERATURE_STATUS normal
     2019-05-04 18:44:20   0.ERROR_CODE    0
     2019-05-04 18:44:20   0.ERROR_OVERHEAT no
     2019-04-27 17:52:54   1.DIRECTION     none
     2019-04-27 17:52:54   1.INHIBIT       unlocked
     2019-04-27 17:52:54   1.LEVEL         closed
     2019-04-27 17:52:54   1.WORKING       no
     2019-05-04 18:45:38   3.ACTIVITY_STATE stop
     2019-05-04 18:45:38   3.LEVEL         90.5
     2019-05-04 18:45:38   3.LEVEL_STATUS  0
     2019-04-29 12:48:02   3.SELF_CALIBRATION_RESULT failed
     2019-05-04 18:45:38   4.ACTIVITY_STATE stop
     2019-05-04 18:45:38   4.LEVEL         closed
     2019-05-04 18:45:38   4.LEVEL_STATUS  0
     2019-05-04 18:45:38   5.ACTIVITY_STATE stop
     2019-05-04 18:45:38   5.LEVEL         closed
     2019-05-04 18:45:38   5.LEVEL_STATUS  0
     2019-05-04 18:45:38   6.ACTIVITY_STATE stop
     2019-05-04 18:45:38   6.LEVEL         closed
     2019-05-04 18:45:38   6.LEVEL_STATUS  0
     2019-05-04 18:45:38   activity        alive
     2019-05-04 18:45:38   control         0
     2019-05-04 18:45:38   hmstate         closed
     2019-05-04 18:43:18   pct             0
     2019-05-04 18:45:38   state           closed
   hmccu:
     devspec    CCU_EG_WZ_Bl1PBU_GAL
     dp:
       0.ACTUAL_TEMPERATURE:
         OSVAL      25.0
         OVAL       25.0
         SVAL       25.0
         VAL        25.0
       0.ACTUAL_TEMPERATURE_STATUS:
         OSVAL      normal
         OVAL       0
         SVAL       normal
         VAL        0
       0.CONFIG_PENDING:
         OVAL       0
         VAL        0
       0.DUTY_CYCLE:
         OVAL       0
         VAL        0
       0.ERROR_CODE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.ERROR_OVERHEAT:
         OSVAL      no
         OVAL       0
         SVAL       no
         VAL        0
       0.INSTALL_TEST:
         OVAL       true
         VAL        true
       0.OPERATING_VOLTAGE:
         OVAL       0.000000
         VAL        0.000000
       0.OPERATING_VOLTAGE_STATUS:
         OVAL       0
         VAL        0
       0.RSSI_DEVICE:
         OVAL       -78
         VAL        -77
       0.RSSI_PEER:
         OVAL       -78
         VAL        -77
       0.UNREACH:
         OSVAL      alive
         OVAL       0
         SVAL       alive
         VAL        0
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       3.ACTIVITY_STATE:
         OSVAL      down
         OVAL       2
         SVAL       stop
         VAL        3
       3.LEVEL:
         OSVAL      98
         OVAL       0.98
         SVAL       90.5
         VAL        0.905
       3.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       3.PROCESS:
         OVAL       1
         VAL        0
       3.SECTION:
         OVAL       15
         VAL        15
       3.SECTION_STATUS:
         OVAL       0
         VAL        0
       3.SELF_CALIBRATION_RESULT:
         OSVAL      failed
         OVAL       false
         SVAL       failed
         VAL        false
       4.ACTIVITY_STATE:
         OSVAL      down
         OVAL       2
         SVAL       stop
         VAL        3
       4.LEVEL:
         OSVAL      open
         OVAL       1.0
         SVAL       closed
         VAL        0.0
       4.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.PROCESS:
         OVAL       1
         VAL        0
       4.SECTION:
         OVAL       7
         VAL        0
       4.SECTION_STATUS:
         OVAL       0
         VAL        0
       5.ACTIVITY_STATE:
         OSVAL      stop
         OVAL       3
         SVAL       stop
         VAL        3
       5.LEVEL:
         OSVAL      closed
         OVAL       0.0
         SVAL       closed
         VAL        0.0
       5.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       5.PROCESS:
         OVAL       0
         VAL        0
       5.SECTION:
         OVAL       0
         VAL        0
       5.SECTION_STATUS:
         OVAL       0
         VAL        0
       6.ACTIVITY_STATE:
         OSVAL      stop
         OVAL       3
         SVAL       stop
         VAL        3
       6.LEVEL:
         OSVAL      closed
         OVAL       0.0
         SVAL       closed
         VAL        0.0
       6.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       6.PROCESS:
         OVAL       0
         VAL        0
       6.SECTION:
         OVAL       0
         VAL        0
       6.SECTION_STATUS:
         OVAL       0
         VAL        0
       7.WEEK_PROGRAM_CHANNEL_LOCKS:
         OVAL       0
         VAL        0
Attributes:
   IODev      ccu3
   ccureadingfilter (ERROR_CODE|ERROR_OVERHEAT|ACTUAL_TEMPERATURE|LEVEL|ACTIVITY_STATE|SELF_CALIBRATION_RESULT)
   ccureadingname 3.LEVEL:+control
   ccuscaleval LEVEL:0:1:0:100
   cmdIcon    up:fts_shutter_up stop:fts_shutter_manual down:fts_shutter_down
   controldatapoint 4.LEVEL
   devStateIcon open:shutter_open:down closed:shutter_closed:up
   eventMap   /datapoint 4.STOP true:stop/datapoint 4.LEVEL 0:down/datapoint 4.LEVEL 100:up/datapoint 3.SELF_CALIBRATION 0:stopCalibration/datapoint 3.SELF_CALIBRATION 1:startCalibration/
   hmstatevals ACTUAL_TEMPERATURE_STATUS!2:tempOverflow,3:tempUnderflow;ERROR_OVERHEAT!(1|true):overheat
   icon       fts_shutter_automatic
   room       Wohnzimmer
   statedatapoint 4.LEVEL
   stripnumber 1
   substexcl  control|pct
   substitute LEVEL!#0-0:closed,#100-100:open;ACTIVITY_STATE!0:unknown,1:up,2:down,3:stop;ERROR_OVERHEAT!(0|false):no,(1|true):yes;ACTUAL_TEMPERATURE_STATUS!0:normal,1:unknown,2:overflow,3:underflow;SELF_CALIBRATION_RESULT!(0|false):failed,(1|true):ok
   webCmd     control:up:stop:down
   widgetOverride control:slider,0,10,100


get deviceinfo:

CHN 001118A9A76568:0 CCU_EG_WZ_Bl1PBU_GAL:0
  DPT {f} HmIP-RF.001118A9A76568:0.ACTUAL_TEMPERATURE = 25.000000 [RE]
  DPT {i} HmIP-RF.001118A9A76568:0.ACTUAL_TEMPERATURE_STATUS = 0 [RE]
  DPT {b} HmIP-RF.001118A9A76568:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.001118A9A76568:0.DUTY_CYCLE = false [RE]
  DPT {n} HmIP-RF.001118A9A76568:0.ERROR_CODE = 0 [RE]
  DPT {b} HmIP-RF.001118A9A76568:0.ERROR_OVERHEAT = false [RE]
  DPT {b} HmIP-RF.001118A9A76568:0.INSTALL_TEST = true [RW]
  DPT {f} HmIP-RF.001118A9A76568:0.OPERATING_VOLTAGE = 0.000000 [RE]
  DPT {i} HmIP-RF.001118A9A76568:0.OPERATING_VOLTAGE_STATUS = 0 [RE]
  DPT {n} HmIP-RF.001118A9A76568:0.RSSI_DEVICE = 181 [RE]
  DPT {n} HmIP-RF.001118A9A76568:0.RSSI_PEER = 178 [RE]
  DPT {b} HmIP-RF.001118A9A76568:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.001118A9A76568:0.UPDATE_PENDING = false [RE]
CHN 001118A9A76568:1 HmIP-BROLL 001118A9A76568:1
  DPT {b} HmIP-RF.001118A9A76568:1.PRESS_LONG =  [E]
  DPT {b} HmIP-RF.001118A9A76568:1.PRESS_SHORT =  [E]
CHN 001118A9A76568:2 HmIP-BROLL 001118A9A76568:2
  DPT {b} HmIP-RF.001118A9A76568:2.PRESS_LONG =  [E]
  DPT {b} HmIP-RF.001118A9A76568:2.PRESS_SHORT =  [E]
CHN 001118A9A76568:3 HmIP-BROLL 001118A9A76568:3
  DPT {i} HmIP-RF.001118A9A76568:3.ACTIVITY_STATE = 3 [RE]
  DPT {f} HmIP-RF.001118A9A76568:3.LEVEL = 0.905000 [RE]
  DPT {i} HmIP-RF.001118A9A76568:3.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:3.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:3.SECTION = 15 [RE]
  DPT {i} HmIP-RF.001118A9A76568:3.SECTION_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:3.SELF_CALIBRATION =  [W]
  DPT {b} HmIP-RF.001118A9A76568:3.SELF_CALIBRATION_RESULT = false [RE]
CHN 001118A9A76568:4 HmIP-BROLL 001118A9A76568:4
  DPT {i} HmIP-RF.001118A9A76568:4.ACTIVITY_STATE = 3 [RE]
  DPT {f} HmIP-RF.001118A9A76568:4.LEVEL = 0.000000 [RWE]
  DPT {i} HmIP-RF.001118A9A76568:4.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:4.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:4.SECTION = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:4.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.001118A9A76568:4.STOP =  [W]
CHN 001118A9A76568:5 HmIP-BROLL 001118A9A76568:5
  DPT {i} HmIP-RF.001118A9A76568:5.ACTIVITY_STATE = 3 [RE]
  DPT {f} HmIP-RF.001118A9A76568:5.LEVEL = 0.000000 [RWE]
  DPT {i} HmIP-RF.001118A9A76568:5.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:5.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:5.SECTION = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:5.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.001118A9A76568:5.STOP =  [W]
CHN 001118A9A76568:6 HmIP-BROLL 001118A9A76568:6
  DPT {i} HmIP-RF.001118A9A76568:6.ACTIVITY_STATE = 3 [RE]
  DPT {f} HmIP-RF.001118A9A76568:6.LEVEL = 0.000000 [RWE]
  DPT {i} HmIP-RF.001118A9A76568:6.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:6.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:6.SECTION = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:6.SECTION_STATUS = 0 [RE]
  DPT {b} HmIP-RF.001118A9A76568:6.STOP =  [W]
CHN 001118A9A76568:7 HmIP-BROLL 001118A9A76568:7
  DPT {i} HmIP-RF.001118A9A76568:7.WEEK_PROGRAM_CHANNEL_LOCKS = 0 [RE]
  DPT {i} HmIP-RF.001118A9A76568:7.WEEK_PROGRAM_TARGET_CHANNEL_LOCK =  [W]
  DPT {i} HmIP-RF.001118A9A76568:7.WEEK_PROGRAM_TARGET_CHANNEL_LOCKS =  [W]

zap

Habe nicht gewusst, dass es ein LEVEL_STATUS gibt. Daher

ccureadingname 3.LEVEL$:+control

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

Dirk070

Schade, klappt auch noch nicht.
Von 0 manuell (Tastendruck) aufgefahren, 3.LEVEL zeigt korrekt 6, control springt direkt auf 100.

Dirk070

Hi zap,

hast Du dazu eventuell noch eine Idee oder kann ich was an Input liefern?

zap

Da ich bisher keinen HmIP-Rollladenaktor in Betrieb habe, kann ich das leider nicht nachvollziehen.

Einen werde ich bei Gelegenheit mal einbauen, da sich einer meiner alten Aktoren nur noch manuell steuern lässt.

Habe aber momentan keine Zeit dafür.
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

Depechem

#7
Hallo, wie ich bereits im www gelesen habe gint es sehr viele mit diesem Problem.

Gibt es inzwischen sch eine Lösung?
VG Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Dirk070


Depechem

Ich würde mich sehr freuen wenn das Problem gelößt werden könnte
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Dirk070

Hallo zap,

ich habe einen neuen Test gemacht, vielleicht hilft das bei der Ursachenforschung.
ccureadingname 3.LEVEL$:+pct

Effekt, wenn manuell von 100 (open) auf 90 gefahren wird: pct zeigt sauber 90 an.
3.LEVEL zeigt ebenfalls die 90 an.
4.LEVEL zeigt closed
state zeigt closed
control zeigt 0

Kann es sein, dass control via pct gesetzt wird, aber im Anschluss durch 4.LEVEL überschrieben wird?
Also dass die Reihenfolge der Zuordnungen ein Problem sind?

Viele Grüße
Dirk

zap

Für mich nochmal zum Verständnis:

- 3.LEVEL wird immer korrekt aktualisiert, d.h. nimmt Werte zwischen 0 und 1 bzw. 0 und 100 (skaliert) an, inkl. Zwischenschritte.
- 4.LEVEL wird bei manueller Steuerung per Taste entweder 0 oder 1, d.h. hier gibt es keine Zwischenschritte. Bei Ansteuerung per Software gibt es auch Zwischenschritte

Korrekt?



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

Dirk070

Korrekt.

Ausgangssituation: Rollade offen, also 100%.
Per FHEM und SET auf 90%, 3.LEVEL und 4.LEVEL stehen auf 90.

Rollade wieder zurück auf 100% (selbe Ausgangsbedingung wie zuvor).
Taster (runter) am Aktor drücken.
3.LEVEL auf 90.
4.LEVEL closed. (damit control 0)

zap

m.E. ein Firmware Bug, da inkonsistent. Aber so sind sie halt bei EQ-3.

Muss eigentlich mit FHEM Mitteln lösbar sein. Vermutlich aber nur mit extremen Verrenkungen. Mal sehen ...

Versuche doch mal folgendes (nur die geänderten Attribute aufgelistet, die anderen beibehalten):


ccureadingfilter 3.LEVEL;(ERROR_CODE|ERROR_OVERHEAT|ACTUAL_TEMPERATURE|ACTIVITY_STATE|SELF_CALIBRATION_RESULT)
ccureadingname 3.LEVEL$:+control
controldatapoint 4.LEVEL
statedatapoint 3.LEVEL


Die Idee: Die Aktualisierung von 4.LEVEL/control wird durch die Einschränkung des Filters auf 3.LEVEL unterbunden. Wenn 3.LEVEL aktualisiert wird, soll auch control aktualisiert werden. Das $ am Ende verhindert das Überschreiben durch 3.LEVEL_STATUS.
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

Depechem

Angeblich laut EQ3 so gewollt da es mehrere Aktorkanäle gibt die dies beeinflussen können, daher der Statuskanal 3.Level der das richtige ausgibt. Laut EQ3 muss so etwas über die Fremdsoftware (FHEM) ausgeglichen werden. Will damit nur sagen das es angeblich kein Bug sondern so gewollt ist.
Zap, ich hoffe du kannst das Problem irgendwie lösen, ich warte sehnsüchtig drauf.

VG Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...