Tasten sperren beim HmIP-BROLL?

Begonnen von loescher, 02 Oktober 2019, 20:34:31

Vorheriges Thema - Nächstes Thema

loescher

Hallo!

Hat jemand einen Tipp, wie man beim HmIP-BROLL von FHEM aus die Tasten sperren kann?
(Oder über die CCU überhaupt die Tasten sperren kann)
Ich möchte nicht im Winter bei Schnee die Terrassendach-Markise versehentlich ausfahren.  ::)
Sämtliche Suchen nach dem Thema waren leider erfolglos.

LG,
Stephan.

frank

bei bidcos würde ich inhibit=on setzen.
vermutlich auch bei hmip.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

loescher

Ich sehe da leider kein inhibit, was ich verändern könnte.
Hier mal der list:


Internals:
   DEF        001118A9AC0E61
   FUUID      5c9a5385-f33f-a2be-44d4-6d82683eb8258be9
   IODev      d_ccu
   NAME       Markise_oben_links
   NR         192
   STATE      open
   TYPE       HMCCUDEV
   ccuaddr    001118A9AC0E61
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    HmIP-BROLL 001118A9AC0E61
   ccutype    HmIP-BROLL
   channels   8
   firmware   1.6.2
   statevals  devstate
   READINGS:
     2019-10-02 20:53:58   0.ACTUAL_TEMPERATURE 25.0
     2019-10-02 20:53:58   0.ACTUAL_TEMPERATURE_STATUS normal
     2019-10-02 20:53:58   0.ERROR_CODE    0
     2019-10-02 20:53:58   0.ERROR_OVERHEAT no
     2019-10-02 20:53:59   0.RSSI_DEVICE   -68
     2019-09-29 17:45:09   0.RSSI_PEER     -66
     2019-10-02 20:53:59   3.ACTIVITY_STATE stop
     2019-10-02 20:53:59   3.LEVEL         open
     2019-10-02 20:53:59   3.LEVEL_STATUS  0
     2019-09-22 10:44:09   3.SELF_CALIBRATION_RESULT failed
     2019-10-02 20:53:59   4.ACTIVITY_STATE stop
     2019-10-02 20:53:59   4.LEVEL         open
     2019-10-02 20:53:59   4.LEVEL_STATUS  0
     2019-10-02 20:53:59   5.ACTIVITY_STATE stop
     2019-10-02 20:53:59   5.LEVEL         closed
     2019-10-02 20:53:59   5.LEVEL_STATUS  0
     2019-10-02 20:53:59   6.ACTIVITY_STATE stop
     2019-10-02 20:53:59   6.LEVEL         closed
     2019-10-02 20:53:59   6.LEVEL_STATUS  0
     2019-10-02 20:53:59   activity        alive
     2019-10-02 20:53:59   control         100
     2019-10-02 20:53:59   hmstate         open
     2019-10-02 20:53:59   pct             0
     2019-10-02 20:53:59   state           open
   hmccu:
     devspec    001118A9AC0E61
     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:
         OSVAL      -68
         OVAL       -68
         SVAL       -68
         VAL        -68
       0.RSSI_PEER:
         OSVAL      192
         OVAL       192
         SVAL       -66
         VAL        -66
       0.UNREACH:
         OSVAL      alive
         OVAL       0
         SVAL       alive
         VAL        0
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       3.ACTIVITY_STATE:
         OSVAL      stop
         OVAL       3
         SVAL       stop
         VAL        3
       3.LEVEL:
         OSVAL      open
         OVAL       1.0
         SVAL       open
         VAL        1.0
       3.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       3.PROCESS:
         OVAL       0
         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      stop
         OVAL       3
         SVAL       stop
         VAL        3
       4.LEVEL:
         OSVAL      open
         OVAL       1.0
         SVAL       open
         VAL        1.0
       4.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.PROCESS:
         OVAL       0
         VAL        0
       4.SECTION:
         OVAL       4
         VAL        4
       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      d_ccu
   ccureadingfilter (ERROR_CODE|ERROR_OVERHEAT|ACTUAL_TEMPERATURE|LEVEL|ACTIVITY_STATE|SELF_CALIBRATION_RESULT|RSSI|UNREACH)
   ccureadingname LEVEL:+pct
   ccuscaleval LEVEL:0:1:0:100
   cmdIcon    up:fts_shutter_up stop:fts_shutter_manual down:fts_shutter_down
   controldatapoint 4.LEVEL
   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
   room       Terrasse
   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


zap

#3
Beim list siehst du nur das, was du konfiguriert hast, nicht das, was möglich ist.
Dazu empfiehlt sich ein Blick in die HmIP Device Doku. Oder Befehle wie
get deviceinfo - für Datenpunkte
get configlist - für Config-Parameter

Und bevor jetzt die Frage kommt: die Device Doku bekommt man als ersten Link, wenn man bei Google nach "hmip Device Documentation" sucht. Sind knapp 10000 Seiten, aber gut strukturiert
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

loescher

Hallo zap!

Danke. Die HM Doku (mit den ~1000 Seiten) habe ich schon angeschaut, aber da werde ich bzgl. Tastensperre nicht wirklich schlau.
Ich poste mal die "get deviceinfo":

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


Und "get configlist":

HMCCUDEV: Markise_oben_links No response from CCU. CCU returned no data


Sieht nicht gut aus.  :(

Allerdings muss ich auch dazusagen, dass ich mit meinem FHEM nicht auf dem aktuellsten Stand bin - Never change a running system  ;)

LG,
Stephan.

zap

#5
Hast Du Dir schon mal die Einstellungen in der CCU angeschaut?

Bei "get configlist" kann man auch mal ne Kanalnummer angeben, in Deinem Fall ein Wert von 0-7.

Wenn Du allerdings aus der Doku nicht schlau wirst, bringt Dir die Ausgabe vermutlich auch nichts.

Und "never touch a running system" mag für eine Textverarbeitung eine valide Strategie sein, aber nicht für ein Smarthome-System.

Update: In der Doku habe ich nichts zum Thema Abschalten der Tasten gefunden. Scheint nicht unterstützt zu werden.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

frank

https://forum.fhem.de/index.php/topic,100152.msg936531.html#msg936531
dieser kollege hat ein inhibit-reading in seinem list.
da es auf unlocked steht, kann man es doch bestimmt auch auf zb locked setzen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

zap

#7
Das ist allerdings erstaunlich. Keine Ahnung, wo das herkommt. Laut deviceinfo im gleichen Post gibt es in Kanal 1 keinen Datenpunkt INHIBIT.
In der Doku ist der auch nicht erwähnt.

Probieren kann man es aber mal:

set xyDev datapoint 1.INHIBIT 1

oder

set xyDev datapoint 1.INHIBIT 0

Bei meinen alten BidCos Rollladenaktoren vom Typ HM-LC-Bl1PBU-FM gibt es ein 1.INHIBIT.

@loescher: bitte mal ein get deviceinfo ausführen und ERgebnis posten
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

frank

seltsam finde ich, dass in dem 10000 seiten buch nicht einmal das wort inhibit zu finden ist. ich kann mir einfach nicht vorstellen, dass es inhibit bei hmip nicht mehr gibt, obwohl bei bidcos jeder aktor diese funktion besass.

inhibit verriegelt ja die direktverbindungen der devices, zu denen auch diese "internen" tasten gehören. könnte es sein dass entsprechende datenpunkte dieser verbindungen ganz woanders "verortet" sind. also nicht direkt beim device.

nur so als idee von jemandem, der kein hmip hat.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

loescher

Vielen Dank für eure Hilfe.

Das "get configlist" mit Kanalnummer listet immerhin was auf, aber nichts, das nach INHIBIT klingt.

Das "get deviceinfo" ist bereits im Post #4.

Das "set Markise_oben_links datapoint 1.INHIBIT 1" liefert leider nur " HMCCUDEV: Markise_oben_links Invalid datapoint ".

In der CCU ist nur was von Tastensperren mit Doppelklick zu sehen.
(Siehe Anhang hmip.jpg)
Gibt es eigentlich dazu (außer dem 1000 seitigen Buch) noch eine Doku?

Ich hab jetzt mal auch eine Mail an den eq3 Support geschrieben, ob es hier überhaupt eine Sperre gibt.
Sonst suchen wir hier noch ewig.  :)

Was es aber auch sein könnte:
Beim HmIP-BROLL gibt es in der CCU standardmäßig diese Direktverknüpfungen, siehe Anhang "direkte.jpg"
Evtl. kann man die Löschen und wieder Verknüpfen, als eine Art Sperre.

Wenn ich mehr herausgefunden habe, melde ich mich nochmal!

LG,
Stephan.

zap

Dann gibt es also kein INHIBIT wie bei BidCos und diese Lösung fällt aus.
Vielleicht könntest Du die Tasten in einem Programm abfragen, das dann gar nichts macht. Keine Ahnung, ob damit dann die Tasten inaktiv sind.

Kannst auch mal im offiziellen Homematic Forum eine Frage stellen.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

loescher

Ich hatte ja geschrieben, wenn ich was rausfinde, melde ich mich nochmal.
Meine Support Anfrage bei eq3 hat mich auf die richtige Spur gebracht.
Die Tasten des BROLL sind nur über eine Direktverknüpfung an den Hauptkanal #4 gebunden.
Und der Hauptkanal ist mit den anderen virtuellen Aktorkanälen verbunden (nicht verwechseln mit normalen virtuellen Kanälen.)

Um jetzt also die Markise eingefahren zu lassen bzw. ein Ausfahren zu verhindern gibt es zwei Möglichkeiten:

1. Man kann Hauptkanal (4) auf logische NAND Verknüpfung schalten, dann führt jeder Tastendruck zum Hinauffahren:
set Markise_oben_rechts config 4 LOGIC_COMBINATION=5
Wieder zurück auf normales Verhalten ("OR"):
set Markise_oben_rechts config 4 LOGIC_COMBINATION=1

2. Man kann den virtuellen Kanal 5 mit OR mit dem Hauptkanal verknüpfen und den Kanal 5 dann auf 100% (Hochgefahren) setzen, dann fährt der
Rollladen/Markise ggf. hoch/rein und bleibt dort gesperrt.
set Markise_oben_rechts config 5 LOGIC_COMBINATION=1
set Markise_oben_rechts datapoint 5.LEVEL 100.0

Wieder zurück auf normales Verhalten ("keine Verknüpfung"):
set Markise_oben_rechts config 5 LOGIC_COMBINATION=0

Zum Verständnis der Logik und Verknüpfungen empfehle ich eines der
Videos:
https://www.youtube.com/watch?v=tifEq9i19s0
https://www.youtube.com/watch?v=Cwxwtig6Q1I
und die zugehörigen Handouts:
https://www.homematic-inside.de/media/download/meetup_2019/expertenparameter
Die Verknüpfungslogik der virtuellen Aktorkanäle ist identisch mit der Verknüpfungslogik der virtuellen Kanäle. Details:
https://wiki.fhem.de/wiki/HomeMatic#virtuelle_Kan.C3.A4le
Ausgangswert ist immer 0. Dieser wird mit dem ersten virtuellen Kanal verknüpft. Das Ergebnis dann mit dem nächsten usw.
In meiner Variante 1:
0 NAND CH4 = 100 für alle Werte im Kanal 4.
Und für Variante 2:
( ( 0 OR CH4 ) OR CH5 ) = 100 für alle Werte im Kanal 4 wenn CH5 auf 100 gesetzt wird.

Da sind echt coole Sachen direkt im Aktor realisierbar, wenn man das mal kapiert hat.  :)

Ich habe nur ein Problem noch:
Meine oben erwähnten set... Befehle wirken nicht!
Die Veränderung der Werte ist in der CCU sichtbar, aber das Aktor-Verhalten ändert sich nicht.
Wenn ich das gleiche direkt in der CCU mache, dann klappt alles.
Was macht FHEM+HMCCU anders, als die direkte Änderung in der CCU?

@zap: Falls du dazu eine Idee hast, lass es mich bitte wissen. Eilt aber nicht, weil ich dem Wetter sowieso keine Tests mit der Markise mache.
Könnte es höchstens mit einem anderen HmIP Teil ausprobieren.

P.S.: Ich bin übrigens inzwischen mit CCU und FHEM auf einem aktuellen Stand  ;)

LG,
Stephan.