Fernbedienung HM-RC-Dis-H-x-EU: Scheint das System "einzufrieren"

Begonnen von MiWe58, 08 November 2015, 13:13:40

Vorheriges Thema - Nächstes Thema

MiWe58

Hallo,
seit einiger Zeit komme ich wieder dazu, meine Fhem / Homematic Installation zu erweitern. Zu diesem Zweck habe ich mir unter anderem die Fernbedienung HM-RC-Dis-H-x-EU mit Display und Drehknopf zugelegt. Vor der Inbetriebnahme habe ich im Wiki und hier im Forum recherchiert.

Bei der Inbetriebnahme kämpfe ich nun mit einem Phänomen, welches ich mir nicht erklären kann. Zum besseren Verständnis beschreibe ich meine Vorgehensweise:

Als Vorbereitung habe ich meine Installation um die "vccu" erweitert. Zum einen, weil mich die Funktion sofort überzeugt hat und zum Anderen, weil ich die vccu auch für die Umsetzung der Fernsteuerungsbefehle nutzen möchte, so dass in einer finalen Ausbaustufe "beliebige" Fhem Kommandos oder Sequenzen ausgelöst werden können.

Die Fernbedienung wurde einwandfrei gepaired, was aus den Readings erkennbar ist.

Das Prinzip, nach dem ich die Verbindung zwischen Fernbedienung und Schaltsequenz realisiert habe ist folgendes:

1. Fernbedienung mit vccu verbinden:
Fernbedienung-Kanal wird mit vccu-Btn gepeered: set Remote_B01 peerChan 1 vccu_Btn1 singlel set
Fernbedienung Beschriftung setzen: set Remote_B01 text Zeile1 Zeile2

2. In Abhängigkeit des Fernbedinungsbefehls eine Aktion ausführen
define Remote01.S.N notify Remote_B01:Short.* set Rollo Hoch   #Rollo hoch bei kurzem Druck
define Remote01.L.N notify Remote_B01:Long.* set Rollo Runter #Rollo runter bei langem Druck

Nach der Betätigung der Fernbedienung verhält sich das System wie folgt:

Die Oberfläche im Browser scheint eingefroren.
Der angesteuerte Aktor, in diesem Fall das Rollo, werden über einen langen Zeitraum ( 15-20 Minuten) ständig in einer Frequenz von ca 30 Sekunden angesteuert (Schalten des Relais)
Der Browser signalisiert, dass er "ständig" lädt.
Umschaltungen z.B. zu einem anderen Fhem-Raum werden nicht ausgeführt.

Dieser Zustand kann offenbar nur noch durch ein sudo reboot am RasPi verlassen werden.

Das Logfile der Fernbedienung zeigt, dass Trotz jeweils einmaligem Drückens, "unmengen" an Einträgen generiert werden:
2015-11-08_12:12:51 Remote Remote_B01 Short
2015-11-08_12:12:54 Remote battery: ok
2015-11-08_12:12:54 Remote CMDs_done
2015-11-08_12:12:54 Remote Remote_B01 Short
2015-11-08_12:12:59 Remote battery: ok
2015-11-08_12:12:59 Remote Remote_B01 LongRelease
2015-11-08_12:13:02 Remote battery: ok
2015-11-08_12:13:02 Remote Remote_B01 LongRelease
2015-11-08_12:13:04 Remote battery: ok
2015-11-08_12:13:04 Remote Remote_B01 LongRelease
2015-11-08_12:13:07 Remote battery: ok
2015-11-08_12:13:07 Remote Remote_B01 LongRelease
2015-11-08_12:13:10 Remote battery: ok
2015-11-08_12:13:10 Remote Remote_B01 LongRelease
2015-11-08_12:13:12 Remote battery: ok
2015-11-08_12:13:12 Remote Remote_B01 LongRelease
2015-11-08_12:13:15 Remote battery: ok
2015-11-08_12:13:15 Remote Remote_B01 LongRelease
2015-11-08_12:13:18 Remote battery: ok
2015-11-08_12:13:18 Remote Remote_B01 LongRelease
2015-11-08_12:13:20 Remote battery: ok
2015-11-08_12:13:20 Remote Remote_B01 LongRelease
2015-11-08_12:13:23 Remote battery: ok
2015-11-08_12:13:23 Remote CMDs_done
2015-11-08_12:13:23 Remote Remote_B01 LongRelease
2015-11-08_12:13:24 Remote battery: ok
2015-11-08_12:13:24 Remote CMDs_done
2015-11-08_12:13:24 Remote Remote_B01 LongRelease
2015-11-08_12:13:24 Remote battery: ok
2015-11-08_12:13:24 Remote CMDs_done
2015-11-08_12:13:24 Remote Remote_B01 LongRelease
2015-11-08_12:13:25 Remote battery: ok
2015-11-08_12:13:25 Remote CMDs_done
2015-11-08_12:13:25 Remote Remote_B01 LongRelease
2015-11-08_12:13:26 Remote battery: ok
2015-11-08_12:13:26 Remote CMDs_done
2015-11-08_12:13:26 Remote Remote_B01 LongRelease
2015-11-08_12:13:26 Remote battery: ok
2015-11-08_12:13:26 Remote CMDs_done
2015-11-08_12:13:26 Remote Remote_B01 LongRelease
2015-11-08_12:13:36 Remote battery: ok
2015-11-08_12:13:36 Remote Remote_B01 LongRelease
2015-11-08_12:13:38 Remote battery: ok
2015-11-08_12:13:38 Remote Remote_B01 LongRelease
2015-11-08_12:13:41 Remote battery: ok
2015-11-08_12:13:41 Remote Remote_B01 LongRelease
2015-11-08_12:13:44 Remote battery: ok
2015-11-08_12:13:44 Remote Remote_B01 LongRelease
2015-11-08_12:13:46 Remote battery: ok
2015-11-08_12:13:46 Remote Remote_B01 LongRelease
2015-11-08_12:13:49 Remote battery: ok
2015-11-08_12:13:49 Remote Remote_B01 LongRelease
2015-11-08_12:13:52 Remote battery: ok
2015-11-08_12:13:52 Remote Remote_B01 LongRelease
2015-11-08_12:13:54 Remote battery: ok
2015-11-08_12:13:54 Remote Remote_B01 LongRelease
2015-11-08_12:13:57 Remote battery: ok
2015-11-08_12:13:57 Remote Remote_B01 LongRelease
2015-11-08_12:13:59 Remote battery: ok
2015-11-08_12:13:59 Remote CMDs_done
2015-11-08_12:13:59 Remote Remote_B01 LongRelease
2015-11-08_12:14:00 Remote battery: ok
2015-11-08_12:14:00 Remote CMDs_done
2015-11-08_12:14:00 Remote Remote_B01 LongRelease
2015-11-08_12:14:01 Remote battery: ok
2015-11-08_12:14:01 Remote CMDs_done
2015-11-08_12:14:01 Remote Remote_B01 LongRelease
2015-11-08_12:14:01 Remote battery: ok
2015-11-08_12:14:01 Remote CMDs_done
2015-11-08_12:14:01 Remote Remote_B01 LongRelease
2015-11-08_12:14:02 Remote battery: ok
2015-11-08_12:14:02 Remote CMDs_done
2015-11-08_12:14:02 Remote Remote_B01 LongRelease
...



Habe ich bei der Implementierung grundsätzliche Fehler gemacht?

Wer hat Erfahrungen / Tipps, die mich bei der weiteren Implementierung unterstützen können?

Gruß
Michael


Ergänzung1:
Die Befehle, die per Fernbedienung abgesetzt werden, werden offenbar mit "vielen" Wiederholungen ausgeführt.
Die Anzahl der Wiederholungen scheint mit von der Dauer des Tastendrucks auf der Fernbedienung abzuhängen.
Ein "short" Druck führt bis zu 10 Wiederholungen aus und das bei einem wirklich sehr kurzem Druck

Auch scheint dieser Effekt mit der vccu-Kopplung zusammenzugehören.
Wird die Fernbedienung direkt mit einem Aktor gpeered, so tritt dieser beschriebene Effekt nicht auf und alles ist wunderbar.

Mit dieser direkten Methode erreiche ich aber nicht das angestrebte Ziel, welchen oben beschrieben wurde.

Ergänzung2:
Die "notifys" unter 2. wurden so geändert, dass der "vccu_Btn1" den Trigger auslöst.
Das hat zur Folge, dass der Aktor nur noch einmal angesteuert wird.

Es bleibt jedoch der Effekt, dass die Fhem-Oberfläche "einfriert". Der brower signalisiert "endloses" laden. Das einer "langen Zeit" (Zeitraum wie oben), ist er wieder bedienbar.
Vermutlich werden weiterhin intern Aktionen ausgeführt, die nur nicht mehr an den Aktor weitergeleitet werden.

Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser

frank

ZitatMit dieser direkten Methode erreiche ich aber nicht das angestrebte Ziel, welchen oben beschrieben wurde.
das kannst du auch durch direktes peeren erreichen. im aktor entsprechend die register des peers setzen.

mit deiner vorgehensweise sollte es grundsätzlich aber auch funktionieren. am besten mal sniffen (wiki homematic sniffen). dein fhem ist tagesaktuell? poste mal je ein list vom device und channel1 der fb und entsprechend von der vccu.
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

martinp876

so genau habe ich es jetzt nicht gelesen - scheint aber mutig.
Richtig verstanden: eine FB triggert eine vccu welche kommandos an den Rollo sendet.
Insbesondere bei Long ist das ambitioniert. Alle 0,4sec eine Aktion - hin und her. Uns das brauchst du noch nicht einmal.
Zugegeben - register sind etwas komplitiert. mache ich eben noch einmal Werbung für die Templates. Du willst bei einem Button  short ein hoch und bei long runter. immer komplett.
Ich würden on top  noch einstellen, dass beim 2. Press die Fahrt stoppt.

nach dem peeren des Rollo RL mit den Button Bt1 und der Definition von HMInfo hm solltest du
set hm templateSet RL BlStopDnSh       Bt1:short
set hm templateSet RL BlStopUpSh       Bt1:long

evtl ist noch ein
set RL regSet lgMultiExec off Bt1
das ist aktuell nicht im template

MiWe58

Hallo und vielen Dank soweit für die Tipps.

Die Problematik mit dem "einfrieren" nach einem "long" Tastendruck scheint mit der Verwendung des "notify" zusammenzuhängen.
Nun habe ich die Logik alternativ mit einem "DOIF" realisiert, was problos funktioniert.

Nun kann ich über "DOIF" den Zustand der vccu abfragen und daraufhin beliebige Kommandos absetzen.
Genau so hatte ich es vor.

Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser