Rademacher DuoFern USB Stick

Begonnen von Telekatz, 16 August 2015, 16:19:46

Vorheriges Thema - Nächstes Thema

suchmich1983

2022-06-22 09:35:54 DUOFERN Taster_EG_Rollos channel01: pressed
2022-06-22 09:36:07 DUOFERN Taster_EG_Rollos Btn1A.03
2022-06-22 09:36:07 DUOFERN Taster_EG_Rollos channel03: pressed
2022-06-22 09:36:17 DUOFERN Taster_EG_Rollos Btn1A.04
2022-06-22 09:36:17 DUOFERN Taster_EG_Rollos channel04: pressed
2022-06-22 09:36:24 DUOFERN Taster_EG_Rollos Btn1A.04
2022-06-22 09:36:24 DUOFERN Taster_EG_Rollos channel04: pressed
2022-06-22 09:36:27 DUOFERN Taster_EG_Rollos Btn1A.04
2022-06-22 09:36:27 DUOFERN Taster_EG_Rollos channel04: pressed


So sieht das dann im Eventmonitor aus. Button 1 und 3 klappen wunderbar. Button 4 wird gedrückt und 3 Sekunden später noch mal, obwohl am Schalter selbst nichts gedrückt wird!

suchmich1983

2022.06.22 10:43:43 4: Rademacher: rx  -> 0f01071a000001040000000004001cad2c576f2b3c00
2022.06.22 10:43:43 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:43:43 4: Rademacher: snd -> 0D01070200000000000000000000006F2B3C49E32900
2022.06.22 10:43:44 4: Rademacher: rx  -> 810003cc00000000000000000000006f2b3c49e32900
2022.06.22 10:43:44 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:43:45 4: Rademacher: rx  -> 0f01071a000001040000000004001cad2c576f2b3c00
2022.06.22 10:43:45 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:43:45 4: Rademacher: snd -> 0D01070200000000000000000000006F2B3C49E32900
2022.06.22 10:43:45 4: Rademacher: rx  -> 810003cc00000000000000000000006f2b3c49e32900
2022.06.22 10:43:45 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:43:48 4: Rademacher: rx  -> 0fff0f246000a203d732000014000d49e329ffffff01
2022.06.22 10:43:48 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:43:50 4: Rademacher: rx  -> 0fff112014001148f609809180f80d49e329ffffff01
2022.06.22 10:43:50 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:44:04 4: Rademacher: rx  -> 0f01071a000001040000000004001cad2c576f2b3c00
2022.06.22 10:44:04 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:44:04 4: Rademacher: snd -> 0D01070700550000000000000000006F2B3C49E32900
2022.06.22 10:44:07 4: Rademacher: rx  -> 810100bb00000000000000000000006f2b3c49e32900
2022.06.22 10:44:07 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:44:07 4: Rademacher: rx  -> 12010707005500000000000000000d49e3296f2b3c02
2022.06.22 10:44:07 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:44:07 3: Rademacher: Unknown code 12010707005500000000000000000D49E3296F2B3C02, help me!
2022.06.22 10:44:14 4: Rademacher: rx  -> 0f01071a000001040000000004001cad2c576f2b3c00
2022.06.22 10:44:14 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:44:14 4: Rademacher: snd -> 0D01070200000000000000000000006F2B3C49E32900
2022.06.22 10:44:14 4: Rademacher: rx  -> 810003cc00000000000000000000006f2b3c49e32900
2022.06.22 10:44:14 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:44:17 4: Rademacher: rx  -> 0fff0f246000a203d732003814000d49e329ffffff01
2022.06.22 10:44:17 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:44:17 4: Rademacher: rx  -> 0fff11206c381188b6098a9180f80d49e329ffffff01
2022.06.22 10:44:17 4: Rademacher: snd -> 81000000000000000000000000000000000000000000
2022.06.22 10:44:19 4: Rademacher: rx  -> 0fff0f246000a203d732003814000d49e329ffffff01
2022.06.22 10:44:19 4: Rademacher: snd -> 81000000000000000000000000000000000000000000


Anbei auch noch mal nen Auszug auf dem Log mit verbose = 4 vom Stick

suchmich1983

Keiner ne Idee wieso das passiert?

thomas

Hallo Telekatz, hallo *,

laut Beschreibung der Fa. Rademacher gibt es die Möglichkeit beim Bewegungsmelder den Sensor und den Aktor voneinander zu trennen. Ist dies über das FHEM-Modul auch möglich? Ich habe leider keinen Befehl dazu gefunden.

Viele Grüße
Thomas

P.S.: Vielen Dank @Telekatz für die Erstellung und Pflege des Moduls!

Telekatz

Nein, das ist mit dem FHEM Modul nicht möglich. Als ich den Bewegungsmelder integriert habe, hat das auch mit dem Homepilot nicht funktioniert. Deshalb konnte ich nicht den dazu notwendigen Befehl ermitteln.

dennisk

Hallo zusammen,

ich verwende den DUOFERN USB Stick für die Steuerung von zwei Gurtwicklern Rollotron Standard. Funktioniert soweit auch alles perfekt. Mir ist nur eine Sache aufgefallen: Sobald ich den Gurtwickler über FHEM in Bewegung setze, dann erscheint bei moving up oder down nur ganz kurz, vielleicht 1 Sekunde. Obwohl der Gurtwickler nach wie vor noch läuft, steht nun in moving trotzdem schon stop. Das bedeutet, man kann in FHEM nicht sicher bestimmen, ob der Gurtwickler gerade aktiv ist. Grundsätzlich scheint es aber ja zu gehen, da es ja kurz angezeigt wird. Ist das ein allgemein bekanntes Problem, oder hab ich vielleicht etwas falsch konfiguriert?

Hier mal das list eines Gurtwicklers:

Internals:
   CODE       403087
   DEF        403087
   DKRademacher_MSGCNT 99
   DKRademacher_RAWMSG 0FFF0F210908500000003200130000403087FFFFFF01
   DKRademacher_TIME 2022-10-16 18:18:27
   FUUID      62c17d06-f33f-6591-d977-30d9ef1a59a00388
   IODev      DKRademacher
   LASTInputDev DKRademacher
   MODEL      RolloTron Standard
   MSGCNT     99
   NAME       DUOFERN_403087
   NR         257
   STATE      0 stop
   SUBTYPE    RolloTron Standard
   TYPE       DUOFERN
   eventCount 141
   READINGS:
     2022-10-16 15:21:45   IODev           DKRademacher
     2022-10-16 18:18:27   dawnAutomatic   on
     2022-10-16 18:18:27   duskAutomatic   on
     2022-10-16 18:18:27   manualMode      off
     2022-10-16 18:18:27   moving          stop
     2022-10-16 18:18:27   position        0
     2022-10-16 18:18:27   state           opened
     2022-10-16 18:18:27   sunAutomatic    off
     2022-10-16 18:18:27   sunMode         off
     2022-10-16 18:18:27   sunPosition     50
     2022-10-16 18:18:27   timeAutomatic   on
     2022-10-16 18:18:27   ventilatingMode off
     2022-10-16 18:18:27   ventilatingPosition 80
     2022-10-16 18:18:27   version         1.3
   helper:
     bm:
       DUOFERN_Set:
         cnt        335
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.10. 17:51:44
         max        0.116387128829956
         tot        7.61549305915833
         mAr:
           HASH(0x55935e0d80)
           DUOFERN_403087
           position
           0
Attributes:
   alias      Balkon links
   devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_window_2w:toggle 1\d.stop:fts_shutter_10:toggle 2\d.stop:fts_shutter_20:toggle 3\d.stop:fts_shutter_30:toggle 4\d.stop:fts_shutter_40:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_60:toggle 7\d.stop:fts_shutter_70:toggle 8\d.stop:fts_shutter_80:toggle 9\d.stop:fts_shutter_90:toggle 100.stop:fts_shutter_100:toggle
   icon       door_shutter_70
   room       Rolläden
   stateFormat position moving
   webCmd     position


Vielen Dank schon mal.

Telekatz

Das Reading moving kommt nicht vom Aktor sondern wird im Modul berechnet. Dabei wird angenommen, dass der Aktor sich nach einem Befehl so lange bewegt, bis der Aktor seinen Status zurückmeldet. Möglicherweise senden aktuelle Aktoren bereits beim losfahren ihren Status zurück und dann nochmal am Ende. Dann funktioniert die Berechnung nicht mehr.

Du müsstest mal im Eventlog schauen, wie oft der Aktor bei einem Befehl seinen Status sendet.

dennisk

Danke für die Rückmeldung.
Hab grade mal geschaut, was im Event-Log steht, wenn ich den Rolladen hochfahre:

2022-10-16 21:23:20 DUOFERN DUOFERN_403087 moving: up
2022-10-16 21:23:20 DUOFERNSTICK DKRademacher 1 CMDs_pending
2022-10-16 21:23:20 DUOFERN DUOFERN_403087 set_position 92
2022-10-16 21:23:21 DUOFERNSTICK DKRademacher CMDs_done
2022-10-16 21:23:22 DOIF HABridge_Sync_Rolladen_Balkon_links cmd_event: DUOFERN_403087
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 95
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 dawnAutomatic: on
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 sunPosition: 50
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 duskAutomatic: on
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 timeAutomatic: on
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 moving: stop
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 ventilatingPosition: 80
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 sunAutomatic: off
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 position: 95
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 ventilatingMode: off
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 sunMode: off
2022-10-16 21:23:22 DUOFERN DUOFERN_403087 manualMode: off
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 91
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 sunMode: off
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 manualMode: off
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 ventilatingMode: off
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 position: 91
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 sunAutomatic: off
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 moving: stop
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 timeAutomatic: on
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 ventilatingPosition: 80
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 duskAutomatic: on
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 dawnAutomatic: on
2022-10-16 21:23:25 DUOFERN DUOFERN_403087 sunPosition: 50

Telekatz

Ist so, wie ich vermutet habe. Da kommt gleich nach dem position Befehl schon der Status zurück. Und damit wird das moving Reading zurückgesetzt.

dennisk

Danke für die Einschätzung.
Ich habe mal einen Blick in den Code geworfen, konnte aber noch keinen richtigen Ansatz finden.
Die Stelle, an der moving auf up oder down gesetzt wird, konnte ich finden:

    if ($cmd eq "position") {
      if ($arg > $position) {
        readingsSingleUpdate($hash, "moving", "down", 1);
      } elsif ($arg < $position) {
        readingsSingleUpdate($hash, "moving", "up", 1);
      } else {
        readingsSingleUpdate($hash, "moving", "stop", 1);
      }
      $hash->{helper}{desiredPosition} = $arg;
    }

Aber die Stelle, wo die Status-Updates verarbeitet werden noch nicht. Hast Du einen Tipp für mich? Oder eine Idee, wie man das implementieren könnte/sollte?
Noch als Zusatz-Info, der Rollotron Standard meldet nach meiner Beobachtung nur einmal nach Bewegungsstart und dann erst wieder, wenn er gestoppt hat. Trivial wäre also vielleicht auch sowas möglich wie: ignoriere die erste Statusmeldung direkt nach Kommando und berücksichtige die nächste Statusmeldung. Ob das aber eine annehmbare Lösung wäre, ohne Seiteneffekte, kann ich nicht einschätzen.

Telekatz

Die Status Updates werden ab Zeile 979 verarbeitet.

Die erste Statusmeldung nach einem Befehl zu ignorieren ist meiner Meinung nach keine annehmbare Lösung. Keiner meiner Aktoren sendet den Status zurück, bevor der Befehl auch abgeschlossen wurde. Dass nach einem Befehl zwei Statusmeldungen zurückkommen habe ich bisher noch nie beobachten können.

Aeroschmelz

Hallo,

ich bin mir nicht ganz sicher, ob dieses Gerät vom Modul unterstützt wird:

https://www.rademacher.de/shop/rollladen-sonnenschutz/fernbedienung/duofern-handsender-standard-6-kanal-9491

Jedenfalls habe ich es in FHEM definiert, aber ich sehe keine Events, wenn ich die Tasten drücke:


Internals:
   CFGFN     
   CODE       A00517
   DEF        A00517
   FUUID      6370e146-f33f-0756-eef3-c14af02e9bc59d46
   IODev      Rademacher
   MODEL      Handsender (6 Gruppen-48 Geraete)
   NAME       WZ_Handsender
   NR         738
   STATE      ???
   SUBTYPE    Handsender (6 Gruppen-48 Geraete)
   TYPE       DUOFERN
   READINGS:
     2022-11-13 13:21:26   IODev           Rademacher
Attributes:


In diesem Thread sind zwar einige Einträge zu dem Gerät, aber ich bin mir nicht sicher, ob das unterstütz wird. Danke für eine Antwort.

Viele Grüsse
Marcus


Telekatz

Sollte eigentlich unterstützt werden. Hast du im Event monitor geschaut, ob da die Events erscheinen?

Aeroschmelz

#1123
Hallo,

eben noch einmal getestet, da kommt irgendwie nichts.... Habe im Stick auch schon verbose 5 eingestellt, leider gibt es hier zu viele Rademacher Devices, die nicht zu mir gehören ;-(

Seltsamerweise kann ich aber auch kein SET ausführen.


VG
Marcus


Telekatz

Handsender haben kein SET, weil die nur Befehle senden, aber keine Befehle empfangen können.

Für ein LOG reicht es, verbose 4 am Stick einzuschalten, ein paar Tasten am Handsender zu drücken, und dann verbose wieder zurückzustellen.