Alle Homematic Heizkörper gleichzeitig stellen funktioniert nicht mehr

Begonnen von mkriegl, 28 November 2015, 13:37:53

Vorheriges Thema - Nächstes Thema

mkriegl

Hallo,
das Problem besteht bei mir scheinbar schon seit einiger Zeit, da ich aber mit meiner Presence Funktion zu tun hatte ist es mir erst jetzt aufgefallen:
Wenn ich das Haus verlasse schalte ich alle Heizkörper auf "manual" und "night", entsprechend wenn ich wieder zurück bin auf "auto".
Beispiel:
set model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 controlMode auto

Ich habe mir das ganze mal genauer angeschaut und festgestellt, dass nur der letzte angesprochene Heizkörper (laut Log) auch geschalten wird bzw antwortet.
2015-11-28 13:15:31 CUL_HM Baden_Wandthermostat controlMode: set_manual
2015-11-28 13:15:31 CUL_HM Kochen_Wandthermostat controlMode: set_manual
2015-11-28 13:15:31 CUL_HM Schlafen_Wandthermostat controlMode: set_manual
2015-11-28 13:15:31 CUL_HM Wohnen_Wandthermostat controlMode: set_manual
2015-11-28 13:15:33 CUL_HM Wohnen_Wandthermostat controlMode: manual
2015-11-28 13:15:33 CUL_HM Wohnen_Wandthermostat desired-temp: 21.5

2015-11-28 13:16:47 CUL_HM Baden_Wandthermostat controlMode: set_auto
2015-11-28 13:16:47 CUL_HM Kochen_Wandthermostat controlMode: set_auto
2015-11-28 13:16:48 CUL_HM Schlafen_Wandthermostat controlMode: set_auto
2015-11-28 13:16:48 CUL_HM Wohnen_Wandthermostat controlMode: set_auto
2015-11-28 13:16:49 CUL_HM Wohnen_Wandthermostat controlMode: auto
2015-11-28 13:16:49 CUL_HM Wohnen_Wandthermostat desired-temp: 21.5


Auch nach längerem Warten passiert weiter nichts. Zum Spaß habe ich das Ganze auch mal in Tasker als Einzelaufrufe mit anderer Reihenfolge umgesetzt. Auch hier wird nur der letzte Befehl ausgeführt. Nur wenn ich eine Pause von 1s zwischen die Aufrufe setze funktioniert es einwandfrei.
Wurde hier etwas geändert bzw wie kann ich dem Ganzen Abhilfe schaffen, da dieser Aufruf früher immer einwandfrei funktioniert hat.

martinp876

Aenderung ist mir nicht bekannt.
Ich habe nicht so viele tcs. Logge einmal rohmessages dazu.
Was sagt hminfo protoevents dazu? Da sollten fehler anstehen. Vorher loeschen, damit du dieaktuellwk fehler sehen kannst.

a

mkriegl

Danke für den Tipp. Den Logger kannte ich noch nicht. Werde ich morgen mal laufen lasse  und posten

mkriegl

Also ich habe jetzt einmal "set model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 controlMode auto" ausgeführt und bekomme folgendes Bild - auch nach längerer Wartezeit (>30min). "Pending" sind die, die nicht schalten. Bei jeder Ausführung erhöht sich dieser wert auch um 1. Ein weiterer "Snd" findet wohl nicht statt wie beim Wohnzimmer Wandthermostat.

protoEvents done:
    name        :State           |CmdPend           |Snd               |LastRcv       |Resnd             #CmdDel            |ResndFail         |Nack              |IOerr
    Baden_HR    : Info_Cleared   |  -               |  -               | 11-29 17:14:01|  -               #  -               |  -               |  -               |  -
    Baden_WT    : pending        | 1 CMDs pending   | 1:11-29 17:15:29 | 11-29 17:14:39|  -               #  -               |  -               |  -               |  -
    Kochen_HR   : Info_Cleared   |  -               |  -               | 11-29 17:16:09|  -               #  -               |  -               |  -               |  -
    Kochen_WT   : pending        | 1 CMDs pending   | 1:11-29 17:15:29 | 11-29 17:14:46|  -               #  -               |  -               |  -               |  -
    Schlafen_HR : Info_Cleared   |  -               |  -               | 11-29 17:15:23|  -               #  -               |  -               |  -               |  -
    Schlafen_WT : pending        | 1 CMDs pending   | 1:11-29 17:15:29 | 11-29 17:15:35|  -               #  -               |  -               |  -               |  -
    Wohnen_HR1  : Info_Cleared   |  -               |  -               | 11-29 17:14:30|  -               #  -               |  -               |  -               |  -
    Wohnen_HR2  : Info_Cleared   |  -               |  -               | 11-29 17:15:39|  -               #  -               |  -               |  -               |  -
    Wohnen_WT   : done           |  -               | 2:11-29 17:15:30 | 11-29 17:15:59|  -               #  -               |  -               |  -               |  -
================================================================================================================
    sum                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 0                |3                 |5                 |99            |0                 #0                 |0                 |0                 |0

    CUL_HM queue length:0

    requests pending
    ----------------
    autoReadReg          :
        recent           : Kochen_WT
    status request       :
    autoReadReg wakeup   :
    status request wakeup:
    autoReadTest         :

    IODevs:CUL_0:Initialized condition:-


Wenn ich danach die fehlenden einzeln ansteuere funktioniert es dann ohne Probleme.  Keine Ahnung was da los ist.

protoEvents done:
    name        :State           |CmdPend           |Snd               |LastRcv       |Resnd             #CmdDel            |ResndFail         |Nack              |IOerr
    Baden_HR    : Info_Cleared   |  -               |  -               | 11-29 17:27:04|  -               #  -               |  -               |  -               |  -
    Baden_WT    : done           |  -               | 4:11-29 17:27:18 | 11-29 17:27:19|  -               #  -               |  -               |  -               |  -
    Kochen_HR   : Info_Cleared   |  -               |  -               | 11-29 17:28:51|  -               #  -               |  -               |  -               |  -
    Kochen_WT   : done           |  -               | 4:11-29 17:27:54 | 11-29 17:27:55|  -               #  -               |  -               |  -               |  -
    Schlafen_HR : Info_Cleared   |  -               |  -               | 11-29 17:28:47|  -               #  -               |  -               |  -               |  -
    Schlafen_WT : done           |  -               | 4:11-29 17:28:21 | 11-29 17:28:38|  -               #  -               |  -               |  -               |  -
    Wohnen_HR1  : Info_Cleared   |  -               |  -               | 11-29 17:27:00|  -               #  -               |  -               |  -               |  -
    Wohnen_HR2  : Info_Cleared   |  -               |  -               | 11-29 17:28:23|  -               #  -               |  -               |  -               |  -
    Wohnen_WT   : done           |  -               | 2:11-29 17:15:30 | 11-29 17:28:47|  -               #  -               |  -               |  -               |  -
================================================================================================================
    sum                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 0                |0                 |14                |99            |0                 #0                 |0                 |0                 |0

    CUL_HM queue length:0

    requests pending
    ----------------
    autoReadReg          :
        recent           : Kochen_WT
    status request       :
    autoReadReg wakeup   :
    status request wakeup:
    autoReadTest         :

    IODevs:CUL_0:Initialized condition:-

martinp876

ah - wichtiger Hinweis. Offensichtlich wird das Pending nicht korrekt erkannt. Es müsste für jeden TC ein burst gesendet werden.

mache ein List des hängenden Device

mkriegl

Ich verstehe nicht ganz was du meinst. Ich habe 4 Wandthermostate HM-TC-IT-WM-W-EU und 5 Heizungsregler HM-CC-RT-DN (zwei im Wohnzimmer). Thermostate sind gepaired mit CUL. Regler sind gepeered mit Thermostaten. Einzeln ansteuern macht keine Probleme, aber eben die Ansteuerung der Channel Gruppe.
Ich teste aktuell mal die Tasker App und habe dort direkt mal unterschiedliche Szenarien ausprobiert.

  • set model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 controlMode auto: Problem wie schon beschrieben
  • set Wandthermostate controlMode auto (alle 4 Thermostate einzeln hintereinander ohne Pause in anderer Reihenfolge als zuvor): gleiches Problem mit dem Unterschied dass immer das zuletzt aufgerufene Thermostat anspricht und die anderen im Pending bleiben (hab hier auch mehrere Kombinationen ausprobiert) 
  • set Wandthermostate controlMode auto (alle 4 Thermostate einzeln hintereinander mit 1s Pause zwischen den Aufrufen): jeders einzelne Thermostat wird angesprochen und antwortet auch bevor das nächste angesprochen wird

Mir kommt es eher so vor das beim ansprechen der Channel Gruppe irgendwas zu schnell läuft und nur an den letzten aufgerufenen gesendet wird und die zuvor irgendwie im pending landen

martinp876

Wenn msg s in pending stehen bleiben haben wir bei burst ein Problem. Wann soll es weiter gehen.....
Die list und die messages sind interessant. Danach eine Idee wie man es zum laufen bekommt.
Ist msgrepeat aktiv?

mkriegl

Ich kenne mich ja nicht so gut aus, aber mir scheint es das er an alle 4 in so kurzem Zeitrahmen sendet, dass er die Antwort überhört und nur die Antwort vom letzten auswerten kann.

msgRepeat steht auf 1

Hier mal nur ein Auszug. Sollte eigentlich der Startpunkt beim Auslösen sein:
2015.11.29 22:24:13.777 4: CUL_send:  CUL_0As 09 F5 B112 4D6178 335994
2015.11.29 22:24:13.830 4: CUL_send:  CUL_0As 09 F8 B112 4D6178 3358D6
2015.11.29 22:24:13.878 4: CUL_send:  CUL_0As 09 FB B112 4D6178 3358CD
2015.11.29 22:24:13.928 4: CUL_send:  CUL_0As 09 FF B112 4D6178 335973
2015.11.29 22:24:15.942 4: CUL_Parse: CUL_0 A 0A FF 8002 335973 4D6178 0033 -48.5
2015.11.29 22:24:16.044 4: CUL_send:  CUL_0As 0B 00 A011 4D6178 335973 8002
2015.11.29 22:24:18.373 4: CUL_Parse: CUL_0 A 0F 00 8002 335973 4D6178 01022B00270033 -48.5
2015.11.29 22:24:20.366 4: CUL_Parse: CUL_0 A 0F 65 8610 2E6CCD 000000 0A8CE68D004041 -41.5
2015.11.29 22:24:21.733 4: CUL_Parse: CUL_0 A 0C F6 8470 3358D6 000000 00D92937 -46.5
2015.11.29 22:24:23.467 4: CUL_Parse: CUL_0 A 0C FE 8470 335973 000000 00CB3534 -48
2015.11.29 22:24:28.424 4: CUL_Parse: CUL_0 A 0F 1C 8610 2E6C4C 000000 0A8CD98D004027 -54.5
2015.11.29 22:24:31.492 4: CUL_Parse: CUL_0 A 0F A8 8610 2EEFCC 000000 0A8CCF8D00002C -52
2015.11.29 22:25:01.322 4: CUL_Parse: CUL_0 A 0F 1D 8610 2E1C01 000000 0AACCB8C640035 -47.5
2015.11.29 22:25:18.534 4: CUL_Parse: CUL_0 A 0C F5 865A 335994 000000 8CE62F3E -43
2015.11.29 22:25:38.535 4: CUL_Parse: CUL_0 A 0C F5 8470 335994 000000 00E62F3E -43
2015.11.29 22:26:21.869 4: CUL_Parse: CUL_0 A 0F 66 8610 2E6CCD 000000 0A8CE68D004041 -41.5
2015.11.29 22:26:24.030 4: CUL_Parse: CUL_0 A 0C FB 865A 3358CD 000000 8CCF3432 -49
2015.11.29 22:26:39.237 4: CUL_Parse: CUL_0 A 0C F7 865A 3358D6 000000 8CD92937 -46.5
2015.11.29 22:26:44.031 4: CUL_Parse: CUL_0 A 0C FB 8470 3358CD 000000 00CF3432 -49
2015.11.29 22:26:55.922 4: CUL_Parse: CUL_0 A 0F F8 8610 2E6CC5 000000 0AACCB8C640036 -47
2015.11.29 22:26:56.746 4: CUL_Parse: CUL_0 A 0F A9 8610 2EEFCC 000000 0A8CCF8D00002D -51.5
2015.11.29 22:26:59.236 4: CUL_Parse: CUL_0 A 0C F7 8470 3358D6 000000 00D92937 -46.5
2015.11.29 22:26:59.726 4: CUL_Parse: CUL_0 A 0C FF 865A 335973 000000 ACCB3635 -47.5
2015.11.29 22:27:09.721 4: CUL_Parse: CUL_0 A 0E 04 8410 335973 000000 0BACCB090034 -48
2015.11.29 22:27:19.719 4: CUL_Parse: CUL_0 A 0C FF 8470 335973 000000 00CB3634 -48
2015.11.29 22:27:19.786 4: CUL_Parse: CUL_0 A 0C F6 865A 335994 000000 8CE62F3E -43
2015.11.29 22:27:29.678 4: CUL_Parse: CUL_0 A 0F 1D 8610 2E6C4C 000000 0A8CD98D004028 -54

martinp876

Ja, die burst kommen zu schnell.
Welche cul fw hast du? Die empfohlene?

mkriegl

Ich weiß nicht was die empfohlene Firmware ist. Ist die Firmware VERSION V 1.61 CUL868? Irgendwann habe ich mal ein update gemacht. Weiß aber nicht mehr wann.
CUL Ist ein 3.4

martinp876

http://forum.fhem.de/index.php/topic,31421.msg350833.html#new

Das ist meine Empfehlung.
Ob das besser geht kann ich nicht sagen, es gibt aber eine flowcontrol. Ich müsste es noch testen, schon lange her.
Fhem sollte min auf das ACK warten. Beim burst etwas länger.

juniormajor

hänge mich hier dran, da ich in die selbe "Falle" getappt bin. Wenn ich aus meiner 99_my* fünf Stück HM-TC-IT-WM-W-EU hintereinander ansprechen (set TC controlMode bzw. controlManu) will, geht nur einer der fünf TCs in den Burst und setzt den Befehl um - Bei den anderen vier TCs bleibt das cmd pending.

@martin: In Verwendung ist hierbei die empfohlene CUL FW (99.75) und 00_CUL.pm - ändert allerdings nichts am Verhalten. msgRepeat ist bei allen TCs auf 1 und burstAccess auf 1_auto. Du hattest hier schon eine Idee... was brauchst du zum verifizieren dieser?

mkriegl

Wenn du sie einzeln aufrufst probiere es mal mit einer Sekunde Pause dazwischen. So funktioniert es bei mir zumindest mit Tasker.
Danke an Martin. Bin leider noch nicht dazu gekommen mir das alles durch zu lesen und umzusetzen. Vielleicht bleibe ich auch bei der jetzigen Lösung

juniormajor

#13
Ja, so "umgehe" ich das Problem, aber ...
Naja, (perl) sleep ist halt nicht mein Geschmack.

martinp876

Muss ich einmal nachdenken. Die sequenzialisierung ist ein bisschen aufwändig. Man muss erkennen, dass gerade ein burst läuft, und wann er zu Ende ist. Und od noch einer ansteht......
Geht alles, dauert aber etwas.......