Toggle bei Rollo (HM-LC-Bl1PBU-FM) über HMCCU in FHEMWEB

Begonnen von Nogga, 26 April 2020, 10:57:18

Vorheriges Thema - Nächstes Thema

Nogga

Ich bin gerade dabei FHEMWEB so zu gestalten, dass ich dies auch für (seltene) Steuerungen meiner Frau "geben" kann. Das bedeutet auch, dass ich möglichst alle Aktionen auf das devStateIcon legen möchte, damit das auf dem Smartphone auch selbsterklärend dargestellt wird.

Meine Rolladen lassen sich gegenwärtig über mehrere Buttons steuern (hoch, runter, Slider, usw.). Jetzt würde ich gerne das devStateIcon für eine "Eintasten-Steuerung" nutzen. Heisst: 1. Klick = fährt runter, 2. Klick = stoppt, 3. Klick fährt hoch, 4. Klick = stopp, 5. = runter, usw.

Testweise wollte ich erstmal mit toggle arbeiten, aber da kommt dann eine Fehlermeldung:
HMCCUDEV: OG_Bad_Rollo No state values defined

Außerdem glaube ich, dass "toggle" über hoch oder runterfährt, aber nicht stoppt.

Hat das jemand schonmal mit dem Aktor und HMCCU probiert?

Noch ein List vom Rolladen-Aktor mit o.g. Fehler:


Internals:
   DEF        OEQ1969598
   FUUID      5deec9e0-f33f-bfba-8b2a-f786ff77c8406830
   IODev      HM_CCU3
   NAME       OG_Bad_Rollo
   NR         203
   STATE      closed
   TYPE       HMCCUDEV
   ccuaddr    OEQ1969598
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    OG_BAD_ROLLO
   ccutype    HM-LC-Bl1PBU-FM
   channels   2
   firmware   2.11
   statevals  devstate
   READINGS:
     2020-04-26 10:48:58   1.DIRECTION     none
     2020-04-24 13:17:53   1.INHIBIT       unlocked
     2020-04-26 10:50:00   1.LEVEL         closed
     2020-04-26 10:48:58   1.WORKING       no
     2020-04-24 13:17:53   activity        alive
     2020-04-26 10:50:00   control         0
     2020-04-26 10:50:00   hmstate         closed
     2020-04-26 10:50:00   state           closed
   hmccu:
     devspec    OEQ1969598
     dp:
       1.DIRECTION:
         OSVAL      down
         OVAL       2
         SVAL       none
         VAL        0
       1.LEVEL:
         OSVAL      closed
         OVAL       0.000000
         SVAL       closed
         VAL        0.000000
       1.WORKING:
         OSVAL      yes
         OVAL       1
         SVAL       no
         VAL        0
Attributes:
   IODev      HM_CCU3
   ccureadingfilter (LEVEL|INHIBIT|DIRECTION|WORKING)
   ccuscaleval LEVEL:0:1:0:100
   controldatapoint 1.LEVEL
   eventMap   /datapoint 1.STOP true:stop/datapoint 1.LEVEL 0:down/datapoint 1.LEVEL 100:up/
   group      Bad
   room       HMCCU,Steuerung
   statedatapoint 1.LEVEL
   stripnumber 1
   substexcl  control
   substitute LEVEL!#0-0:closed,#100-100:open;DIRECTION!0:none,1:up,2:down,3:undefined;WORKING!(0|false):no,(1|true):yes
   webCmd     control:up:stop:down:toggle
   widgetOverride control:slider,0,10,100


Das "Hübschmachen" mit entsprechendem devStateIcon mache ich dann später auch noch... Das sollte ich hinbekommen.

zap

Das wird mit toggle nicht funktionieren, da die von Dir benötigten Funktionen auf verschiedenen Datenpunkten liegen. rauf und runter werden über LEVEL gesteuert, während der Datenpunkt STOP den Rollladen anhält.

Toggle hingegen schaltet die im Attribut statevals festgelegten Zustände für den State- bzw Controldatapoint durch. Und davon kann es nur einen geben.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Nogga

Schade - dachte ich mir schon fast :-(
Weisst Du vielleicht ob man das direkt im Aktor hinterlegen kann? Eine CCU habe ich ja auch...
Da muss ich mal recherchieren...

Ansonsten muss ich mal alternativ die DOIF Variante testen...
https://forum.fhem.de/index.php?topic=70419.0

zap

Ich denke, Du wirst nicht um DOIF herum kommen. Alternativ kannst Du in der CCU ein Programm erstellen. Aber in dem Fall würde ich Dir FHEM empfehlen, da Du die Oberfläche zur Steuerung ja auch hier hast.
Sollte das irgendwie langsam reagieren, kannst Du auch mal die CCU Variante versuchen. Da sparst Du Dir einige Stationen, die ggf. Zeit kosten.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Nogga

Ich bin tatsächlich auch ohne DOIF weitergekommen... Mit den virtuellen Tasten der CCU kann man ein toggle Implementieren:

1. In der CCU einen virtuellen Kanal mit dem Rollo verknüpfen über "auf / zu&hoch /herunter" - das entspricht einer toggle Funktion (also bei dem Tastendruck hoch, stop, runter, stop, hoch)
2. In FHEM den virtuellen Kanal hinzufügen über

defmod CCU_VIRT_01 HMCCUCHN BidCoS-RF:1
attr CCU_VIRT_01 IODev HM_CCU3

3. Dann kann man über den Datapoint direkt togglen:

set CCU_VIRT_01 datapoint PRESS_SHORT 1


Jetzt fehlt mir nur noch das letzte Puzzle-Stück:
Wie kann ich das devStateIcon eines Devices mit einem FHEM-Kommando [eines anderen = virtueller Kanal] ersetzen, sodass ein Klick/Touch auf das Icon des Rolladen-Devices idealerweise den virtuellen Taster auslöst. Das Icon davon soll natürlich den Status des originären Devices anzeigen (visuell offen/halb/zu).

Jemand eine Idee?

Die Kür ist dann den virtuellen Taster mit einem Programm zu verknüpfen, dass dann per Parameter verschiedene Rollos steuern kann (dann muss ich nicht einen virt. Kanal pro Rollo "opfern").