Protokol stabilisierung

Begonnen von martinp876, 03 September 2013, 20:28:20

Vorheriges Thema - Nächstes Thema

martinp876

Hi Christian,

DevIO ist das Modul, das HMLAN nach TCP/IP verbindet. Hier werden auch die meisten disconnects entdeckt.

state hat in den Readings von HMLAN nichts verloren, habe ich auch noch nie gesehen.  Alles wird direkt in STATE geschrieben, keine Readings.
Hast du ein device mit der gleichen HMId wie HMLAN?
So, wenn nun im STATE "opened" steht sollte das übertragen klappen. XmitOpen sollte "1" sein.
sonst bitte noch einmal das list des HMLAN - vielleicht hat sich noch etwas verschoben.

Gruss Martin

crissiloop

So nun gibt es nur noch das STATE und kein state mehr im Reading vom HMLAN.
Und durch das Löschen des HMLAN´s waren die Aktoren zwar gepairt. Aber es ist kein Kommando angekommen. Also habe ich nun einfach manuell in jeden Aktor IODEV HMLAN1 eingetragen und nun funktionieren die Kommandos wieder.
Bei nur einem HMLAN sollte IODEV ja eigentlich nicht notwendig sein. Aber das Löschen und Neuanlegen scheint dies wohl notwendig zu machen.
Jetzt werden wir mal beobachten, was morgen früh beim gleichzeitigen Ansteuern von mehreren Rollläden passiert.

Warum der Status beim HMLAN so komisch war, weiß ich zwar nicht, zumal er ja bisher auch funktionierte.

Gruß Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

martinp876

ok, klar. Das Problem ist, dass das ioDev zuerst definiert sein muss. Wenn ein CUL_HM definiert wird wird ein vorhandenes IODev eingetragen.
Es ist also wichtig, das IO-device auch im fhem.cfg VOR allen anderen devices stehen zu haben, dann klappts.

Gruß Martin

Jojo11

Hallo,

ich wollte nur mal ein kurzes feedback geben. Seitdem ich diese files verwende, sind bei mir jetzt keine Rollladen mehr oben bzw. unten geblieben. Es scheint stabiler als vorher zu laufen. Vielen Dank für die Arbeit!

schöne Grüße
Jo

martinp876

Hi,

die Version ist jetzt online - 3879
Also ab morgen im Update.

Gruss Martin

crissiloop

Auch bei mir läuft es nun seit Donnerstag Abend problemlos.
Abends werden 12 Rollläden gleichzeitig gefahren auch ohne Probleme.
Im HMInfo sind auch keine Resends zu sehen. Und trotzdem kann man abends beobachten, wie die Rollläden teilweise leicht zeitversetzt losfahren.

Vielen Dank Martin.

Gruß
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

martinp876

Hi Christian,

Das zeitversetzt kann gut sein, klar.
Man kann mit hmLanQLen etwas spielen, da kann es dann schon schneller gehen.

danke für die Tests
Martin

crissiloop

Hallo Martin,

das zeitversetzt war überhaupt nicht negativ gemeint. Es ist wirklich minimal und ich erhebe auch gar nicht den Anspruch, dass alle Läden exakt gleichzeitig fahren. Die Zuverlässigkeit ist mir viel wichtiger und die scheint ja gegeben zu sein.
Verstehe ich das richtig, dass die Befehle, sollte es zu Kollisionen kommen zwischengespeichert werden, und dann erneut versandt werden und dadurch die kleinen Zeitversätze entstehen? Oder wie muss ich mir das vorstellen, wenn 12 mal der Befehl zum Schließen der Rollläden verschickt wird?

Gruß
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

martinp876

Hi Christian,

habe ich schon richtig verstanden. Es ist aber gut zu hören, dass es so funktioniert.
Mit Kollision dieser Teil nichts zu tun. HMLAN bestätigt die Verarbeitung der Messages - das war bislang nicht berücksichtigt. Ich haben bis zu 4 messages parallel an HMLAN gesendet und alle wurden ordentlich verarbeitet, bei mehr gab es meist Probleme. Allerdings spielt hier auch das Timing eine Rolle. Über das Attribut kannst du jetzt steuern, wie viele messages HMLAN parallel gefüttert bekommt.
Die Antworten des device können immer immer noch überlappen, was auch kein Problem ist.

Du kannst die Verzögerung also verringern, wenn du den Wert hoch setzt, es kann dann zu Wiederholungen kommen - aber bei Werten wie 2 oder 3 sollte es nicht zu "verlusten" kommen.

Kritisch könnte es nur bei wakeup devices werden, z.B. TC. Da könnte die verzögerung einen Abbruch verursachen...

Gruss Martin

derdon23

Hallo,

ich hoffe ich habe nichts übersehen aber ich habe nach der letzten Aktualisierung (gerade gnoch einmal ganz aktuell von heute) das Problem, dass meine LED Lampen, welche über einen HM-LC-SW4-PCB geschaltet werden nicht mehr funktionieren.

Besser gesagt, nach dem Neustart kann ich die Lampe exakt einmal anschalten. Danach aber nicht wieder aus schalten.

Kann das mit der Aktualisierung zu tun haben? Vorher funktionierte alles einwandfrei und wenn ich das Backup zurück spiele geht es auch wieder. Übersehe ich eine neue config Option?

Ich betreibe mein FHEM auf einer Fritzbox 7390 und die HM devices werden über einen HMLAN adapter gesteuert.

folgendes sehe ich im Webfrontend:


Internals
DEF
1D86F9
HMLAN1_MSGCNT
1
HMLAN1_RAWMSG
R0D09ECD8,0001,037D08A1,FF,FFC0,0180021D86F9123A000101C80044
HMLAN1_RSSI
-64
HMLAN1_TIME
2013-09-11 14:40:56
IODev
HMLAN1
LASTInputDev
HMLAN1
MSGCNT
1
NAME
CUL_HM_switch_1D86F9
NR
103
STATE
CMDs_done_events:1
TYPE
CUL_HM
channel_01
CUL_HM_switch_1D86F9_Sw_01
channel_02
CUL_HM_switch_1D86F9_Sw_02
channel_03
CUL_HM_switch_1D86F9_Sw_03
channel_04
CUL_HM_switch_1D86F9_Sw_04
lastMsg
No:01 - t:02 s:1D86F9 d:123A00 0101C80044
protCmdDel
7
protIOerr
2 last_at:2013-09-11 14:44:07
protLastRcv
2013-09-11 14:40:56
protSnd
1 last_at:2013-09-11 14:40:55
protState
CMDs_done_events:1
rssi_HMLAN1
avg:-68 min:-68 max:-68 lst:-68 cnt:1
rssi_at_HMLAN1
avg:-64 min:-64 max:-64 lst:-64 cnt:1
Readings
CommandAccepted
yes
2013-01-11 18:35:31
level
0 %
2013-09-11 09:04:48
powerOn
-
2013-09-11 09:04:48
state
CMDs_done_events:1
2013-09-11 14:44:07

martinp876

Hallo Derdon23,

in "proto..." kannst du sehen, dass der HMLAN Probleme hatte (IOErr) und es wurden 7 Kommandos (messages) gelöscht.
Es könnte schon mit dem Update zu tun haben, aber Anhaltspunkt habe ich keinen. Wenn der HMLAN einen "error" hat ist dies 'overload' - da muss man 6 min warten bis man wieder senden kann. FHEM betreibt das Recovery, aber warten muss man.

Während dieser 6 min kann von FHEM alles gelesen werden, aber nichts gesendet.

Einzige mir bekannte Alternative ist die Power des hmlan zu ziehen.
Neu ist dies nicht, das könnte schon vorher vorkommen.

Wäre gut, wenn du einmal roh-messages aufnehmen könntest, beim nächsten mal. Dann kann ich es untersuchen

Gruss Martin

derdon23

Hi,

Danke für die Antwort. Ich habs gerade nochmal versucht und das loglevel hochgesetzt. Hier die Ausgaben:

Ich habe jetzt alles drin gelassen, die Geräte 1A7E10, 1A84ED und 1C6134 sind Thermostate. Der Schalter ist die 1D86F9. Zu sehen im Log sollte sein ein erfolgreiches Ausschalten der Lampe (14:44:11 bis 14:44:12 denke ich) und dann ein fehlschlagender Anschaltversuch gleich im Anschluss.

Sag Bescheid wenn ich noch irgend etwas beitragen kann.

2013.09.15 14:43:59.890 1: HMLAN_Parse: HMLAN1 R:E1A7E10   stat:0000 t:181A1361 d:FF r:FFC9     m:9F A258 1A7E10 1A84ED 0000
2013.09.15 14:44:00.313 1: HMLAN_Parse: HMLAN1 R:E1A84ED   stat:0000 t:181A13E4 d:FF r:FFB3     m:9F 8202 1A84ED 1A7E10 0101000041
2013.09.15 14:44:04.298 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:44:04.309 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181A24AA IDcnt:0000
2013.09.15 14:44:11.926 1: HMLAN_Send:  HMLAN1 I:+1D86F9,00,00,
2013.09.15 14:44:11.934 1: HMLAN_Send:  HMLAN1 S:S21A65A5D stat:  00 t:00000000 d:01 r:21A65A5D m:01 A011 123A00 1D86F9 0201000000
2013.09.15 14:44:12.187 1: HMLAN_Parse: HMLAN1 R:R21A65A5D stat:0001 t:181A4317 d:FF r:FFBF     m:01 8002 1D86F9 123A00 0101000045
2013.09.15 14:44:12.189 1: HMLAN_Parse: HMLAN1 new condition ok
2013.09.15 14:44:29.318 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:44:29.328 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181A8669 IDcnt:0001
2013.09.15 14:44:54.325 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:44:54.336 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181AE81C IDcnt:0001
2013.09.15 14:45:19.332 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:45:19.346 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181B49CF IDcnt:0001
2013.09.15 14:45:44.350 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:45:44.360 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181BAB8D IDcnt:0001
2013.09.15 14:46:09.357 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:46:09.367 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181C0D3F IDcnt:0001
2013.09.15 14:46:25.649 1: HMLAN_Parse: HMLAN1 R:E1A7E10   stat:0000 t:181C4CD5 d:FF r:FFC9     m:A0 8670 1A7E10 000000 00D744
2013.09.15 14:46:34.370 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:46:34.379 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181C6EF8 IDcnt:0001
2013.09.15 14:46:45.649 1: HMLAN_Parse: HMLAN1 R:E1A7E10   stat:0000 t:181C9AF8 d:FF r:FFC9     m:A0 A258 1A7E10 1C6134 0000
2013.09.15 14:46:45.989 1: HMLAN_Parse: HMLAN1 R:E1C6134   stat:0000 t:181C9B7C d:FF r:FFC1     m:A0 8202 1C6134 1A7E10 0101000040
2013.09.15 14:46:59.377 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:46:59.386 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181CD0AB IDcnt:0001
2013.09.15 14:47:24.389 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:47:24.400 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181D3263 IDcnt:0001
2013.09.15 14:47:49.406 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:47:49.417 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181D9420 IDcnt:0001
2013.09.15 14:48:14.415 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:48:14.429 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181DF5D8 IDcnt:0001
2013.09.15 14:48:39.787 1: HMLAN_Send:  HMLAN1 I:K
2013.09.15 14:48:39.890 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0314911 d:1C68C5 O:123A00 t:181E594F IDcnt:0001


Gruß
Stefan

martinp876

hi,

kannst du ein "list" des device (nicht channel) machen, wenn der hängt?

gruss martin

derdon23

Hi,

meinst du sowas?

list CUL_HM_switch_1D86F9
Internals:
   DEF        1D86F9
   HMLAN1_MSGCNT 1
   HMLAN1_RAWMSG R2294E6B5,0001,00DAD4D5,FF,FFC0,0180021D86F9123A000101C80043
   HMLAN1_RSSI -64
   HMLAN1_TIME 2013-09-15 19:04:45
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     1
   NAME       CUL_HM_switch_1D86F9
   NR         103
   STATE      CMDs_done_events:1
   TYPE       CUL_HM
   channel_01 CUL_HM_switch_1D86F9_Sw_01
   channel_02 CUL_HM_switch_1D86F9_Sw_02
   channel_03 CUL_HM_switch_1D86F9_Sw_03
   channel_04 CUL_HM_switch_1D86F9_Sw_04
   lastMsg    No:01 - t:02 s:1D86F9 d:123A00 0101C80043
   protCmdDel 1
   protIOerr  1 last_at:2013-09-15 19:06:02
   protLastRcv 2013-09-15 19:04:45
   protSnd    1 last_at:2013-09-15 19:04:45
   protState  CMDs_done_events:1
   rssi_HMLAN1 avg:-67 min:-67 max:-67 lst:-67 cnt:1
   rssi_at_HMLAN1 avg:-64 min:-64 max:-64 lst:-64 cnt:1
   Readings:
     2013-01-11 18:35:31   CommandAccepted yes
     2013-09-11 09:04:48   level           0 %
     2013-09-11 09:04:48   powerOn         -
     2013-09-15 19:06:02   state           CMDs_done_events:1
   Helper:
     burstEvtCnt 1
     mId        002D
     rxType     1
     Role:
       dev        1
     Rssi:
       Hmlan1:
         avg        -67
         cnt        1
         lst        -67
         max        -67
         min        -67
       At_hmlan1:
         avg        -64
         cnt        1
         lst        -64
         max        -64
         min        -64
Attributes:
   expert     2_full
   firmware   1.9
   model      HM-LC-SW4-PCB
   peerIDs    
   room       CUL_HM
   serialNr   JEQ0569624
   subType    switch
   webCmd     getConfig

martinp876

ja, habe ich gemeint.

zu sehen ist, dass 1 von 1 sendeversuch fehlgeschlagen ist. Grund war ein io-error, also hmlan hat/hatte ein problem.

schaue einmal mit
list HMLAN1
etwas siehst. wie ist dessen state?