[patch] CUL_XmitLimitCheck auch für Homematic

Begonnen von juniormajor, 13 Februar 2016, 23:49:59

Vorheriges Thema - Nächstes Thema

juniormajor

CUL_XmitLimitCheck wird nun auch für Homematic Nachrichten aufgerufen.
Dadurch wird Internals "NR_CMD_LAST_H" angelegt bzw. aktualisiert.
Eingrenzung der max 163 Nachrichten pro Stunde auf FS20.
Homematic wird ja in der culfw auf die 1% begrenzt.

http://forum.fhem.de/index.php?topic=12001.0
http://forum.fhem.de/index.php/topic,49281.0

rudolfkoenig

Dieser Patch beschraenkt die Zaehlung auf FS20, in SlowRF gibts aber nocht andere Protokolle.
Hauptproblem an dieser Stelle ist die FHT Kommunikation.

juniormajor

Stimmt, aber ich bin der Meinung, dass es "weniger falsch" ist auf FS20 einzugrenzen (wo diese Grenze scheinbar gilt), als auch nicht SlowRF Protokolle (wie zB MAX, Homematic) dadurch zu beschränken.

rudolfkoenig


juniormajor

Ist ein Begrenzen auf SlowRF für dich eher der Weg?

juniormajor

hier nun in die andere Richtung. Alle Nachrichten außer Homematic und Max werden auf die 163 Nachrichten pro Stunde geprüft.

rudolfkoenig

Ich habe eine Weile nachgedacht, ob ich das im Patch impementierte Feature uebernehmen soll:
- offensichtlich hast du dein Patch mit SlowRF nicht getestet, sonst waere es dir aufgefallen dass bei jedem Senden eine Fehlermeldung generiert wird.
- MAX wurde auch bisher gezaehlt, und sogar nach 163 Nachrichten (faelschlicherweise) eine Warnung ausgegeben
- CUL.pm wird von mehreren Tausend Leuten verwendet. Selbst ein Bugfix ist manchmal ein Problem, weil die Leute sich auf dem Bug eingestellt haben.

Ich habe CUL.pm geaendert, sodass diese Zaehlung bei HM ab sofort (und be MAX wie bisher) aktiviert ist,  aber bei beiden keine Warnung ausgegeben wird. Ist vermutlich immer noch nicht perfekt, da bei den anderen Protokollen (WMBUS/KOPP_FC) weiterhin gewarnt wird.

Bin gespannt, wie viel Nacharbeit/Support diese Anderung benoetigen wird.

juniormajor

- ad "offensichtlich hast du dein Patch mit SlowRF nicht getestet, sonst waere es dir aufgefallen dass bei jedem Senden eine Fehlermeldung generiert wird"
Versteh ich nicht ganz, denn der ist bei mir inkl. FS20 Device im Einsatz und ich habe keine Fehlermeldungen bekommen.
Weißt du noch wo es gehakt hat?
Hab gerade nochmal nachgesehen

2016.02.15 15:08:24 4: WEB_192.168.0.252_57995 GET /fhem?XHR=1&inform=type=status;filter=room=System;since=1455545303;fmt=JSON&fw_id=2484&timestamp=1455545304379; BUFLEN:0
2016.02.15 15:08:24 4: Connection accepted from WEB_192.168.0.252_57995
2016.02.15 15:08:24 5: Notify from Device: global recieved
2016.02.15 15:08:24 5: Notify loop for global DELETED Therme_timer
2016.02.15 15:08:24 5: Triggering global (1 changes)
2016.02.15 15:08:24 5: Notify from Device: Therme recieved
2016.02.15 15:08:24 5: Notify loop for Therme off
2016.02.15 15:08:24 5: Triggering Therme (1 changes)
2016.02.15 15:08:24 5: Cmd: >{readingsSingleUpdate($defs{'Therme'},'state','off', 1); undef}<
2016.02.15 15:08:24 5: exec at command Therme_timer
2016.02.15 15:08:24 4: Connection closed for WEB_192.168.0.252_57993: EOF
2016.02.15 15:08:24 4: Connection closed for WEB_192.168.0.252_57994: EOF
/
2016.02.15 15:08:24 4: name: /fhem?room=System / RL:2156 / text/html; charset=UTF-8 / Content-Encoding: gzip
2016.02.15 15:08:24 4: WEB_192.168.0.252_57994 GET /fhem?room=System; BUFLEN:0
2016.02.15 15:08:24 4: Connection accepted from WEB_192.168.0.252_57994
2016.02.15 15:08:21 4: WEB_192.168.0.252_57993 GET /fhem?XHR=1&inform=type=status;filter=Therme;since=1455545299;fmt=JSON&fw_id=2480&timestamp=1455545300320; BUFLEN:0
2016.02.15 15:08:21 4: Connection accepted from WEB_192.168.0.252_57993
2016.02.15 15:08:21 4: Connection closed for WEB_192.168.0.252_57992: EOF
/
2016.02.15 15:08:21 4: name: /fhem?cmd={ReadingsVal(%22Therme%22,%22blink%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
2016.02.15 15:08:21 5: Cmd: >{ReadingsVal("Therme","blink","")}<
2016.02.15 15:08:21 4: WEB_192.168.0.252_57992 GET /fhem?cmd={ReadingsVal(%22Therme%22,%22blink%22,%22%22)}&XHR=1; BUFLEN:0
2016.02.15 15:08:20 4: Connection accepted from WEB_192.168.0.252_57992
2016.02.15 15:08:20 4: Connection closed for WEB_192.168.0.252_57991: EOF
/
2016.02.15 15:08:20 4: name: /fhem?cmd={AttrVal(%22Therme%22,%22room%22,%22%22)}&XHR=1 / RL:34 / text/plain; charset=UTF-8 / Content-Encoding: gzip
2016.02.15 15:08:20 5: Cmd: >{AttrVal("Therme","room","")}<
2016.02.15 15:08:20 4: WEB_192.168.0.252_57991 GET /fhem?cmd={AttrVal(%22Therme%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
2016.02.15 15:08:20 4: Connection accepted from WEB_192.168.0.252_57991
2016.02.15 15:08:20 4: Connection closed for WEB_192.168.0.252_57987: EOF
2016.02.15 15:08:20 4: Connection closed for WEB_192.168.0.252_57990: EOF
/
2016.02.15 15:08:20 4: name: /fhem?detail=Therme&fw_id= / RL:3172 / text/html; charset=UTF-8 / Content-Encoding: gzip
2016.02.15 15:08:20 4: WEB_192.168.0.252_57990 GET /fhem?detail=Therme&fw_id=; BUFLEN:0
2016.02.15 15:08:20 4: Connection accepted from WEB_192.168.0.252_57990
2016.02.15 15:08:19 4: Connection closed for WEB_192.168.0.252_57989: EOF
2016.02.15 15:08:19 5: Notify from Device: Therme recieved
2016.02.15 15:08:19 5: Notify loop for Therme on-for-timer 5
2016.02.15 15:08:19 5: Triggering Therme (1 changes)
2016.02.15 15:08:19 5: Notify from Device: global recieved
2016.02.15 15:08:19 5: Notify loop for global DEFINED Therme_timer
2016.02.15 15:08:19 5: Triggering global (1 changes)
2016.02.15 15:08:19 5: DbLog: logging of Device: Therme_timer , Type: AT , Event: Next: 15:08:24 , Reading: Next , Value: 15:08:24 , Unit:
2016.02.15 15:08:19 5: Notify from Device: Therme_timer recieved
2016.02.15 15:08:19 5: Notify loop for Therme_timer Next: 15:08:24
2016.02.15 15:08:19 5: Triggering Therme_timer (1 changes)
2016.02.15 15:08:19 4: Follow: +00:00:05 setstate Therme off
2016.02.15 15:08:19 5: Notify from Device: global recieved
2016.02.15 15:08:19 5: Notify loop for global DELETED Therme_timer
2016.02.15 15:08:19 5: Triggering global (1 changes)
2016.02.15 15:08:19 4: CUL_send:  CUL1Fe 3e 3f 2391 a 
2016.02.15 15:08:19 5: CUL1 sending Fe3e3f2391a
2016.02.15 15:08:19 3: FS20 set Therme on-for-timer 5
2016.02.15 15:08:19 5: Cmd: >set Therme on-for-timer 5<
2016.02.15 15:08:19 4: WEB_192.168.0.252_57989 POST /fhem&detail=Therme&dev.setTherme=Therme&cmd.setTherme=set&arg.setTherme=on-for-timer&val.setTherme=5; BUFLEN:0
2016.02.15 15:08:19 4: Connection accepted from WEB_192.168.0.252_57989


- ad "MAX wurde auch bisher gezaehlt, und sogar nach 163 Nachrichten (faelschlicherweise) eine Warnung ausgegeben"
Genau die Begrenzung war es ja die meiner Meinung nach hier raus gehört hat.

- ad "CUL.pm wird von mehreren Tausend Leuten verwendet. Selbst ein Bugfix ist manchmal ein Problem, weil die Leute sich auf dem Bug eingestellt haben."
Verstehe ich absolut.

rudolfkoenig

ZitatVersteh ich nicht ganz, denn der ist bei mir inkl. FS20 Device im Einsatz und ich habe keine Fehlermeldungen bekommen.
Ich habe mich geirrt, und es tut mir leid wg. meiner Anschuldigung.
Deine zweite Version funktioniert auch.

juniormajor