Protokol stabilisierung

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

Vorheriges Thema - Nächstes Thema

martinp876

Hi,

anbei ein versuch zur weiteren stabilisierung des HMLAN interface.
Die SW berücksichtigen die Queuelänge den HMLAN - welcher sich verschlickt, wenn mehr als 4 messages gelichzeitig übertragen werden sollen.

Wer testen will, kann die 3 File einmal einbauen (ansonsten neuster Stand).

Einstellen kann man die "Queuelänge" im HMLAN attr "hmLanQlen".
Setzt man die Länge auf "1" (oder 1_min) sollte man das stabilste Ergebniss erhalten. Höhere Werte erhöhen die mögliche Parallele Übertragung, die meist auch gut funktioniert. Allerdings habe ich hie und da "resends" gehabt, je nach datenlast, also parallel gesendete Requests.

Prüfen kann man am einfachsten mit HMInfo:
define hm HMInfo

Summe alle protokoll-events
set hm protoEvents

Events kann man "nullen" mit
set hm clear Protocol

Wenn es bei euch stabil läuft werde ich es einbauen, also bitte testen...

Danke
Martin

crissiloop

Hallo Martin,

muss ich nur die 3 Dateien austauschen oder auch das Attribut wie beschrieben auf 1 ändern?

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

Hallo Christian,

Das Attribut wird automtisch gesetzt, falls du es nicht aenderst.
Du kannst mit dem Wert spielen.

Noch ein Hinweis: Die Version stoppt die Verarbeitung der Messages, falls HMLAN "disconnected". Messages werden 1 min gespeichert - sollte HMLAN wiederkommen werden die Nachrichten gesendet (bisher wurden sie gelöscht).
Um Probleme zu verhindern werden die Messages jedoch nach 1min gelöscht - alles ander ist zu gefährlich. Somit sollte ein einfacher disconnect/reconnect verlustfrei bleiben

Gruss Martin

martinp876

Hi,

und schon einen Bug gefunden.

Neue Version:

crissiloop

oh,oh!
nachdem ich die 3 Dateien ausgetauscht habe, schaffe ich es genau 1 Befehl erfolgreich abzusetzen. Danach wird kein einziger Befehl mehr vom HMLAN ausgeführt, bis ich ein shutdown restart mache. Dann geht wieder ein Befehl über den HMLAN.
als Status steht beim HMLAN immer "hmPairSerial ******"

Und als Status bei den Aktoren bleibt "set an" oder ähnlich stehen und wird nicht ausgeführt.
Kein Missing Ack.
Und im HMInfo wird jeder Befehl unter protIOerr gelistet!

Was nun?

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

Hallo Christian,

du hast die 2. CUL_HM datei? Welcher Befehl ist dies?
Kannst du ein "list <hmlan>" schicken wenn de Fehler ansteht?

Gruss Martin

crissiloop

Hallo Martin,

ja ich habe die korrigierte CUL_HM genommen.

Welchen Befehl ich absetzen kann, ist dem HMLAN egal (set Rolladen hoch oder set Aussenbeleuchtung an). Ein Befehl wird problemlos ausgeführt. Alle weiteren Befehle danach werden nicht mehr ausgeführt und es bleibt im Status der Aktoren "set ***" stehen. Erst nach einem Shutdown Restart kann ich wieder 1 beliebigen Befehl ausführen.
Die Statusmeldungen der Aktoren, wenn ich zum Beispiel den Rollladen manuell fahre, werden aber übermittelt.

Das list schicke ich heute Nachmittag.

Übrigens ist das letzte Pairen eines Aktors schon ewig her. Wie bekomme ich diesen Status des HMLAN weg? Vielleicht hat es damit zu tun? Oder bleibt dort einfach der letzte direkte Befehl an den HMLAN stehen?

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

Hallo Christian,

HMLAN gibt statusinfo vor - und blockiert somit weiteres Senden.
Der Status des HMLAN wird automatisch generiert. Sollte HMLAN disconnecten beispielsweise.

Welchen status hat dein HMLAN?
Wichtig ist auch "XmitOpen" - sollte 1 sein.

Das ganze sollte sich auch mit einem stromaus/an des HMLAN reseten

Das ganze MUSS aber letztendlich automatisch funktionieren, was es bei mir auch tut. Bin gespannt,was bei dir los ist.... hat du AES devices? die habe ich nicht am Start

Gruss Martin

crissiloop

Hallo Martin,

hier das versprochene List

Internals:
   DEF        192.168.0.101:1000
   DeviceName 192.168.0.101:1000
   FD         4
   HMLAN1_MSGCNT 73
   HMLAN1_TIME 2013-09-05 16:50:49
   HM_CMDNR   1
   NAME       HMLAN1
   NR         36
   PARTIAL    
   RAWMSG     E1B3FF8,0000,0999170B,FF,FFAB,4EA4101B3FF8CE77110601C800
   RSSI       -85
   STATE      hmPairSerial JEQ0146945
   TYPE       HMLAN
   XmitOpen   1
   assignIDs  1BE410
   assignIDsCnt 1
   assignIDsReport 0
   firmware   0.961
   msgParseDly min:6 max:37 last:9 cnt:71
   owner      CE7711
   serialNr   JEQ0315943
   uptime     001 44:55:45.095
   Readings:
     2013-09-05 06:31:50   Xmit-Events     init:1
     2013-09-05 06:31:50   cond            init
     2013-09-05 06:31:45   prot_disconnected last
     2013-09-05 06:31:50   prot_init       last
     2013-09-05 06:22:50   prot_ok         last
     2013-01-04 21:18:43   state           hmPairSerial JEQ0146945
   Helper:
     1b3f7a:
       nextSend   1378392616.41904
     1b3fdc:
       nextSend   1378355921.41468
     1b3ff8:
       nextSend   1378392649.32151
     1b4014:
       nextSend   1378361959.67687
     1b4017:
       nextSend   1378361947.43561
     1b4020:
       nextSend   1378392642.61927
     1b4025:
       nextSend   1378392629.36324
     1b4036:
       nextSend   1378355945.17939
     1b403a:
       nextSend   1378392600.11354
     1b4049:
       nextSend   1378361958.04219
     1b404e:
       nextSend   1378355792.9325
     1b449e:
       nextSend   1378355927.88289
     1be410:
       chn        01
       flg        0
       msg        
       name       HWR_Zirkulation
       newChn     +1BE410,00,01,
       nextSend   1378354970.98177
       to         1378354972.17196
     1bfd8c:
       nextSend   1378364401.52874
     Ce7711:
       flg        0
     Dly:
       cnt        71
       lst        9
       max        37
       min        6
     Q:
       HMcndN     255
       answerPend 0
       hmLanQlen  1
       keepAliveRec 1
       keepAliveRpt 0
       apIDs:
     Ref:
       drft       -0.000159961609213789
       hmtL       161745095
       kTs        0
       offL       1378231621270
       sysL       1378393366365
Attributes:
   hmId       CE7711
   hmLanQlen  1_min
   room       HWR
   wdTimer    25


XmitOpen ist 1

Der Status von meinem HMLAN ist hmPairSerial *** seit 04.01.2013

AES-Devices habe ich keine.


Selbst nachdem ich Ihn stromlos gemacht habe, bleibt der Status so bestehen und Befehle werden wieder nicht umgesetzt.
Nach einem Shutdown Restart steht STATE auf opened und state bleibt auf hmPairSerial ***
Nach Absetzen von set Aussenbeleuchtung aus geht die Außenbeleuchtung aus und STATE vom HMLAN geht wieder auf hmPairSerial *** und keine weiteren Befehle werden angenommen.
hmLanQlen habe ich schon auf 3 gesetzt.

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

der state ist falsch  - ich versuche es nachzuvollziehen.
darf nur opened/disconnected o.ä. sein

sehr eigenartig.

kannst du ggf ein einmal rohmessages schicken?

Gruss Martin

Nachtrag: STATE wird auch von devIO gesetzt, also ausserhalb meiner SW. Was stand da sonst bei dir drin?

crissiloop

sagst du mir bitte nochmal kurz, was ich umstellen muss um die Rohmessages zu bekommen?
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

crissiloop

Zitat von: martinp876 schrieb am Do, 05 September 2013 17:24Nachtrag: STATE wird auch von devIO gesetzt, also ausserhalb meiner SW. Was stand da sonst bei dir drin?

das stand da schon ewig drin seit dem Pairen meiner Aktoren. Hat mich zum Anfang auch gewundert, aber da alles funktionierte, habe ich mir nichts weiter dabei gedacht.
Wie gesagt nach Shutdown Restart bleibt ist STATE opened aber state in den Readings immer noch hmpairserial ***. Und dann nach einem erfolgreichen Befehl wieder das gleiche auch im STATE.
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

crissiloop

so das Log mit Rowmessages seit dem Aktivieren der Rohdaten.

Ich habe um 17:36 einen Befehl zum Fahren des Rollladens     
1B3FDC geschickt:

2013.09.05 17:35:01 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:35:01 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:0017513D IDcnt:0001
2013.09.05 17:35:26 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:35:26 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:0017B2F8 IDcnt:0001
2013.09.05 17:35:51 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:35:51 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001814AB IDcnt:0001
2013.09.05 17:36:16.992 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:36:16.999 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:0018765E IDcnt:0001
2013.09.05 17:36:41.998 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:36:42.004 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:0018D80F IDcnt:0001
2013.09.05 17:37:07.004 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:37:07.010 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001939C1 IDcnt:0001
2013.09.05 17:37:32.010 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:37:32.016 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:00199B72 IDcnt:0001
2013.09.05 17:37:57.033 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:37:57.040 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:0019FD35 IDcnt:0001
2013.09.05 17:38:20.391 1: HMLAN_Parse: HMLAN1 R:E162E16   stat:0000 t:001A5867 d:FF r:FF9A     m:6B A002 162E16 1A9ADD 04897D71F3F9DD02
2013.09.05 17:38:20.649 1: HMLAN_Parse: HMLAN1 R:E162E16   stat:0000 t:001A596A d:FF r:FF9A     m:6B 8002 162E16 1A9ADD 0036D29F5F
2013.09.05 17:38:22.040 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:38:22.047 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001A5EE7 IDcnt:0001
2013.09.05 17:38:47.053 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:38:47.060 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001AC0A0 IDcnt:0001
2013.09.05 17:39:12.065 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:39:12.072 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001B2258 IDcnt:0001
2013.09.05 17:39:37.093 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:39:37.100 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001B841F IDcnt:0001
2013.09.05 17:40:02.101 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:40:02.108 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001BE5D2 IDcnt:0001
2013.09.05 17:40:27.117 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:40:27.124 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001C478E IDcnt:0001
2013.09.05 17:40:52.125 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:40:52.132 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001CA941 IDcnt:0001
2013.09.05 17:41:17.133 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:41:17.141 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001D0AF5 IDcnt:0001
2013.09.05 17:41:42.157 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:41:42.164 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001D6CB8 IDcnt:0001
2013.09.05 17:42:07.165 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:42:07.172 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001DCE6B IDcnt:0001
2013.09.05 17:42:32.171 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:42:32.178 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001E301D IDcnt:0001
2013.09.05 17:42:54.147 1: HMLAN_Parse: HMLAN1 R:E162E16   stat:0000 t:001E85EA d:FF r:FF98     m:6C A002 162E16 1A9ADD 04F1E5D9CDC1B102
2013.09.05 17:42:54.406 1: HMLAN_Parse: HMLAN1 R:E162E16   stat:0000 t:001E86ED d:FF r:FF9A     m:6C 8002 162E16 1A9ADD 000299C28D
2013.09.05 17:42:57.378 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:42:57.429 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001E9298 IDcnt:0001
2013.09.05 17:43:22.385 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:43:22.392 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001EF44A IDcnt:0001
2013.09.05 17:43:47.391 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:43:47.398 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001F55FC IDcnt:0001
2013.09.05 17:44:12.398 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:44:12.404 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:001FB7AD IDcnt:0001
2013.09.05 17:44:37.405 1: HMLAN_Send:  HMLAN1 I:K
2013.09.05 17:44:37.412 1: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0315943 d:1C6AB2 O:CE7711 t:00201961 IDcnt:0001
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,

hm - das ist sehr seltsam. der state wird u.a. auch ausserhalb von HMLAN gesetzt, von DEVio.
Der STATE steht also schon direkt nach dem booten drin?

Was passiert, wenn du das LANIf stromlos machst und wieder powerst? Der Zustand sollte sich aendern (ganz ohne meine Aenderungen...)

Ich habe verschiedenes probiert und bekomme es einfach nicht hin.
ist DevIo auf dem letzten Stand?

Gruss Martin

crissiloop

Also nach dem stromlos Machen des HMLANs bleibt der STATE so wie vorher. mit Shutdown restart ist der STATE opened aber in den Readings der state ist weiterhin hmpairserial.
Ich habe jetzt FHEM beendet in der Konfigsoftware ein Update der FW gemacht. Die Firmware ist zwar gleich geblieben aber egal. Selbst nach dem Neustarten von FHEM war der State noch drin.
Also habe ich den HMLAN gelöscht und wieder neue definiert. Jetzt ist der STATE opened aber in den Readings gibt es kein state mehr. Und nun wird nicht mal mehr ein Befehl übertragen an die Aktoren. Aber der Status beim manuellen Bedienen meiner Rollläden wird schön sauber empfangen.

Ich weiß echt nicht mehr weiter. es geht alles nur noch manuell zu bedienen jetzt.

Das Pairing der Aktoren ist ja weiterhin erhalten geblieben trotz Löschen und Neudefinieren des HMLANS oder? Denn bei den Aktoren steht weiterhin drin paired to drin.

Was meinst du mit DEVio?

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