Neue Firmware 2.3.17 für die CCU2

Angeblich soll diese folgende Fehler beheben:

2.3.17 - Bugfixes

[ul]
[li][HMCCU2-254] Innerhalb von Programmen mit Rollladenaktoren kommt das Wort „Behanghöhe“ doppelt vor.
[/li][li][HMCCU2-257] Info LED signalisiert keine Alarmmeldungen.
[/li][li][HMCCU2-258] Wandthermostat zeigt einen Zeitunterschied von ungefähr 5 Minuten an.
[/li][li][HMCCU2-260] Wired Service (hs485d) schreibt Debug als Error raus.
[/li][li][HMCCU2-263] °C wird innerhalb des Expertenmodus der Easymodes falsch dargestellt.
[/li][li][HMCCU2-288] Zeitunterschied zwischen Wandthermostat und CCU2 steigt kontinuierlich.
[/li][/ul]

Ich hab übrigens nie offiziell die Meldung gesehen, dass es eine Neue Firmware 2.3.17 für die CCU2 2.3.16 gegeben hätte, die hier im Forum kursiert und die ich auch installiert hatte.

Jungs, macht mal den Vortester. Ich traue dem Verein nicht mehr. :stuck_out_tongue:

Gerade am downloaden … nach den „Erlebnissen“ mit der V2.3.16 kann es nur besser werden! :slight_smile:

Nebenbei gesagt, die V2.3.15 lief bisher relativ stabil.
Abgesehen vom Zeitversatz bei den Thermostaten sind auch die rfd-Abstürze mittlerweile selten geworden bzw. nicht mehr vorhanden.

Interessanterweise konnte ich feststellen, dass diese „nur“ auftreten, wenn neue Geräte angelernt oder neue Direktverknüpfungen angelegt wurden. Nach ca. 6-8 Stunden drehte die Kiste dann komplett hohl mit ständigen Servicemeldungen bei ca. der Hälfte der angelernten Geräte. Der rfd lief zwar noch, aber irgendwie saß die RF-Funktionalität in der Ecke und schmollte. Das ganze lässt sich durch Neustart der CCU2 direkt nach einem Anlernvorgang vermeiden.

Mit V2.3.17 wird alles besser! Noch glaube ich daran … :smiley:

Cheers
/Jens

Immerhin reagieren sie zur Zeit etwas schneller mit Updates und beheben auch manche Fehler :rolleyes: :smiley:

als wer :eek: :loveips: :D:D:D:D:D:D

Als das Jahr zuvor :wink:

Hi,

wie sind denn Eure Erfahrungen mit der neuen Firmware?

Bezüglich des ständigen Crash des RFD Service habe ich mit 2.3.17 leider keine Verbesserung feststellen können.
Ich habe hier ein paar Verbesserung des rfd watchdog Scripts eingefügt.

Aber irgendwie erwarte ich von Homematic das ihr System auch ohne solche Verrenkungen zuverlässig läuft.
Wenn ich nicht bereits soviel Geld in das System investiert hätte, würde ich den ganzen M*** ersetzen.
Jetzt habe ich nochmal Geld für CCU2 und RS485 LAN Interface ausgegeben und nun sowas! :mad:

Ähnliches bei mir … bisher aber nur nach Änderungen bzw. Anlernvorgängen.

@Heimgeist

Was richtig nervt ist, dass die letzten beiden Male rfd noch lief, d.h. Dein Script zog nicht und die Servicemeldungen wurden kontinuierlich mehr. Überlege gerade ob es Sinn macht als Trigger noch „Anzahl Servicemeldungen > 15“ o.ä. einzubauen …

Ich hab das nicht bei mir. Mhmmmm, muss ich mir Sorgen machen?

Bei mir läuft es auch, mache mir aber keine Sorgen :wink: :smiley:

Was richtig nervt ist, dass die letzten beiden Male rfd noch lief, d.h. Dein Script zog nicht und die Servicemeldungen wurden kontinuierlich mehr. Überlege gerade ob es Sinn macht als Trigger noch „Anzahl Servicemeldungen > 15“ o.ä. einzubauen …

Das wäre auch eine Möglichkeit. Bringt aber auch keine finale Sicherheit.

Ich denke aber gerade an einen „externen“ Ansatz. Man nehme einen Homematic RS485- und einen Funk-Aktor Ausgang. Diese werden per Homematic Script pro Minute ein/aus geschaltet. Die Ausgänge der beiden Aktoren lege ich auf Eingänge meiner LOGO oder PoKeys.
IPS überwacht, ob sich der Zustand der beiden Eingänge ändert. Falls die Änderung über einen längeren Zeitpunkt ausbleibt wird der CCU2 kurz der Strom abgedreht.

@Boui & Powerfreddy

sollen wir die CCU2 mal tauschen? :stuck_out_tongue:

Ich verstehe auch nicht so ganz warum bei manchen Usern dieses Problem auftritt.
Wenn ich wüsste dass es was bringt, würde ich einen Werksreset machen und alles neu anlernen.
Wäre aber bei mir aber mindestens ein Wochenende arbeit.

Ich leite bei uns u.a. das Qualitätsmanagement. Bei eQ3 würde ich wahrscheinlich verzweifeln. :slight_smile:

Durch den Umstieg vom LAN-Aapter musste ich neu anlernen, von dem her :rolleyes:

Passt vielleicht nicht aber bei mir lag das Problem (Absturz CCU) an der hohen Nachrichtenmenge. Ich habe mir einen speziellen Layer in PHP geschrieben der die IPS Nachrichten an die CCU auf ~ 5% reduziert. Seitdem ist das Problem behoben.
(Ich habe 3 CCU`s 2 davon Raspberries und OK das hat etwas mit meinem Spieltrieb zu tuen)

Ich habe mir einen speziellen Layer in PHP geschrieben der die IPS Nachrichten an die CCU auf ~ 5% reduziert. Seitdem ist das Problem behoben.

Hört sich interessant an. Kannst Du Deine Lösung mal näher erläutern?

Der PHP Layer läuft bei mir noch im Testbetrieb. Ich habe vor das script irgendwann vor Ende des Jahres hier zu posten.

Hier schon mal die Beschreibung für alle die sich dafür interessieren :

Kommunikation`s Manager IPS <-> HOMEMATIC CCU

1.) Ausgangssituation
Die Kommunikation von IPS zum Endgerät (DEVICE) einer HOMEMATIC Installation hat eine Reihe von „Bottlenecks“ die unter Umständen dazu führen können das entweder

[ul]
[li]a. der Zustand des DEVICE in IPS nicht richtig wiedergegeben wird
[/li]
[li]b. das Device nicht geschaltet wird
[/li]
[li]c. die Kommunikation zwischen IPS und der HOMEMATIC CCU (Socket) zum Erliegen kommt
[/li]
[li]d. die HOMEMATIC CCU abstürzt.
[/li]
[li]
[/li][/ul]

Die Bottlenecks lassen sich wie folgt erklären:

[ul]
[li]a. Der Funkkanal zwischen DEVICE und CCU kann überlastet werden. Das trifft auf den Sende- wie auch auf den Empfangskanal zu. Die CCU wie auch die DEVICES unternehmen nur eine begrenzte Anzahl von Verbindungsversuchen und brechen dann unter Umständen ab ohne das geschaltet wurde oder das ein Update über den Zustand erfolgen konnte.
[/li]
[li]b. Die CCU muss als zentraler Knoten alle Änderungen richtig speichern und weitergeben. Überschreitet die zu verarbeitende Menge an Daten einen Grenzwert stürzen Teilkomponenten der CCU Software ab. Das kann insbesondere dann zu zusätzlichen Problemen mit der Konsistenz der Daten auf der CCU führen wenn zum Zeitpunkt einer Überlastung ein neues DEVICE an der CCU angelernt wird.
[/li][li]
[/li][/ul]

IPS ist ein echtes Ereignisgesteuertes Multitasking System mit Realtime Charakter. Der Programmierer muss um eine Überlastung von IPS sowie aller Folgekomponenten (XML / CCU / DEVICE) zu vermeiden, verhindern das Überlast Situationen auftreten.

Eine typische Situation könnte dadurch entstehen wenn man zum Beispiel die Warmwasser (Umwälz) Pumpe nur dann anschalten will wenn warmes Wasser auch gebraucht wird. Nutzt man dazu mehrere Bewegungsmelder die jede Bewegung an IPS weitergeben um über eine Eventsteuerung die Warmwasserpumpe anzuschalten kann, wenn zum Beispiel mehrere Personen im Haus sind, dass dazu führen das das IPS Programm mehrfach gleichzeitig gestartet wird um die Warmwasser Pumpe gleichzeitig Ein und Auszuschalten. Natürlich kann man beim Programmieren darauf achten das eine solche (unsinnige) Situation vermieden wird.

Eine ähnliche Situation kann sich ergeben wenn die Bewegungsmelder im Haus dazu genutzt werden um Lichter ein und auszuschalten oder um eine Alarmanlage oder auch mehrere 16-LED-Display`s zur Anzeige von Bewegungen in den verschiedenen Räumen des Hauses über IPS anzusteuern.

Die Ansteuerung von Rollläden (in diesem Fall 22) kann man über das Schließen der Haustür auslösen. In IPS kann das dazu führen das wie in meinem Fall 22 parallel laufende Instanzen versuchen 22 DEVICES anzusteuern und wenn die Haustür auch die Beleuchtung ansteuert kommen in diesem Fall nochmals 10 DEVICES dazu also insgesamt 32 parallel laufende Prozesse über IPS- XML – CCU – DEVICE und das in beide Richtungen.

Der Datenverkehr zwischen IPS und der CCU bzw. dem DEVICE könnte auch reduziert werden wenn ein DEVICE nur dann geschaltet wird wenn sich der IST Zustand vom SOLL Zustand unterscheidet. In den meisten Fällen funktioniert das auch, allerdings nicht immer. Das kann dann zu kritischen Situationen führen wenn zum Beispiel die Heizung ausgeschaltet werden soll und IPS glaubt der Befehl war erfolgreich (Variablen des DEVICE) aber in Wirklichkeit hat in bestimmten Fällen die CCU bzw. das DEVICE den Befehl nie ausgeführt. Da ab diesem Zeitpunkt die Raumtemperatur nur noch steigen kann und IPS glaubt das die HEIZUNG bereits ausgeschaltet ist kann dieser Fehler nur noch durch manuellen Eingriff behoben werden. Es muss daher eine Möglichkeit gefunden werden diese Situation zeitnah zu korrigieren.

Lösungsansatz
Es bietet sich an eine zentrale Kommunikations Schnittstelle zur Ansteuerung der CCU zu implementieren um die zuvor genannten Probleme zu behandeln. Die Schnittstelle ist in der Lage die folgenden Situationen zu managen :

[ul]

[li]Die Schnittstelle wird über einen WaitEX Befehl aufgerufen um auf dieser Ebene die Kausalität der Ereignisse zu gewährleisten.
[/li]
[li] Durch die Nutzung einer Semaphore wird sichergestellt das ein Device nie gleichzeitig mehrfach angesteuert wird
[/li]
[li] Wann immer ein DEVICE angesteuert wird, legt IPS den Zeitpunkt in einer eignen Schnittstellen Datenbank ab (Herzlichen Dank an Stele99 für die Scripts im Forum http://www.ip-symcon.de/forum/threads/20529-Script-(Klasse)-um-dauerhaft-Variablen-bzw-Arrays-zu-speichern]), das heißt der Zeitpunkt des letzten erfolgreichen Verändern des Devices wird gespeichert. Die Schnittstelle vergleicht IST und SOLL nur wenn der Zeitpunkt der letzten Änderung der DEVICE Zustandsvariablen in der (Original) IPS Datenbank identisch bzw. jünger ist als der Zeitpunkt in der Datenbank der Schnittstelle. Für den Fall das der Eintrag in der IPS Datenbank älter ist wird das DEVICE auf jeden Fall angesteuert da aus irgendwelchen Gründen der letzte Schaltbefehl nicht in der Status Variable des Devices gespeichert wurde. Für den Fall der Eintrag in der IPS Datenbank aktuell ist wird geprüft ob der IST Zustand vom SOLL Zustand abweicht und bei Bedarf wird das DEVICE angesteuert. Für den Fall das es sich bei dem DEVICE um einen Jalousienaktor handelt wird das zeitverhalten mit in die Bewertung einbezogen. Dazu untersucht das Programm ob sich der Aktor bereits in die richtige Richtung bewegt und schaltet nur dann, falls das nicht der Fall ist bzw. wenn das nicht zutrifft, wenn die Endposition vom SOLL Wert abweicht. Das aktivieren der Aufzeichnung der Variablenwerte in der IPS Datenbank erfolgt automatisch.
[/li]
[li] Wenn ein DEVICE geschaltet wird überprüft das Programm die Rückmeldung von IPS. Bei negativer Quittung wird der Zustand des DEVICE bei der CCU aktiv abgefragt und falls das Ergebnis positiv ist (IST = SOLL) wird die Fehlerroutine abgebrochen. Für den Fall einer Abweichung wird das DEVICE so lange geschaltet bis entweder SOLL mit IST übereinstimmt oder die maximale Anzahl der Ansteuerungsversuche erreicht wurde. In diesem Fall wird mit einer Fehlermeldung abgebrochen.
[/li]
[li] DEVICES die nicht erfolgreich angesteuert werden konnten, werden in eine Liste eingetragen und zukünftig nicht mehr dem SOLL = IST vergleich unterworfen, das heißt sie werden ab sofort immer angesteuert da der echte physikalische Zustand des Geräts nicht mit Bestimmtheit ermittelt werden kann. Der Nutzer kann DEVICES die sehr häufig geschaltet werden und die von Ihrer Funktion nicht zu kritischen Fehlersituationen führen können (z.B. LED Display) in eine Liste eintragen. Diese DEVICES werden von der Fehlerbehandlung ausgenommen da sich der Fehler nach einer gewissen Anzahl von Ansteuerungen meistens von selbst korrigiert.
[/li]
[li] In einer weiteren Liste können DEVICES abgelegt werden die unter keinen Umständen angesteuert werden dürfen (z.B. Sonnenschutzrollos auf dem Dach im Winter wenn Schnee auf dem Fenster liegen kann)
[/li]
[li] Zur Überwachung der Schnittstelle gibt es eine Reihe von Statistik Funktionen die detailliert Auskunft geben über :
[/li]
[li] Wirkungsgrad der Schnittstelle (Verhältnis von Programm Ansteuerungen eines DEVICES zu echten Schaltvorgängen) in meinem Fall führen bei Anwesenheit nur ca. 4% aller Befehle zu einer CCU Ansteuerung und bei Abwesenheit sogar nur 2%.
[/li]
[li] Grafische Darstellung der (echten) Nachrichten an jede CCU pro Minute um Stoßzeiten zu ermitteln und das Programm verhalten zu optimieren. Im Verlauf der Entwicklung der Schnittstelle konnte der Spitzenwert von 50 Nachrichten/Min. auf 20 Nachrichten/Minute optimiert werden.
[/li]
[li] Das Auftreten der verschiedenen Fehler wird aufgezeichnet und erlaubt dem Nutzer Zusammenhänge besser zu verstehen und Gegenmaßnahmen zu ergreifen wie zum Beispiel die Verteilung von Devices auf verschiedene CCU`s.
[/li]
[li] Für jedes genutzte DEVICE gibt es eine Information wie oft es angesteuert wurde und wie oft der Zeitstempel nicht aktuell war (Absoluter Wert und Prozentual) Die prozentuale Veränderung kann grafisch ausgewertet werden um das Zeitverhalten des Fehlers zu verstehen.
[/li][/ul]

Respekt für diese Grundlagenforschung!