Hallo,
weiß nicht ob das ein BUG ist, oder bei mir etwas falsch konfiguriert ist.
Aber mein Nachbar hat wohl auch das MAX System, jedenfalls findet mein CUL einen Haufen andere MAX Devices.
Die habe ich aber alle auf ignore gesetzt.
Jetzt ist es aber so, dass ich trotzdem im Log immer mal wieder ein Missing ACK bekomme.
Die sollten doch ausbleiben?!
hier meine cfg
##ignores
define MAX_006c94 MAX ShutterContact 006c94
attr MAX_006c94 ignore 1
define MAX_005008 MAX ShutterContact 005008
attr MAX_005008 ignore 1
define MAX_006c6c MAX ShutterContact 006c6c
attr MAX_006c6c ignore 1
define MAX_005f5d MAX ShutterContact 005f5d
attr MAX_005f5d ignore 1
define MAX_0363cd MAX HeatingThermostat 0363cd
attr MAX_0363cd ignore 1
define MAX_03673a MAX HeatingThermostat 03673a
attr MAX_03673a ignore 1
define MAX_005e12 MAX ShutterContact 005e12
attr MAX_005e12 ignore 1
define MAX_00724b MAX ShutterContact 00724b
attr MAX_00724b ignore 1
define MAX_006661 MAX ShutterContact 006661
attr MAX_006661 ignore 1
define MAX_0363c5 MAX HeatingThermostat 0363c5
attr MAX_0363c5 ignore 1
define MAX_02b6be MAX WallMountedThermostat 02b6be
attr MAX_02b6be ignore 1
Log:
2014.02.02 22:58:50 2: CUL_MAX_SendQueueHandler: Missing ack from 0363cd for 0f4a04031234560363cd000e02163aaf
2014.02.02 23:58:49 2: CUL_MAX_SendQueueHandler: Missing ack from 02b6be for 0f4e040312345602b6be000e02173aad
2014.02.03 00:58:49 2: CUL_MAX_SendQueueHandler: Missing ack from 03673a for 0f4b040312345603673a000e03003aad
2014.02.03 01:58:51 2: CUL_MAX_SendQueueHandler: Missing ack from 0363c5 for 0f5204031234560363c5000e03013aaf
2014.02.03 04:58:51 2: CUL_MAX_SendQueueHandler: Missing ack from 0363cd for 0f4b04031234560363cd000e03043aaf
2014.02.03 05:58:49 2: CUL_MAX_SendQueueHandler: Missing ack from 02b6be for 0f4f040312345602b6be000e03053aae
2014.02.03 06:58:49 2: CUL_MAX_SendQueueHandler: Missing ack from 03673a for 0f4c040312345603673a000e03063aae
2014.02.03 07:58:51 2: CUL_MAX_SendQueueHandler: Missing ack from 0363c5 for 0f5304031234560363c5000e03073aaf
2014.02.03 10:58:51 2: CUL_MAX_SendQueueHandler: Missing ack from 0363cd for 0f4c04031234560363cd000e030a3aaf
2014.02.03 11:58:49 2: CUL_MAX_SendQueueHandler: Missing ack from 02b6be for 0f50040312345602b6be000e030b3aae
2014.02.03 12:58:49 2: CUL_MAX_SendQueueHandler: Missing ack from 03673a for 0f4d040312345603673a000e030c3aae
2014.02.03 13:58:51 2: CUL_MAX_SendQueueHandler: Missing ack from 0363c5 for 0f5404031234560363c5000e030d3ab0
2014.02.03 16:58:51 2: CUL_MAX_SendQueueHandler: Missing ack from 0363cd for 0f4d04031234560363cd000e03103ab0
2014.02.03 17:58:50 2: CUL_MAX_SendQueueHandler: Missing ack from 02b6be for 0f51040312345602b6be000e03113aae
2014.02.03 18:58:50 2: CUL_MAX_SendQueueHandler: Missing ack from 03673a for 0f4e040312345603673a000e03123aae
Grüße
Owel
Hallo,
da kann ich mich anschließen habe das gleiche Problem. Alle paar Stunden kommt ein missing ack von einem ignorierten Max Komponent eines Nachbarn. Komischerweise immer nur ein einziges Device obwohl er mehrere hat die ich auf ignore gesetzt habe.
Fix wurde committed. Bitte morgen testen und zurück melden.
Wenn ich es richtig sehe, wird die TimeInformation an alle MAX Heizungs- und Wandthermostate geschickt.
Es gibt aber einige Thermostate, die nicht mit dem CUL gepaired sind, sondern die ich nur beobachten möchte, um die Daten zu Plotten.
Alle diese Thermostate nehmen das Paket für die TimeInformation nicht an und ich bekomme ein MissingAck.
Gibt es eine Möglichkeit das aktive Senden vom CUL für einzelne Thermostate abzuschalten?
Was steckt hinter dem Reading TimeInformationHour? Ich habe mir den Code angesehen, verstehe aber die Magie dahinter nicht. Das Reading wurde bei den meisten Thermostaten ewig nicht mehr aktualisiert. Im Code sieht es so aus, als wenn dies auch nur einmal passieren würde und danach nie wieder.
Gruß,
Gero
Ich habe mir den Code von 14_CUL_MAX.pm noch mal genauer angesehen.
Kann es sein, dass in Zeile 580
if( $h !~ /^[0-5]$/ ) {
eher
if( $h != /^[0-5]$/ ) {
stehen sollte?
Aber vielleicht habe ich es auch einfach nicht verstanden.
Es kommt bei mir auch für Thermostate, die gepaired sind und normalerweise alle Befehle annehmen, immer wieder zu "Missing Ack" Meldungen. Das können natürlich ganz normale Störungen im Funkverkehr sein. Aber manchmal ist es ärgerlich, weil man auf oberster Ebene eine solche Fehlfunktion nicht mitbekommt. Teilweise behelfe ich mir damit über einen Timer einen Check zu machen, ob das Reading auch aktualisiert wurde. Aber häufig ist das etwas umständlich.
Ist es evtl. sinnvoll ein Retry zu realisieren? Wenn ja, auf welcher Ebene sollte dies geschehen (14_CUL_MAX_pm?)?
Gruß,
Gero
Ich habe gestern noch ein bißchen experimentiert und ein listenOnly Attribut für die MAX-Komponenten eingebaut, damit nicht gepairte Geräte auch in Ruhe gelassen werden. Zusätzlich habe ich 3 Sendewiederholungen implementiert, bevor das Paket mit einem Missing ACK verworfen wird.
Resultat der Retries: Es gab in den letzen 15 Stunden nur noch 3 "Missing Ack" Meldungen anstelle von ca. 3 pro Stunden.
Gruß,
Gero
Alle 8 Stunden wir die Zeit der HT und WT synchronisiert. Damit wir das nicht für alle Geräte um 0 Uhr, 8 Uhr und 16 Uhr machen,
und dann in diesen Stunden keine credits mehr haben, wird für jedes Gerät automatisch ein offset definiert.
Das ist die TimeInformationHour. Geräte mit TimeInformationHour = 1 kriegen ihre Zeit um 1, 7 und 17 Uhr, Geräte mit TimeInformationHour = 3
kriegen sie um 3, 11 und 19 Uhr.