"[gelöst] Intertechno Rollladenaktor in FHEMWEB mit Zwischenpos. darstellen

Begonnen von bajogger, 04 August 2022, 13:33:24

Vorheriges Thema - Nächstes Thema

bajogger

Die meisten meiner Rollläden werden mit einem Intertechno Rollladenschalter geschaltet.
Standardmässig kennt dieser Schalter nur den Zustand on und off. Habe diese mit webcmd und eventmap in Runter und Hoch umbenannt.

Möchte bei diesem heißen Wetter die Rollladen auf halb zu schalten. Das Gerät kann das, in dem z.B der Runter Befehl erneut gesetzt wird während der
Rollladen noch läuft.

Möchte das folgendermaßen lösen. Das Gerät bekommt einen dritten Schalter (z.B. "Halb")
Wird dieser Schalter betätigt soll genau das passieren. Der Befehl Runter:on wird gesetzt und nach xSek wiederholt. Rolladen bleibt in der Hälfte stehen.

Habe bereits mit webCmd  Runter:Hoch:Halb den dritten Schalter erzeugt. Allerdings kommt beim Betätigen unknown Argument

Wie kann ich das machen das beim Betätigen ein Argument;state,Reading gesetzt wird was ich nutzen kann um eine Routine zu starten
FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905

Beta-User

Hmmm, warum nimmst du nicht gleich ROLLO (siehe "help ROLLO") - das dürfte dann direkt auch prozentuale Fahranweisungen erlauben...

Ansonsten ist eventMap immer noch "bäh"...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

MadMax-FHEM

Rollo kenne ich (noch) nicht, vielleicht gehe ich da mal kucken ;)

Und ja eventmap nutze ich auch nicht (sehr, sehr, sehr selten), führt meist/oft zu unerwartetem Verhalten an anderer Stelle (und ist dadurch schwer zu finden)...

Wenn du einen "Fahre-Halb-Befehl" o.ä. bei deinem Device haben willst, wie wäre dann cmdalias?

In etwa so (RawDef!):


defmod caMarkiseShading cmdalias set tasmotaMarkise shading AS set tasmotaMarkise POWER1 on;; sleep 5;; set tasmotaMarkise POWER2 on


Damit kann ich dann folgendes ausführen:


set tasmotaMarkise  shading


https://fhem.de/commandref.html#cmdalias
https://wiki.fhem.de/wiki/Cmdalias

Obwohl das meine "tasmota Markise" sonst gar nicht kennt ;)

Ob das dann mittels webcmd geht: keine Ahnung, ich nutze das in deinem devStateIcon
(und mittlerweile bereits in einem erweiterten/verallgemeinerten cmdalias, führt aber hier wohl eher zu Verwirrungen ;)  )

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

bajogger

Habe bei ROLLO geschaut. Leider nicht verstanden wie ich dem definierten Rollo beibringe mein Intertechno Device zu schalten.

Bei cmdalias bin ich noch am studieren und hoffentlich kapieren. Dein Beispiel macht einen neuen Schalter der ein Device "on" schaltet und nach der Sleep-Time nochmal schaltet bzw stopped? So weit viel versprechend.
Aber kann das auch als dritter Schalter eines bestehenden Devices definiert werden?
FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905

Beta-User

#4
ROLLO ist dazu da, im Prinzip 2 beliebige "Relays" zu einem "virtuellen Rollladendevice" zu verbinden. Aber im Prinzip geht alles, was man im weitesten Sinne als "hoch" und "runter"-Befehl in FHEM absetzen kann. Einfachste Varainte afaik: Man definiere eine ROLLO-Instanz, und setzt dann noch die Befehle für "hoch" und "runter" in die entsprechenden Attribute (rl_commandUp und rl_commandDown). Fehlt noch die Fahrzeit (je hoch/runter), fertig ist die Laube ;) . Man kann es erweitern um "stop"-Anweisungen, und dem auch beibringen, z.B. externe Funkkommandos zu verstehen (also z.B. zu erkennen, wenn jemand per FB runterfährt). Würde noch empfehlen, das im "CUL_HM"-Style zu definieren, also "100%" = offen.

cmdalias ist sicher auch eine mögliche Variante, hat aber halt den Nachteil, dass es hier beschränkt wäre auf eine bestimmte Position.

Vermeide bitte den Begriff "Schalter" - da versteht jeder was anderes drunter. Du sprichts hier von einem zusätzlichen Bedienelement in DeviceOverview? Oder einer neuen möglichen "set"-Anweisung?

Wie üblich wäre es einfacher, konkreter zu helfen, wenn du ein list zeigen würdest (von dem, was du jeweils gemacht hast, hier also das Intertechno-Device und der ROLLO-Versuch)...

EDIT - ein Pseudo-Beispiel:
attr myROLLO rl_commandUp set myITrollo on
attr myROLLO rl_type HomeKit


Weiterer Vorteil der ROLLO-Variante: Man kann das Ergebnis dann direkt in AutoShuttersControll verwenden, um damit z.B. die Beschattung dann automatisiert nach Außentemperatur und Sonnenstand zu steuern...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

MadMax-FHEM

Zitat von: Beta-User am 04 August 2022, 15:48:15
cmdalias ist sicher auch eine mögliche Variante, hat aber halt den Nachteil, dass es hier beschränkt wäre auf eine bestimmte Position.

In der hier gezeigten (bewusst einfachen) Variante: ja... ;)

In der aktuell im Einsatz befindlichen: nein... 8)

Rollo: mal sehen :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

bajogger

#6
Habe mit ROLLO ein bisschen probiert

Mein Intertechno Device heißt RollKuechFt. Das list zeigt noch den Versuch mit drittem Schalter "Halb" (Sorry)


Internals:
   DEF        0FF000FF0F FF F0
   FUUID      6175a04e-f33f-33ad-817a-ef4fba93f6d4729f
   IODev      CUL_0
   NAME       RollKuechFt
   NR         193
   STATE      Runter
   TYPE       IT
   XMIT       0ff000ff0f
   XMITdimdown 00
   XMITdimup  00
   XMIToff    f0
   XMITon     ff
   CODE:
     1          0ff000ff0f
   READINGS:
     2022-08-01 16:08:13   IODev           CUL_0
     2021-10-24 20:05:11   protocol        V1
     2022-08-04 16:16:23   state           on
Attributes:
   IODev      CUL_0
   alexaName  Rollo9
   devStateIcon Hoch:fts_shutter_10 Runter:fts_shutter_100
   eventMap   on:Runter off:Hoch halb:Halb
   group      Rolladen
   model      itswitch
   onOffDevice true
   room       Alexa,Favorit,Rolladen
   webCmd     Runter:Hoch:Halb




Den Rollo habe ich vorläufig RollTmp genannt


Internals:
   CFGFN     
   FUUID      62ebbef9-f33f-33ad-d428-50038894feda6836
   NAME       RollTmp
   NR         1081
   STATE      closed
   TYPE       ROLLO
   stoptime   1659622528
   READINGS:
     2022-08-04 16:16:02   command         closed
     2022-08-04 16:16:02   desired_pct     100
     2022-08-04 16:15:25   drive-type      modul
     2022-08-04 16:15:25   last_drive      drive-down
     2022-08-04 16:15:28   pct             0
     2022-08-04 16:15:28   state           closed
Attributes:
   devStateIcon Hoch:fts_shutter_10 Runter:fts_shutter_100 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 0\d.*:fts_shutter_100
   group      Rolladen
   rl_autoStop 0
   rl_commandDown set RollKuechFt on
   rl_commandUp set RollKuechFt off
   rl_excessBottom 2
   rl_excessTop 4
   rl_secondsDown 12
   rl_secondsUp 12
   rl_switchTime 1
   rl_type    HomeKit
   room       Rolladen
   webCmd     closed:open:pct



Geht noch nicht wirklich. Zwischenpositionen macht er nicht. Runter und Hoch gehen mit Auffälligkeiten. So lässt sich der Befehl nicht zuverlässig wiederholen um den Rolladen manuell zu stoppen. Vielleicht geht auch deshalb die Zwischenpos nicht
FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905

MadMax-FHEM

#7
Wie wäre es endlich! mal mit der Verwendung von "code-Tags"!

EDIT: siehe bereits hier https://forum.fhem.de/index.php/topic,128563.msg1229685.html#msg1229685

EDIT: und hier auch schon (indirekt) https://forum.fhem.de/index.php/topic,128563.msg1229645.html#msg1229645

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

bajogger

Habe auch mit cmdalias probiert.

Habe es RollKuechFtHalb genannt. Falls ich nun
set RollKuechFt shading
eingebe. Fährt mein Rolladen die gewünschten Sekunden. Soweit so erfolgreich. Allerdings ist die Eingabe von Befehlen im Textformat keine Option.
Das muss mit einem Bedienelement ausgelöst werden. Am Besten als Bedienelement im vorhandenen Device RollKuechFt


Internals:
   ALIAS      set
   CFGFN     
   DEF        set RollKuechFt shading AS set RollKuechFt on; sleep 5; set RollKuechFt on
   FUUID      62ebcdab-f33f-33ad-48b2-31bc57456bb57cec
   NAME       RollKuechFtHalb
   NEWCMD     set RollKuechFt on; sleep 5; set RollKuechFt on
   NR         1137
   PARAM      RollKuechFt shading
   STATE      defined
   TYPE       cmdalias
Attributes:
   group      Rolladen
   room       Rolladen

FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905

Beta-User

An sich sieht das (bis auf die Code-Tags...) doch schon nicht schlecht aus...

Vermutlich sollte rl_autoStop auf "1" gestellt werden.
Zitat von: bajogger am 04 August 2022, 16:33:35
Geht noch nicht wirklich. Zwischenpositionen macht er nicht. Runter und Hoch gehen mit Auffälligkeiten. So lässt sich der Befehl nicht zuverlässig wiederholen um den Rolladen manuell zu stoppen. Vielleicht geht auch deshalb die Zwischenpos nicht
Mach unbedingt dieses eventMap-Attribut in deinem IT-Device weg - diese Attribute bringen uU. alles durcheinander (qed)...

Falls das danach (!) noch ein Problem ist, klingt das mit den "Auffälligkeiten" nach einem Funkproblem.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

bajogger

Habe deine Änderungen durchgeführt. Die Zwischenpositionen funktionieren nicht. Rollladen fährt immer durch.
Könnte mir vorstellen das dies an den Besonderheiten des Intertechno Devices liegt. Dies kennt ja keinen Stop-Befehl.
Der Stop wird durch das erneute Senden des letzten Befehls on/off ausgelöst. Das wird das Rollo Modul nicht wissen
FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905

kabanett

Zitat von: bajogger am 04 August 2022, 17:19:24
Der Stop wird durch das erneute Senden des letzten Befehls on/off ausgelöst. Das wird das Rollo Modul nicht wissen

Dann sag es ihm doch.....
rl_commandStopUp
rl_commandStopUp


Steht im Wiki sehr schön beschrieben...

Gruß
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

bajogger

Tatsächlich funktioniert es jetzt. Die Prozentangaben sind wenig proportional zur reellen Öffnung, aber das ist nicht weiter schlimm.
Habe versucht das über SecondsDown und Up zu verändern.  Danke für die Hilfe.

Zwei Themen/Fragen hätte ich noch

1. Bekomme keine StateIcon angezeigt, obwohl definiert. Bekomme nur Textanzeigen
2. PCT als Bedienelement wird hier als Dropdown dargestellt. Bei einem Shelly Rolladen ist es ein waagrechter Slider. Wie kann man das beeinflussen?


Internals:
   CFGFN     
   FUUID      62ebbef9-f33f-33ad-d428-50038894feda6836
   NAME       RollTmp
   NR         1081
   STATE      open
   TYPE       ROLLO
   stoptime   1659637633
   READINGS:
     2022-08-04 20:27:07   command         pct-0
     2022-08-04 20:27:07   desired_pct     0
     2022-08-04 20:27:07   drive-type      modul
     2022-08-04 20:27:07   last_drive      drive-up
     2022-08-04 20:27:13   pct             100
     2022-08-04 20:27:13   state           open
Attributes:
   devStateIcon Hoch:fts_shutter_10 Runter:fts_shutter_100 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 0\d.*:fts_shutter_100
   group      Rolladen
   rl_autoStop 1
   rl_commandDown set RollKuechFt on
   rl_commandStopDown set RollKuechFt on
   rl_commandStopUp set RollKuechFt off
   rl_commandUp set RollKuechFt off
   rl_excessBottom 2
   rl_excessTop 4
   rl_secondsDown 12
   rl_secondsUp 12
   rl_switchTime 1
   rl_type    HomeKit
   room       Rolladen
   webCmd     closed:open:pct
FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905

Beta-User

Zitat von: bajogger am 04 August 2022, 20:44:47
Tatsächlich funktioniert es jetzt. Die Prozentangaben sind wenig proportional zur reellen Öffnung, aber das ist nicht weiter schlimm.
Das ist ein generelles Problem bei allen "aufrollenden" Rollladen-Typen und Aktoren (es gibt afaik nur eine Aktor-Type, die dafür einen Kompensationsfaktor eingebaut hat => Tasmota). Je dicker die Achse, desto schneller bewegt sich die unterste Kante...

Zitat
1. Bekomme keine StateIcon angezeigt, obwohl definiert. Bekomme nur Textanzeigen
devStateIcon (in der einfachen Form) stellt dar, was im Internal STATE steht. "open" ist nicht erfasst, sondern deine "eingedeutschten" => devStateIcon anpassen...

Zitat
2. PCT als Bedienelement wird hier als Dropdown dargestellt. Bei einem Shelly Rolladen ist es ein waagrechter Slider. Wie kann man das beeinflussen?
Da ist das Stichwort "widgetOverride". Details dazu findest du im Wiki unter FHEMWEB/Widgets

Ein extra  :) wg. der Code-Tags und dem list.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

bajogger

Nachdem ich devStateIcon von Runter/Hoch in closed/open geändert hatte, waren die Icon's zu sehen. Für die Zwischenstände kamen weiter nur Text.

Hier musste ich auch was tun. Vorher 9\d.*:fts_shutter_10  Nachher pct-9\d.*:fts_shutter_10 brachte hier Abhilfe.


Mit widgetOverride habe ich mich auch ein bisschen schwergetan die exakte Syntax für mein Problem aus den Wikibeiträgen etc zu finden.
War dann aber klar das man auch sagen muss was man overriden soll

attr widgetOverride pct:slider,0,5,100

Das das pct als zu überschreibendes Merkmal da rein muss, ist logisch, habe ich aber ewig nicht gesehen

Nun alles top. Viel gelernt (auch Code-Tags und list usw..  :)).
Nochmals vielen Dank an Alle, vor allem an Beta-User, für die Hilfe
FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905