Neues Modul: Rolladensteuerung

Begonnen von ThomasRamm, 11 Januar 2016, 00:00:21

Vorheriges Thema - Nächstes Thema

condor

Hallo butaluk,

ZitatHallo,
ich habe eine Frage.
Haben bestimmt schon mehrere die Funktion bei sich integriert.

Mit einem einfachen Tastendruck fährt das entsprechende Rollo hoch bzw. runter.
Mit einem langen Tastentruck fahren alle Rollläden hoch bzw. runter.
Dies ist nicht direkt eine Funktion des Rollo Moduls. Hierbei geht es eher um die Erkennung ob der Taster kurz oder lang gedrückt wurden. Die Raspberry GPIOs können dies schon unterscheiden. Im folgenden Link hatte ich die Frage bezüglich MCP23017 GPIOs.

https://forum.fhem.de/index.php/topic,58716.msg501803.html#msg501803

Gruß Condor

HoTi

Hallo zusammen,

ich hatte aufgrund von Elternzeit Urlaub und dann viel Arbeit keine Zeit mich mit FHEM und dem Modul zu beschäftigen.

Jetzt muss ich euch leider bitte mir hier zu Posten wer noch Probleme mit der original Version hat. Die Version auf der ersten Seite wir von uns nicht mehr unterstützt, nur noch die auf GITHUB.

Noch besser wäre natürlich wenn ihr auf GITHUB einen Issues anlegt: https://github.com/RettungsTim/fhem-rollo/issues
Dann bekommen wir Entwickler auch eine Mail und es geht nicht in der Postflut hier unter.

Vg
Tim
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Marku7

Hallo,

vorab, ich bin blutiger Anfänger was fhem angeht.
Ich verwende einen Raspberry Pi 3, auf dem fhem bereits läuft. Zusätzlich möchte ich das Ganze in Zukunft noch mit einem Arduino erweitern.

Mein Problem:
Ich habe keine Ahnung wie ich mit diesem Modul 2 gpios (einen für hoch, einen für runter) ansteuern kann.
Ist das überhaupt möglich?
Wenn ja, wie?

Danke für eure Hilfe

gruß Markus

weini

#348
Hallo zusammen!

Also bei mir will das leider einfach nicht funktionieren.

Ich habe einen Rademacher Gurtwickler den ich mit einem HM-MOD-Re-8 an Homematic angebunden habe. Mit ROLLO will ich nun die einzelnen Kanäle / Tasten des Gurtwicklers steuern.

Eine kleine "Besonderheit" ist, dass ich "type=HomeKit" konfiguriert habe, damit ROLLO wie meine "nativen" Homematic Rollläden bei 0% "zu" ist.

Die Steuerung des Rollos direkt über den HM-MOD-Re-8 funktioniert einwandfrei.

Via ROLLO wird meist erst der zweite Tastendruck angenommen, es wird als "drive-type" immer "extern" gezeigt und auch sonst verhält sich die Steuerung völlig verquert.

Ich habe hier mal ein Log von ein paar Versuchen, den geschlossenen Rollo zu öffnen und danach wieder zu schließen:

2016-10-20_19:31:11 ScZi_RolloMod command: open
2016-10-20_19:31:11 ScZi_RolloMod desired_position: 0
2016-10-20_19:31:11 ScZi_RolloMod last_drive: drive-up
2016-10-20_19:31:11 ScZi_RolloMod drive-up
2016-10-20_19:31:19 ScZi_RolloMod position: 66.6666666666667
2016-10-20_19:31:20 ScZi_RolloMod position: 66.6666666666667
2016-10-20_19:31:21 ScZi_RolloMod command: stop
2016-10-20_19:31:21 ScZi_RolloMod drive-type: na
2016-10-20_19:31:21 ScZi_RolloMod position-30
2016-10-20_19:31:30 ScZi_RolloMod command: open
2016-10-20_19:31:30 ScZi_RolloMod desired_position: 0
2016-10-20_19:31:30 ScZi_RolloMod last_drive: drive-up
2016-10-20_19:31:30 ScZi_RolloMod drive-up
2016-10-20_19:31:30 ScZi_RolloMod drive-type: modul
2016-10-20_19:31:30 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:31:30 ScZi_RolloSteuerung_Sw_01 set_on-for-timer 0.25
2016-10-20_19:31:31 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:31:31 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:31:31 ScZi_RolloSteuerung aesCommToDev: ok
2016-10-20_19:31:31 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:31:31 ScZi_RolloSteuerung_Sw_01 deviceMsg: on (to hm_VCCU)
2016-10-20_19:31:31 ScZi_RolloSteuerung_Sw_01 level: 100
2016-10-20_19:31:31 ScZi_RolloSteuerung_Sw_01 pct: 100
2016-10-20_19:31:31 ScZi_RolloSteuerung_Sw_01 on
2016-10-20_19:31:31 ScZi_RolloSteuerung_Sw_01 timedOn: running
2016-10-20_19:31:32 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:31:32 ScZi_RolloSteuerung_Sw_01 set_off
2016-10-20_19:31:34 ScZi_RolloSteuerung_Sw_01 deviceMsg: off (to hm_VCCU)
2016-10-20_19:31:34 ScZi_RolloSteuerung_Sw_01 level: 0
2016-10-20_19:31:34 ScZi_RolloSteuerung_Sw_01 pct: 0
2016-10-20_19:31:34 ScZi_RolloSteuerung_Sw_01 off
2016-10-20_19:31:34 ScZi_RolloSteuerung_Sw_01 timedOn: off
2016-10-20_19:31:38 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:31:38 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:31:39 ScZi_RolloSteuerung ResndFail
2016-10-20_19:31:39 ScZi_RolloSteuerung CMDs_done_Errors:1
2016-10-20_19:31:39 ScZi_RolloSteuerung MISSING ACK
2016-10-20_19:31:39 ScZi_RolloMod position: 25
2016-10-20_19:31:40 ScZi_RolloMod position: 25
2016-10-20_19:31:41 ScZi_RolloMod command: stop
2016-10-20_19:31:41 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:31:41 ScZi_RolloSteuerung_Sw_03 set_on-for-timer 0.25
2016-10-20_19:31:41 ScZi_RolloMod position-70
2016-10-20_19:31:43 ScZi_RolloMod position-70
2016-10-20_19:31:45 ScZi_RolloMod position-70
2016-10-20_19:31:48 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:31:48 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:31:48 ScZi_RolloMod position-70
2016-10-20_19:31:48 ScZi_RolloSteuerung ResndFail
2016-10-20_19:31:48 ScZi_RolloSteuerung CMDs_done_Errors:1
2016-10-20_19:31:48 ScZi_RolloSteuerung MISSING ACK
2016-10-20_19:31:52 ScZi_RolloMod command: closed
2016-10-20_19:31:52 ScZi_RolloMod desired_position: 100
2016-10-20_19:31:52 ScZi_RolloMod last_drive: drive-down
2016-10-20_19:31:52 ScZi_RolloMod drive-down
2016-10-20_19:31:53 ScZi_RolloMod drive-type: modul
2016-10-20_19:31:53 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:31:53 ScZi_RolloSteuerung_Sw_02 set_on-for-timer 0.25
2016-10-20_19:31:53 ScZi_RolloMod position: 30.4347826086957
2016-10-20_19:31:54 ScZi_RolloMod position: 30.4347826086957
2016-10-20_19:31:55 ScZi_RolloMod command: closed
2016-10-20_19:31:55 ScZi_RolloMod desired_position: 100
2016-10-20_19:31:55 ScZi_RolloMod last_drive: drive-down
2016-10-20_19:31:55 ScZi_RolloMod drive-down
2016-10-20_19:31:55 ScZi_RolloMod drive-type: modul
2016-10-20_19:31:55 ScZi_RolloSteuerung_Sw_02 set_on-for-timer 0.25
2016-10-20_19:32:01 ScZi_RolloSteuerung ResndFail
2016-10-20_19:32:01 ScZi_RolloSteuerung CMDs_done_Errors:1
2016-10-20_19:32:01 ScZi_RolloSteuerung MISSING ACK
2016-10-20_19:32:02 ScZi_RolloMod position: 65.2173913043478
2016-10-20_19:32:03 ScZi_RolloMod position: 65.2173913043478
2016-10-20_19:32:04 ScZi_RolloMod command: closed
2016-10-20_19:32:04 ScZi_RolloMod desired_position: 100
2016-10-20_19:32:04 ScZi_RolloMod last_drive: drive-down
2016-10-20_19:32:04 ScZi_RolloMod drive-down
2016-10-20_19:32:05 ScZi_RolloMod drive-type: modul
2016-10-20_19:32:05 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:32:05 ScZi_RolloSteuerung_Sw_02 set_on-for-timer 0.25
2016-10-20_19:32:06 ScZi_RolloMod position: 73.9130434782609
2016-10-20_19:32:07 ScZi_RolloMod position: 73.9130434782609
2016-10-20_19:32:08 ScZi_RolloMod command: stop
2016-10-20_19:32:08 ScZi_RolloSteuerung_Sw_03 set_on-for-timer 0.25
2016-10-20_19:32:08 ScZi_RolloMod position-30
2016-10-20_19:32:14 ScZi_RolloSteuerung ResndFail
2016-10-20_19:32:14 ScZi_RolloSteuerung CMDs_done_Errors:1
2016-10-20_19:32:14 ScZi_RolloSteuerung MISSING ACK
2016-10-20_19:32:14 ScZi_RolloMod command: closed
2016-10-20_19:32:14 ScZi_RolloMod desired_position: 100
2016-10-20_19:32:14 ScZi_RolloMod last_drive: drive-down
2016-10-20_19:32:14 ScZi_RolloMod drive-down
2016-10-20_19:32:15 ScZi_RolloMod drive-type: modul
2016-10-20_19:32:15 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:32:15 ScZi_RolloSteuerung_Sw_02 set_on-for-timer 0.25
2016-10-20_19:32:23 ScZi_RolloMod closed
2016-10-20_19:32:27 ScZi_RolloSteuerung ResndFail
2016-10-20_19:32:27 ScZi_RolloSteuerung CMDs_done_Errors:1
2016-10-20_19:32:27 ScZi_RolloSteuerung MISSING ACK
2016-10-20_19:32:31 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:32:31 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:32:35 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:32:35 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:32:38 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:32:38 ScZi_RolloSteuerung_Sw_02 deviceMsg: off (to hm_VCCU)
2016-10-20_19:32:38 ScZi_RolloSteuerung_Sw_02 level: 0
2016-10-20_19:32:38 ScZi_RolloSteuerung_Sw_02 pct: 0
2016-10-20_19:32:38 ScZi_RolloSteuerung_Sw_02 off
2016-10-20_19:32:38 ScZi_RolloSteuerung_Sw_02 timedOn: off
2016-10-20_19:32:44 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:32:44 ScZi_RolloSteuerung_Sw_03 deviceMsg: off (to hm_VCCU)
2016-10-20_19:32:44 ScZi_RolloSteuerung_Sw_03 level: 0
2016-10-20_19:32:44 ScZi_RolloSteuerung_Sw_03 pct: 0
2016-10-20_19:32:44 ScZi_RolloSteuerung_Sw_03 off
2016-10-20_19:32:44 ScZi_RolloSteuerung_Sw_03 timedOn: off
2016-10-20_19:32:51 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:32:51 ScZi_RolloMod drive-type: extern
2016-10-20_19:32:51 ScZi_RolloMod command: open
2016-10-20_19:32:51 ScZi_RolloMod desired_position: 0
2016-10-20_19:32:51 ScZi_RolloMod last_drive: drive-up
2016-10-20_19:32:51 ScZi_RolloMod drive-up
2016-10-20_19:32:52 dif_ScZi_RolloExtern_auf cmd_nr: 1
2016-10-20_19:32:52 dif_ScZi_RolloExtern_auf cmd: 1
2016-10-20_19:32:52 dif_ScZi_RolloExtern_auf cmd_event: ScZi_RolloSteuerung_Sw_06
2016-10-20_19:32:52 dif_ScZi_RolloExtern_auf extern auf
2016-10-20_19:32:51 ScZi_RolloSteuerung_Sw_06 deviceMsg: on (to hm_VCCU)
2016-10-20_19:32:51 ScZi_RolloSteuerung_Sw_06 level: 100
2016-10-20_19:32:51 ScZi_RolloSteuerung_Sw_06 pct: 100
2016-10-20_19:32:51 ScZi_RolloSteuerung_Sw_06 on
2016-10-20_19:32:51 ScZi_RolloSteuerung_Sw_06 timedOn: off
2016-10-20_19:32:52 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:32:52 ScZi_RolloSteuerung_Sw_06 set_off
2016-10-20_19:32:53 ScZi_RolloMod drive-type: extern
2016-10-20_19:32:53 ScZi_RolloMod position: 95.8333333333333
2016-10-20_19:32:54 ScZi_RolloMod position: 95.8333333333333
2016-10-20_19:32:55 ScZi_RolloMod command: stop
2016-10-20_19:32:55 ScZi_RolloMod drive-type: na
2016-10-20_19:32:55 ScZi_RolloMod closed
2016-10-20_19:33:00 dif_ScZi_RolloExtern_zu cmd_nr: 2
2016-10-20_19:33:00 dif_ScZi_RolloExtern_zu cmd: 2
2016-10-20_19:33:00 dif_ScZi_RolloExtern_zu cmd_event: ScZi_RolloSteuerung_Sw_07
2016-10-20_19:33:00 dif_ScZi_RolloExtern_zu extern stop
2016-10-20_19:32:53 ScZi_RolloSteuerung_Sw_07 deviceMsg: on (to hm_VCCU)
2016-10-20_19:32:53 ScZi_RolloSteuerung_Sw_07 level: 100
2016-10-20_19:32:53 ScZi_RolloSteuerung_Sw_07 pct: 100
2016-10-20_19:32:53 ScZi_RolloSteuerung_Sw_07 on
2016-10-20_19:32:53 ScZi_RolloSteuerung_Sw_07 timedOn: off
2016-10-20_19:33:00 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:33:00 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:33:00 ScZi_RolloSteuerung aesCommToDev: ok
2016-10-20_19:33:00 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:33:00 ScZi_RolloSteuerung_Sw_06 deviceMsg: off (to hm_VCCU)
2016-10-20_19:33:00 ScZi_RolloSteuerung_Sw_06 level: 0
2016-10-20_19:33:00 ScZi_RolloSteuerung_Sw_06 pct: 0
2016-10-20_19:33:00 ScZi_RolloSteuerung_Sw_06 off
2016-10-20_19:33:00 ScZi_RolloSteuerung_Sw_06 timedOn: off
2016-10-20_19:33:00 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:33:01 ScZi_RolloSteuerung_Sw_07 set_off
2016-10-20_19:33:01 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:33:01 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:33:02 ScZi_RolloSteuerung aesCommToDev: ok
2016-10-20_19:33:02 ScZi_RolloSteuerung_Sw_06 deviceMsg: off (to hm_VCCU)
2016-10-20_19:33:02 ScZi_RolloSteuerung_Sw_06 level: 0
2016-10-20_19:33:02 ScZi_RolloSteuerung_Sw_06 pct: 0
2016-10-20_19:33:02 ScZi_RolloSteuerung_Sw_06 off
2016-10-20_19:33:02 ScZi_RolloSteuerung_Sw_06 timedOn: off
2016-10-20_19:33:02 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:33:02 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:33:02 ScZi_RolloSteuerung aesCommToDev: ok
2016-10-20_19:33:02 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:33:03 ScZi_RolloSteuerung_Sw_07 deviceMsg: off (to hm_VCCU)
2016-10-20_19:33:03 ScZi_RolloSteuerung_Sw_07 level: 0
2016-10-20_19:33:03 ScZi_RolloSteuerung_Sw_07 pct: 0
2016-10-20_19:33:03 ScZi_RolloSteuerung_Sw_07 off
2016-10-20_19:33:03 ScZi_RolloSteuerung_Sw_07 timedOn: off
2016-10-20_19:33:14 global DELETEATTR ScZi_RolloMod commandStopDown
2016-10-20_19:33:22 global DELETEATTR ScZi_RolloMod commandStopUp
2016-10-20_19:33:38 ScZi_RolloMod command: closed
2016-10-20_19:33:38 ScZi_RolloMod desired_position: 100
2016-10-20_19:33:38 ScZi_RolloMod last_drive: drive-down
2016-10-20_19:33:38 ScZi_RolloMod drive-down
2016-10-20_19:33:38 ScZi_RolloMod drive-type: modul
2016-10-20_19:33:38 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:33:38 ScZi_RolloSteuerung_Sw_02 set_on-for-timer 0.25
2016-10-20_19:33:39 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:33:39 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:33:39 ScZi_RolloSteuerung aesCommToDev: ok
2016-10-20_19:33:39 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:33:39 ScZi_RolloSteuerung_Sw_02 deviceMsg: on (to hm_VCCU)
2016-10-20_19:33:39 ScZi_RolloSteuerung_Sw_02 level: 100
2016-10-20_19:33:39 ScZi_RolloSteuerung_Sw_02 pct: 100
2016-10-20_19:33:39 ScZi_RolloSteuerung_Sw_02 on
2016-10-20_19:33:39 ScZi_RolloSteuerung_Sw_02 timedOn: running
2016-10-20_19:33:40 ScZi_RolloSteuerung CMDs_pending
2016-10-20_19:33:40 ScZi_RolloSteuerung_Sw_02 set_off
2016-10-20_19:33:41 ScZi_RolloMod closed
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 deviceMsg: off (to hm_VCCU)
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 level: 0
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 pct: 0
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 off
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 timedOn: off
2016-10-20_19:33:45 ScZi_RolloSteuerung aesCommToDev: pending
2016-10-20_19:33:45 ScZi_RolloSteuerung aesKeyNbr: 00
2016-10-20_19:33:45 ScZi_RolloSteuerung aesCommToDev: ok
2016-10-20_19:33:45 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 deviceMsg: off (to hm_VCCU)
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 level: 0
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 pct: 0
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 off
2016-10-20_19:33:45 ScZi_RolloSteuerung_Sw_02 timedOn: off
2016-10-20_19:33:45 ScZi_RolloSteuerung CMDs_done
2016-10-20_19:33:45 ScZi_RolloMod drive-type: extern
2016-10-20_19:33:45 ScZi_RolloMod command: closed
2016-10-20_19:33:45 ScZi_RolloMod desired_position: 100


Viele Grüße,
weini

oliv06

#349
English translation for the module / Somfy roller blinds support

Sorry not to speak german at all. Google translation is my (not so good...) friend for understanding most discussions in this forum.

I found the module very interesting but I had some concerns with my current setup:

       
  • it is not english friendly.
  • does not work "as is" with my Somfy RTS roller blind using the RFXTRX module (using the RFXcom hardware, not the CUL which is used by the SOMFY module). Reason is Typ7 is more or less OK, but the 'stop' command has some side effects because if the roller blade is not moving it moves it to a predefined user position
So I made some changes to the module, and hopefully I would like that after testing they are included in the mainstream version:

       
  • translated from german the Readings and operations (and comments inside the code - kept the original ones as well)
  • included an english help (a bit different from the german one which seems outdated)
  • included a 'Typ7' operation which works on my Somfy blades
It works for me but, it implies if included in mainstream version that current users change their roller blinds definition to english (and automations as well if any). It is some work but probably worth it in my opinion to get international users to use (and improve) it. Another option would be to have a fork with a different name but not good in my opinion. What do you think of it ?
I see some improvments for the future:

       
  • Typ7 works but positions are not very good because the "full closed" and "full open" position take a bit longer than expected. The SOMFY module behavior is much more mature
  • Perheaps move the 'stop' Reading to Internal ? Is there a reason why it is a reading?
  • Add on-for-timer ?
Here is modified code if anybody could test it and make suggestions

Please note that the following attributes are lost in existing definitions, and need to be redefined :

       
  • funktionsweise --> operation (probably not the best translation)
  • kanalX --> channelX
and that you need to change contents of webCmd and devStateIcon

HoTi

#350
Zitat von: Marku7 am 19 Oktober 2016, 18:14:07
Hallo,

vorab, ich bin blutiger Anfänger was fhem angeht.
Ich verwende einen Raspberry Pi 3, auf dem fhem bereits läuft. Zusätzlich möchte ich das Ganze in Zukunft noch mit einem Arduino erweitern.

Mein Problem:
Ich habe keine Ahnung wie ich mit diesem Modul 2 gpios (einen für hoch, einen für runter) ansteuern kann.
Ist das überhaupt möglich?
Wenn ja, wie?

Danke für eure Hilfe

gruß Markus


Hallo Markus,

deine Frag hat in erste Linie erstmal nichts mit diesem Modul zu tun. Du musst erstmal die Grundlagen schaffen.
Wenn du einen Arduino Steuern möchtest musst du dich als erstes mal mit FIRMATA und dem FHEM Modul für FIRMATA beschaftigen. Wenn du dann deine Rollos mit FHEM hoch und runter fahren kannst dann kannst du dieses Modul nutzen.

ZitatHallo zusammen!

Also bei mir will das leider einfach nicht funktionieren.

Ich habe einen Rademacher Gurtwickler den ich mit einem HM-MOD-Re-8 an Homematic angebunden habe. Mit ROLLO will ich nun die einzelnen Kanäle / Tasten des Gurtwicklers steuern.

Eine kleine "Besonderheit" ist, dass ich "type=HomeKit" konfiguriert habe, damit ROLLO wie meine "nativen" Homematic Rollläden bei 0% "zu" ist.

Die Steuerung des Rollos direkt über den HM-MOD-Re-8 funktioniert einwandfrei.

Via ROLLO wird meist erst der zweite Tastendruck angenommen, es wird als "drive-type" immer "extern" gezeigt und auch sonst verhält sich die Steuerung völlig verquert.


Hallo weini,

welche Version nutzt du? Poste mal bitte ein LIST von deinem Modul!

PS. Editier mal bitte deine Beitrag der ist extrem lang

Zitat von: oliv06 am 23 Oktober 2016, 12:05:32
English translation for the module / Somfy roller blinds support

Sorry not to speak german at all. Google translation is my (not so good...) friend for understanding most discussions in this forum.

I found the module very interesting but I had some concerns with my current setup:

       
  • it is not english friendly.
  • does not work "as is" with my Somfy RTS roller blind using the RFXTRX module (using the RFXcom hardware, not the CUL which is used by the SOMFY module). Reason is Typ7 is more or less OK, but the 'stop' command has some side effects because if the roller blade is not moving it moves it to a predefined user position
So I made some changes to the module, and hopefully I would like that after testing they are included in the mainstream version:

       
  • translated from german the Readings and operations (and comments inside the code - kept the original ones as well)
  • included an english help (a bit different from the german one which seems outdated)
  • included a 'Typ7' operation which works on my Somfy blades
It works for me but, it implies if included in mainstream version that current users change their roller blinds definition to english (and automations as well if any). It is some work but probably worth it in my opinion to get international users to use (and improve) it. Another option would be to have a fork with a different name but not good in my opinion. What do you think of it ?
I see some improvments for the future:

       
  • Typ7 works but positions are not very good because the "full closed" and "full open" position take a bit longer than expected. The SOMFY module behavior is much more mature
  • Perheaps move the 'stop' Reading to Internal ? Is there a reason why it is a reading?
  • Add on-for-timer ?
Here is modified code if anybody could test it and make suggestions

Please note that the following attributes are lost in existing definitions, and need to be redefined :

       
  • funktionsweise --> operation (probably not the best translation)
  • kanalX --> channelX
and that you need to change contents of webCmd and devStateIcon

Hello oliv06,

Sorry for my bad English.
You still uses an old version of the module. Please switch to the new version on GitHub. If you have improvements to the new version, you can help us. Maybe improves my English  :'( :-[ ;D

https://github.com/RettungsTim/fhem-rollo

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

weini

Zitat
welche Version nutzt du? Poste mal bitte ein LIST von deinem Modul!

PS. Editier mal bitte deine Beitrag der ist extrem lang

Sorry, das list wäre eigentlich mit drin gewesen, der ganze Post ist aber schon abgeschnitten worden.

Hier nochmal das list von ROLLO (aktuelle Version aus github):

Internals:
   NAME       ScZi_RolloMod
   NR         235
   STATE      open
   TYPE       ROLLO
   stoptime   1477282834
   Readings:
     2016-10-24 06:20:07   command         open
     2016-10-24 06:20:07   desired_position 0
     2016-10-24 06:20:07   drive-type      extern
     2016-10-24 06:20:07   last_drive      drive-up
     2016-10-24 06:20:35   position        0
     2016-10-24 06:20:35   state           open
Attributes:
   alias      Schlafzimmer
   autoStop   1
   automatic-enabled on
   blockMode  none
   commandDown set ScZi_RolloSteuerung_Sw_02 on-for-timer 0.25
   commandStop set ScZi_RolloSteuerung_Sw_03 on-for-timer 0.25
   commandUp  set ScZi_RolloSteuerung_Sw_01 on-for-timer 0.25
   devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_10:open position-90:fts_shutter_10:closed position-80:fts_shutter_20:closed position-70:fts_shutter_30:closed position-60:fts_shutter_40:closed position-50:fts_shutter_50:closed position-40:fts_shutter_60:open position-30:fts_shutter_70:open position-20:fts_shutter_80:open position-10:fts_shutter_90:open position-0:fts_shutter_100:closed
   excessBottom 1
   excessTop  1
   group      Rollläden
   isSleepingRoom 1
   resetTime  1
   room       Schlafzimmer
   secondsDown 23
   secondsUp  24
   sortby     10
   switchTime 1
   type       HomeKit
   userattr   isSleepingRoom
   verbose    4
   webCmd     open:closed:stop:position


Und hier noch das list des HM-MOD-Re-8 für die Steuerung:

Internals:
   DEF        35F3DC
   IODev      hmUART
   LASTInputDev hmUART
   MSGCNT     44
   NAME       ScZi_RolloSteuerung
   NOTIFYDEV  global
   NR         222
   NTFY_ORDER 50-ScZi_RolloSteuerung
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 ScZi_RolloSteuerung_Sw_01
   channel_02 ScZi_RolloSteuerung_Sw_02
   channel_03 ScZi_RolloSteuerung_Sw_03
   channel_04 ScZi_RolloSteuerung_Sw_04
   channel_05 ScZi_RolloSteuerung_Sw_05
   channel_06 ScZi_RolloSteuerung_Sw_06
   channel_07 ScZi_RolloSteuerung_Sw_07
   channel_08 ScZi_RolloSteuerung_Sw_08
   hmUART_MSGCNT 44
   hmUART_RAWMSG 040C002721800235F3DCD3AA780106000000B16AAC3F
   hmUART_RSSI -39
   hmUART_TIME 2016-10-24 06:20:08
   lastMsg    No:21 - t:02 s:35F3DC d:D3AA78 0106000000B16AAC3F
   protEvt_AESCom-ok 9 last_at:2016-10-24 06:20:08
   protLastRcv 2016-10-24 06:20:08
   protResnd  2 last_at:2016-10-23 18:16:56
   protSnd    33 last_at:2016-10-24 06:20:07
   protState  CMDs_done
   rssi_at_hmUART max:-36 lst:-39 cnt:26 avg:-38.88 min:-42
   Readings:
     2016-10-17 18:40:27   CommandAccepted yes
     2016-06-12 09:06:30   D-firmware      1.2
     2016-06-12 09:06:30   D-serialNr      MEQ0650064
     2016-10-06 19:56:57   PairedTo        0xD3AA78
     2016-05-28 11:28:56   R-pairCentral   0xD3AA78
     2016-10-06 19:56:57   RegL_00.        02:81 05:40 0A:D3 0B:AA 0C:78 18:00 7F:C9  00:00
     2016-10-24 06:20:08   aesCommToDev    ok
     2016-10-24 06:20:08   aesKeyNbr       00
     2016-10-24 06:20:08   state           CMDs_done
   Helper:
     HM_CMDNR   33
     cSnd       11D3AA7835F3DC0207000000,11D3AA7835F3DC0206000000
     mId        00BE
     rxType     2
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +35F3DC,00,01,00
       nextSend   1477282808.85545
       rxt        0
       vccu       hm_VCCU
       p:
         35F3DC
         00
         01
         00
       prefIO:
         hmUART
     Mrssi:
       mNo        21
       Io:
         hmUART     -37
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       dev        1
       prs        1
     Rssi:
       At_hmuart:
         avg        -38.8846153846154
         cnt        26
         lst        -39
         max        -36
         min        -42
     Shadowreg:
     Tmpl:
Attributes:
   IODev      nanoCULHomeMatic
   IOgrp      hm_VCCU:hmUART
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   1.2
   group      Rollläden
   model      HM-MOD-Re-8
   msgRepeat  1
   room       Schlafzimmer
   serialNr   MEQ0650064
   sortby     20
   subType    switch
   webCmd     getConfig:clear msgEvents


Wie ändere ich denn einen "alten" Post? Die Funktion habe ich schon ein paar mal gesucht aber noch nicht gefunden.

Viele Grüße,
weini

HoTi

#352
Zitat von: weini am 24 Oktober 2016, 08:05:38
Wie ändere ich denn einen "alten" Post? Die Funktion habe ich schon ein paar mal gesucht aber noch nicht gefunden.

Schau mal hier im Anhang. Ein Beispiel von mir.


Dein Problem muss ich mir in der Mittagspause dann noch genau anschauen.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

HoTi

#353
Zitat von: weini am 24 Oktober 2016, 08:05:38
Sorry, das list wäre eigentlich mit drin gewesen, der ganze Post ist aber schon abgeschnitten worden.

Hier nochmal das list von ROLLO (aktuelle Version aus github):
....

Hallo weini,

ich habe versucht deine Anwendungsfall nachzubauen. Ich glaube ich habe dein Problem noch nicht verstanden.

Wenn du das externe Fahren meinst, wirst du natürlich mit einem Taster Probleme bekommen! Welche Zeit soll das Modul dann Zählen, 0.25Sekunden? Wenn du nur Tippst müssen wir uns etwas mit einem Dummy einfallen lassen der solange das Rollo fährt auch auf "on" steht.


Bei mir funktiniert es. Hier mal meine Testumgebung:


define ScZi_RolloMod ROLLO
attr ScZi_RolloMod userattr isSleepingRoom
attr ScZi_RolloMod alias Schlafzimmer
attr ScZi_RolloMod autoStop 1
attr ScZi_RolloMod automatic-enabled on
attr ScZi_RolloMod blockMode none
attr ScZi_RolloMod commandDown set ScZi_RolloSteuerung_Sw_02 on-for-timer 0.25
attr ScZi_RolloMod commandStop set ScZi_RolloSteuerung_Sw_03 on-for-timer 0.25
attr ScZi_RolloMod commandUp set ScZi_RolloSteuerung_Sw_01 on-for-timer 0.25
attr ScZi_RolloMod devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_10:open position-90:fts_shutter_10:closed position-80:fts_shutter_20:closed position-70:fts_shutter_30:closed position-60:fts_shutter_40:closed position-50:fts_shutter_50:closed position-40:fts_shutter_60:open position-30:fts_shutter_70:open position-20:fts_shutter_80:open position-10:fts_shutter_90:open position-0:fts_shutter_100:closed
attr ScZi_RolloMod excessBottom 1
attr ScZi_RolloMod excessTop 1
attr ScZi_RolloMod group Rollläden
attr ScZi_RolloMod isSleepingRoom 1
attr ScZi_RolloMod resetTime 1
attr ScZi_RolloMod room Test
attr ScZi_RolloMod secondsDown 5
attr ScZi_RolloMod secondsUp 5
attr ScZi_RolloMod sortby 10
attr ScZi_RolloMod switchTime 1
attr ScZi_RolloMod type HomeKit
attr ScZi_RolloMod verbose 5
attr ScZi_RolloMod webCmd open:closed:half:stop:position

define ScZi_RolloSteuerung_Sw_01 FS20 dead 01
attr ScZi_RolloSteuerung_Sw_01 dummy 1
attr ScZi_RolloSteuerung_Sw_01 follow-on-for-timer 1
attr ScZi_RolloSteuerung_Sw_01 room Test

define ScZi_RolloSteuerung_Sw_02 FS20 dead 02
attr ScZi_RolloSteuerung_Sw_02 dummy 1
attr ScZi_RolloSteuerung_Sw_02 follow-on-for-timer 1
attr ScZi_RolloSteuerung_Sw_02 room Test

define ScZi_RolloSteuerung_Sw_03 FS20 dead 03
attr ScZi_RolloSteuerung_Sw_03 dummy 1
attr ScZi_RolloSteuerung_Sw_03 follow-on-for-timer 1
attr ScZi_RolloSteuerung_Sw_03 room Test


Und hier mal einen Log fürs runter fahren und dann wieder rauf:


2016-10-24 12:33:49 ROLLO ScZi_RolloMod command: closed
2016-10-24 12:33:49 ROLLO ScZi_RolloMod desired_position: 100
2016-10-24 12:33:49 ROLLO ScZi_RolloMod last_drive: drive-down
2016-10-24 12:33:49 ROLLO ScZi_RolloMod drive-down
2016-10-24 12:33:49 ROLLO ScZi_RolloMod drive-type: modul
2016-10-24 12:33:49 at ScZi_RolloSteuerung_Sw_02_timer Next: 12:33:49
2016-10-24 12:33:49 Global global DEFINED ScZi_RolloSteuerung_Sw_02_timer
2016-10-24 12:33:49 FS20 ScZi_RolloSteuerung_Sw_02 on-for-timer 0.25
2016-10-24 12:33:49 FS20 ScZi_RolloSteuerung_Sw_02 off
2016-10-24 12:33:49 Global global DELETED ScZi_RolloSteuerung_Sw_02_timer
2016-10-24 12:33:57 ROLLO ScZi_RolloMod closed
2016-10-24 12:34:04 ROLLO ScZi_RolloMod command: open
2016-10-24 12:34:04 ROLLO ScZi_RolloMod desired_position: 0
2016-10-24 12:34:04 ROLLO ScZi_RolloMod last_drive: drive-up
2016-10-24 12:34:04 ROLLO ScZi_RolloMod drive-up
2016-10-24 12:34:04 ROLLO ScZi_RolloMod drive-type: modul
2016-10-24 12:34:04 at ScZi_RolloSteuerung_Sw_01_timer Next: 12:34:04
2016-10-24 12:34:04 Global global DEFINED ScZi_RolloSteuerung_Sw_01_timer
2016-10-24 12:34:04 FS20 ScZi_RolloSteuerung_Sw_01 on-for-timer 0.25
2016-10-24 12:34:04 FS20 ScZi_RolloSteuerung_Sw_01 off
2016-10-24 12:34:04 Global global DELETED ScZi_RolloSteuerung_Sw_01_timer
2016-10-24 12:34:12 ROLLO ScZi_RolloMod open
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

weini

Hallo Tim!

Das externe Fahren funktioniert ja wie gewünscht, nur die direkte Steuerung geht nicht.
Ich habe jetzt nochmal mit verbose=5 geloggt und nur eine Aktion herausgepickt.

Der Rollladen ist geben 18:45 per externem Taster heruntergefahren worden, das hat auch sauber fuktioniert.
Hier das list vom Modul nach dem externen Herunterfahren:

Internals:
   NAME       ScZi_RolloMod
   NR         235
   STATE      closed
   TYPE       ROLLO
   stoptime   1477327461
   Readings:
     2016-10-24 18:43:55   command         closed
     2016-10-24 18:43:55   desired_position 100
     2016-10-24 18:43:55   drive-type      extern
     2016-10-24 18:43:55   last_drive      drive-down
     2016-10-24 18:44:21   position        100
     2016-10-24 18:44:21   state           closed
Attributes:
   alias      Schlafzimmer
   autoStop   1
   automatic-enabled on
   blockMode  none
   commandDown set ScZi_RolloSteuerung_Sw_02 on-for-timer 0.25
   commandStop set ScZi_RolloSteuerung_Sw_03 on-for-timer 0.25
   commandUp  set ScZi_RolloSteuerung_Sw_01 on-for-timer 0.25
   devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_10:open position-90:fts_shutter_10:closed position-80:fts_shutter_20:closed position-70:fts_shutter_30:closed position-60:fts_shutter_40:closed position-50:fts_shutter_50:closed position-40:fts_shutter_60:open position-30:fts_shutter_70:open position-20:fts_shutter_80:open position-10:fts_shutter_90:open position-0:fts_shutter_100:closed
   excessBottom 1
   excessTop  1
   group      Rollläden
   isSleepingRoom 1
   resetTime  1
   room       Schlafzimmer
   secondsDown 23
   secondsUp  24
   sortby     10
   switchTime 1
   type       HomeKit
   userattr   isSleepingRoom
   verbose    5
   webCmd     open:closed:stop:position


Nun habe ich um 19:26 versucht, den Rollladen via FHEM wieder hochzufahren. Hier das Log:

2016.10.24 19:26:26.131 5: ROLLO (ScZi_RolloMod) >> Get
2016.10.24 19:27:54.583 5: ROLLO (ScZi_RolloMod) >> Set (open,)
2016.10.24 19:27:54.672 5: ROLLO (ScZi_RolloMod) >> Start
2016.10.24 19:27:54.673 4: ROLLO (ScZi_RolloMod) drive from 100 to 0. command: open. state: closed
2016.10.24 19:27:54.674 4: ROLLO (ScZi_RolloMod) position: 100 -> 0 / direction: up
2016.10.24 19:27:54.675 5: ROLLO (ScZi_RolloMod) >> calculateDriveTime | going up: from 100 to 0
2016.10.24 19:27:54.676 4: ROLLO (ScZi_RolloMod) calculateDriveTime: oldpos=100,newpos=0,direction=up,time=24,steps=100,drivetime=27
2016.10.24 19:27:54.758 4: ROLLO (ScZi_RolloMod) drive-type is extern, not executing driving commands
2016.10.24 19:27:54.759 4: ROLLO (ScZi_RolloMod) stop in 27 seconds.
2016.10.24 19:27:54.855 5: ROLLO (ScZi_RolloMod) >> Get
2016.10.24 19:28:17.894 5: ROLLO (ScZi_RolloMod) >> Get
2016.10.24 19:28:21.006 5: ROLLO (ScZi_RolloMod) >> Timer
2016.10.24 19:28:21.008 5: ROLLO (ScZi_RolloMod) >> Stop
2016.10.24 19:28:21.010 4: ROLLO (ScZi_RolloMod): stops from drive-up at position 0
2016.10.24 19:28:21.010 4: ROLLO (ScZi_RolloMod) drives to end position and autostop is enabled. No stop command executed
2016.10.24 19:28:21.590 5: ROLLO (ScZi_RolloMod) >> Get


Der entscheidende Eintrag ist nach meinem Verständnis drive-type is extern, not executing driving commands. ROLLO denkt, dass extern gesteuert wurde, tatsächlich habe ich die Aktion aber via SET (und nicht via SET EXTERN) ausgelöst.

Ich hoffe, das hilft nochmal beim Eingrenzen.
...und vielen Dank noch für Drübersehen in der Mittagspause!!!

Viele Grüße,
weini

oliv06

Zitat von: HoTi am 24 Oktober 2016, 07:52:50
You still uses an old version of the module. Please switch to the new version on GitHub. If you have improvements to the new version, you can help us. Maybe improves my English  :'( :-[ ;D

https://github.com/RettungsTim/fhem-rollo
Thanks Tim!
The new version seems to answer my needs and concerns without any change to the code ! It is much more flexible than the old one and I will test it soon.
That's a pity that I did not have the courage to go through the whole 23 thread pages in the forum and learnt about this one  :( . At least I have learnt a few words of german when looking at your code  ;)

Could I suggest that :
- first post in the thread is changed in order to link to new version in github
- wiki is changed as well in order to indicate is is related to an old version
It could save other people some time (german as well I suppose).
Thanks a lot !

HoTi

Zitat von: weini am 24 Oktober 2016, 19:42:34
Hallo Tim!

Das externe Fahren funktioniert ja wie gewünscht, nur die direkte Steuerung geht nicht.
Ich habe jetzt nochmal mit verbose=5 geloggt und nur eine Aktion herausgepickt.

Der Rollladen ist geben 18:45 per externem Taster heruntergefahren worden, das hat auch sauber fuktioniert.
Hier das list vom Modul nach dem externen Herunterfahren:

Internals:
   NAME       ScZi_RolloMod
   NR         235
   STATE      closed
   TYPE       ROLLO
   stoptime   1477327461
   Readings:
     2016-10-24 18:43:55   command         closed
     2016-10-24 18:43:55   desired_position 100
     2016-10-24 18:43:55   drive-type      extern
     2016-10-24 18:43:55   last_drive      drive-down
     2016-10-24 18:44:21   position        100
     2016-10-24 18:44:21   state           closed
Attributes:
   alias      Schlafzimmer
   autoStop   1
   automatic-enabled on
   blockMode  none
   commandDown set ScZi_RolloSteuerung_Sw_02 on-for-timer 0.25
   commandStop set ScZi_RolloSteuerung_Sw_03 on-for-timer 0.25
   commandUp  set ScZi_RolloSteuerung_Sw_01 on-for-timer 0.25
   devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_10:open position-90:fts_shutter_10:closed position-80:fts_shutter_20:closed position-70:fts_shutter_30:closed position-60:fts_shutter_40:closed position-50:fts_shutter_50:closed position-40:fts_shutter_60:open position-30:fts_shutter_70:open position-20:fts_shutter_80:open position-10:fts_shutter_90:open position-0:fts_shutter_100:closed
   excessBottom 1
   excessTop  1
   group      Rollläden
   isSleepingRoom 1
   resetTime  1
   room       Schlafzimmer
   secondsDown 23
   secondsUp  24
   sortby     10
   switchTime 1
   type       HomeKit
   userattr   isSleepingRoom
   verbose    5
   webCmd     open:closed:stop:position


Nun habe ich um 19:26 versucht, den Rollladen via FHEM wieder hochzufahren. Hier das Log:

2016.10.24 19:26:26.131 5: ROLLO (ScZi_RolloMod) >> Get
2016.10.24 19:27:54.583 5: ROLLO (ScZi_RolloMod) >> Set (open,)
2016.10.24 19:27:54.672 5: ROLLO (ScZi_RolloMod) >> Start
2016.10.24 19:27:54.673 4: ROLLO (ScZi_RolloMod) drive from 100 to 0. command: open. state: closed
2016.10.24 19:27:54.674 4: ROLLO (ScZi_RolloMod) position: 100 -> 0 / direction: up
2016.10.24 19:27:54.675 5: ROLLO (ScZi_RolloMod) >> calculateDriveTime | going up: from 100 to 0
2016.10.24 19:27:54.676 4: ROLLO (ScZi_RolloMod) calculateDriveTime: oldpos=100,newpos=0,direction=up,time=24,steps=100,drivetime=27
2016.10.24 19:27:54.758 4: ROLLO (ScZi_RolloMod) drive-type is extern, not executing driving commands
2016.10.24 19:27:54.759 4: ROLLO (ScZi_RolloMod) stop in 27 seconds.
2016.10.24 19:27:54.855 5: ROLLO (ScZi_RolloMod) >> Get
2016.10.24 19:28:17.894 5: ROLLO (ScZi_RolloMod) >> Get
2016.10.24 19:28:21.006 5: ROLLO (ScZi_RolloMod) >> Timer
2016.10.24 19:28:21.008 5: ROLLO (ScZi_RolloMod) >> Stop
2016.10.24 19:28:21.010 4: ROLLO (ScZi_RolloMod): stops from drive-up at position 0
2016.10.24 19:28:21.010 4: ROLLO (ScZi_RolloMod) drives to end position and autostop is enabled. No stop command executed
2016.10.24 19:28:21.590 5: ROLLO (ScZi_RolloMod) >> Get


Der entscheidende Eintrag ist nach meinem Verständnis drive-type is extern, not executing driving commands. ROLLO denkt, dass extern gesteuert wurde, tatsächlich habe ich die Aktion aber via SET (und nicht via SET EXTERN) ausgelöst.

Ich hoffe, das hilft nochmal beim Eingrenzen.
...und vielen Dank noch für Drübersehen in der Mittagspause!!!

Viele Grüße,
weini

Ich habe Thomas angeschrieben. Ich stehe auf dem Schlauch... :'( :-[
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

ThomasRamm

Hallo weini,
versuch es mal mit dieser Version: https://github.com/RettungsTim/fhem-rollo/tree/develop/FHEM

Wenn ich dein Log korrekt gelesen habe, hast du autostop=1 gesetzt, damit werden keine stop Befehle vom Modul ausgeführt (da dein rollo automatisch stoppt).
Beim stop wurde aber bisher der status "extern" gelöscht. dadurch ist nach dem externen Fahren dieses attribut nicht zurück gesetzt worden. Habe jetzt ein weiteres zurücksetzen nach dem ausführen des "externen" Befehls eingebaut.
prüf mal mit deiner aktuellen Version ob nach dem externen schalten im Rollo noch das attribut drive-type=extern gesetzt ist.
mit dem update im develop Branch sollte nach dem fahren per externen taster das attribut drive-type=na gesetzt sein

Gruß
Thomas

weini

Hi Thomas!

Bingo, genau das war es! Klappt mit der Dev-Version wunderbar.

Beim Testen ist mir jetzt aber noch etwas aufgefallen. Ich haben das Rollo extern manuell hochgefahren, dann mit SET ... CLOSED heruntergefahren. Der Rollo schließt sich auch komplett, allerdings bleibt der STATE in FHEM auf "Position-10" hängen.

Hier ein list nach dem SET ... CLOSED:

Internals:
   NAME       ScZi_RolloMod
   NR         235
   STATE      position-10
   TYPE       ROLLO
   stoptime   1477587471
   Readings:
     2016-10-27 18:57:46   command         stop
     2016-10-27 18:57:41   desired_position 100
     2016-10-27 18:57:46   drive-type      na
     2016-10-27 18:57:41   last_drive      drive-down
     2016-10-27 18:57:46   position        91.304347826087
     2016-10-27 18:57:47   state           position-10
Attributes:
   alias      Schlafzimmer
   autoStop   1
   automatic-enabled on
   blockMode  none
   commandDown set ScZi_RolloSteuerung_Sw_02 on-for-timer 0.25
   commandStop set ScZi_RolloSteuerung_Sw_03 on-for-timer 0.25
   commandUp  set ScZi_RolloSteuerung_Sw_01 on-for-timer 0.25
   devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_10:open position-90:fts_shutter_10:closed position-80:fts_shutter_20:closed position-70:fts_shutter_30:closed position-60:fts_shutter_40:closed position-50:fts_shutter_50:closed position-40:fts_shutter_60:open position-30:fts_shutter_70:open position-20:fts_shutter_80:open position-10:fts_shutter_90:open position-0:fts_shutter_100:closed
   excessBottom 1
   excessTop  1
   group      Rollläden
   isSleepingRoom 1
   resetTime  1
   room       Schlafzimmer
   secondsDown 23
   secondsUp  24
   sortby     10
   switchTime 1
   type       HomeKit
   userattr   isSleepingRoom
   verbose    4
   webCmd     open:closed:stop:position


Allerdings bin ich mir nicht sicher, ob mir meine DOIFs nicht in die Queere kommen:

Internals:
   DEF        ([ScZi_RolloSteuerung_Sw_06] eq "on" and [ScZi_RolloMod] !~ "drive") (set ScZi_RolloMod extern open) DOELSEIF ([ScZi_RolloSteuerung_Sw_06] eq "on" and [ScZi_RolloMod] =~ "drive") (set ScZi_RolloMod extern stop)
   NAME       dif_ScZi_RolloExtern_auf
   NR         236
   NTFY_ORDER 50-dif_ScZi_RolloExtern_auf
   STATE      extern stop
   TYPE       DOIF
   Readings:
     2016-10-27 18:57:47   Device          ScZi_RolloMod
     2016-10-27 18:57:12   cmd             2
     2016-10-27 18:57:12   cmd_event       ScZi_RolloSteuerung_Sw_06
     2016-10-27 18:57:12   cmd_nr          2
     2016-10-27 18:57:47   e_ScZi_RolloMod_STATE position-10
     2016-10-27 18:57:14   e_ScZi_RolloSteuerung_Sw_06_STATE off
     2016-10-27 18:57:12   state           extern stop
   Condition:
     0          InternalDoIf($hash,'ScZi_RolloSteuerung_Sw_06','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on" and InternalDoIf($hash,'ScZi_RolloMod','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) !~ "drive"
     1          InternalDoIf($hash,'ScZi_RolloSteuerung_Sw_06','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on" and InternalDoIf($hash,'ScZi_RolloMod','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) =~ "drive"
   Devices:
     0           ScZi_RolloSteuerung_Sw_06 ScZi_RolloMod
     1           ScZi_RolloSteuerung_Sw_06 ScZi_RolloMod
     all         ScZi_RolloSteuerung_Sw_06 ScZi_RolloMod
   Do:
     0:
       0          set ScZi_RolloMod extern open
     1:
       0          set ScZi_RolloMod extern stop
     2:
   Helper:
     event      position-10
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   ScZi_RolloSteuerung_Sw_06
     timerevent deviceMsg: on (to hm_VCCU),level: 100,pct: 100,on,timedOn: off
     triggerDev ScZi_RolloMod
     timerevents:
       deviceMsg: on (to hm_VCCU)
       level: 100
       pct: 100
       on
       timedOn: off
     timereventsState:
       deviceMsg: on (to hm_VCCU)
       level: 100
       pct: 100
       state: on
       timedOn: off
     triggerEvents:
       position-10
     triggerEventsState:
       state: position-10
   Internals:
     0           ScZi_RolloSteuerung_Sw_06:STATE ScZi_RolloMod:STATE
     1           ScZi_RolloSteuerung_Sw_06:STATE ScZi_RolloMod:STATE
     all         ScZi_RolloSteuerung_Sw_06:STATE ScZi_RolloMod:STATE
   Itimer:
   Readings:
   Regexp:
     0:
     1:
     All:
   State:
   Trigger:
Attributes:
   cmdState   extern auf|extern stop
   do         always
   room       Schlafzimmer

Ist es im aktuellen ROLLO noch ok, auf "drive" zu prüfen?

Ich werde zum Testen die DOIFs nochmal deaktivieren.
Auf jeden Fall schon mal vielen Dank für den Fix!

Viele Grüße,
weini

weini

Ja, das gerade geschildete Problem liegt definitiv an den DOIFs.

Frage ist, wie ich die Bedingung am sinnvollsten formuliere. Wann wird den "drive-type" wieder auf NA gesetzt, wenn über das Modul gesteuert wird?
Wenn das bis zum Ende der Fahrt auf "modul" bleiben würde, dann könnte ich es als Indikator für eine interne Fahrt nutzen.