Verbindungsprobleme IPS und CCU3 mit HMIP

Hallo,

Frage an die Spezialisten unter euch.

Ich habe eine CCU3 (Charly) mit HM und HMIP Geräten. Letzte Woche hatte ich plötzlich keine Verbindung mehr mit dem HM Socket mehr. Nach Neustart von meinem IPS Server (auf Win2019 in einer VMWare) und der CCU konnte ich diese wieder verbinden. Es schien auch alles zu funktionieren, ich bin dann nur drauf gekommen, dass die HMIP Geräte Probleme machen. Ausgefallen ist es mir als erstes bei den Sensoren an den Türen und Fenstern.

Das Problem ist, dass in der CCU3 das Öffnen/Schliessen am Sensor problemlos funktioniert nur in der IPS kommt das nur zeitweise (meistens nicht, ca. 90% Verlust) an. Der Kanal mit den Statusvariablen (Akku, etc.) funktioniert immer.

Bei den Tastern (Fernbedienung) ist es das gleiche, nur dass diese etwas öfters funktionieren (so ca. zu 50%). Auch hier das gleiche, der Statuskanal geht immer, nur die anderen Kanäle aktualisieren nur wenn sie gerade Lust dazu haben. In der CCU sehe ich den Tastendruck aber immer.

IPS Server und CCU sind im selben LAN (sogar am selben Switch), Firewall am Windows Server ist für IPS komplett freigeschalten (es gehen ja auch Pakete vom Status durch, nur nicht vom Sensor).

Tausch vom RPi in der CCU3 hab ich auch schon gemacht, das Funkmodul kommt erst nächste Woche.

Irgendeine Idee wo ich ansetzen könnte?

Danke, Andy

PS: Die HM Geräte gehen ohne Probleme

bei mir lag die CCU3 auf dem Metallfuss des Monitors. Jetzt hängt sie daneben an der Wand und funktioniert einwandfrei.

Gruß, Peter

Regelmäßige Abbrüche kenne ich, wenn der HmIPServer auf der CCU abstürzt.
Früher hat er nicht neu gestartet, bei der OCCU macht er es und zählt auch wie häufig er abgestürzt ist.
Michael

Hallo,

sorry für die späte Rückmeldung von mir, musste am WE arbeiten und danke für eure Rückmeldungen.

@Nall-chan : Kannst du mir sagen, wo ich den Zähler für die Abstürze finde. Danke.

Ich habe inzwischen auf die letzte OCCU Version 3.87.6.20260509 aktualisiert, het für einen halben Tag auch gut ausgesehen, dann war aber das Problem wieder da, die CCU gibt die Ereignisse einfach nicht an die IPS weiter. Die Sensoren zeigen auf der CCU die richtigen Werte an, aber die IPS erhält keine Aktualisierung der Daten. Ich werde das am WE mal mit wireshark etwas genauer noch analysieren, einstweilen habe ich mir zumindest für die paar Sensoren einen Workaround gebaut. Auf der CCU laufen ein paar Programme die durch Änderung der Sensoren ausgelöst werden und einen virtuallen HM Schalter (nicht HMIP! die fallen auch aus, wenn mehrere ganz schnell hintereinander betätigt werden) betätigen. IN IPS triggere ich dann Scripte mit diesen Schaltern mit denen ich dann mit HM_RequestStatus die Variable aktualisiere. Das klappt soweit ganz gut. Leider mus ich da für fast jeden Sensor ein eigenes Script bauen. Ich muss mal schauen, ob ich nicht über einen Webhook den Sensor von der CCU an IPS weitergeben kann, dann würde ich nur ein Script brauchen. Keine Ahnung, ob die CCU das hergibt.

Bei den Schaltern (HMIP-WRC6 usw.) muss ich halt manchmal mehrmals schalten bis IPS reagiert. Da habe ich einstweilen noch nichts gebaut.

Ich halte euch am laufenden und bin für jeden Tip froh. Danke.

lg, Andy

Unter den Alarmmeldungen.
Ja, ich hatte einen Stromausfall :laughing:

Danke. die Alarme sind bei mir leer. lg

Kannst du mal im Debug vom HomeMatic Socket schauen, ob dort die EVENTs ankommen? Ich vermute dort wird das Problem liegen. Ich vermute Schalten kannst du zuverlässig?

paresy

Hallo, hab das schnell mal in der Mittagspause getestet. Meine Scripts (HM_RequestStatus) deaktiviert und das Tor auf und zu gemacht. Das Öffnen war im Log, das Schliessen nicht mehr. Erst als ich nach 20 Minuten mein Script wieder gestartet habe. Hab das Log als Datei gespeichert, falls benötigt.

Es sieht so aus, als würde nichts in IPS ankommen.

lg, Andy

PS: am WE werde ich noch mit Wireshark schauen, ob da auch Netzwerkmässig nichts ankommt oder von der CCU gesendet wird.

Du hast aber jetzt nicht das gemacht, was die helfende Hand gefragt hat. :man_shrugging:

Und auf welcher Symcon Version bist du?

Hallo,

ich bin auf Symcon 9.0 (seit heute Mittag auf der letzten von 15.4.2026).

Ich glaube schon dass ich das gemacht habe was gefragt wurde, zumindest wie ich es verstanden habe. In IPS beim Homematic Socket auf Debug gehen => neuer Reiter. Dort hab ich dann ausgewählt. Test gemacht, und nach einer halben Stunden IPS neu gestartet. Datei debug_12345.log com Server geholt und im Texteditor nach der HM-ID (0123456789ABCD:1)des Sensors vom Tor gesucht. 6x gefunden, 1x um 11:37 beim öffnen vom Tor, 5x nach 12:00 (da hatte ich dann mein Script wider gestartet).

Hätte ich was anderes machen sollen, dann sorry, dann hab ich da was falsch verstanden, bitte um Nachsicht.

lg, Andy

PS: Was ich vergessen habe zu beantworten, ja ich kann die Aktoren problemlos ansteuern, d.h. es kommt mir so vor, als ob die Befehle von IPS zu CCU nicht verloren gehen.

Guten Morgen,

ich muss mich mal hier anschließen.

Ich habe in letzter Zeit auch Probleme, dass der Status von OpenCCU und Symcon nicht stimmt.
Bei einen Fenster/Türsensor scheinen teilweise die Paktete in Symcon nicht anzukommen. Erst bei dem nächsten Statusaktulisierungszyklus von OpenCCU wird der Wert in Symcon korrekt aktualisert.

Ich habe Symcon und OpenCCU als VM auf einem Proxmox Server laufen.
OpenCCU:
Version: 3.87.6.20260509 (ova)

Symcon:
Symcon 9.0, Ubuntu (amd64), 13.05.2026, 6574baac9089
läuft auf Ubuntu 24.04.4 LTS

Debug vom HM I/O hatte ich jetzt noch nicht offen. Tritt nur sporadsich auf.

Gibt es schon Erkenntnisse?

Ich versuche das bei Gelegenheit noch einmal nachzustellen.

Einen guten Start in die Woche!
Uli

Hallo, ich hab am Wochenende immer wieder versucht das ganze mit Wireshark zu analysieren (ob die Pakete von der CCU weggeschickt werden und an der IPS ankommen), aber was soll ich sagen, zur Zeit kann ich das Problem nicht nachstellen (Gartentor auf, wieder zu, Status jedes mal da), es geht einfach ein jedes mal. Ich bleib aber dran.

Ich hab trotzdem noch das Programm auf der CCU für die aktive Abfrage fertig gemacht, das Script auf der IPS fehlt noch. Ich löse mit dem CCU Script einen Webhook aus und übergebe die HM Geräte ID. Das muss ich jetzt noch in der IPS auswerten und den aufrufenden Sensor aktualisieren. Werde ich im laufe der Woche fertig machen.

lg, Andy

@ubittner Kannst du einmal schauen, ob bei dir der HTTP Server auf Symcon immer sauber verfügbar ist? D.h. kannst du über IP-Adresse:5544 immer zugreifen?

paresy

Hallo Michael,
im Moment ja:
HomeMatic event muncher is ready!

Ich werde es aber nochmals prüfen, falls er wieder hängt.

Uli

Hallo, ich hab gestern noch die Workaround Skripte für die Synchronisation über Webhook fertig gestellt.

Auf der CCU läuft ein Programm das bei jeder Änderung eines Sensors ausgelöst wird und den Kanal der Auslösers an den Webhook in IPS sendet.

Das Programm in der CCU:

! Auslösenden Datenpunkt abfragen
object trigObj = dom.GetObject("$src$");

string ch = "Unbekannt";

if (trigObj) {
    ! Kanalobjekt ermitteln
    object ch = dom.GetObject(trigObj.Channel());
  }

string webhook_url = "http://<IP-SymconServer>:3777/hook/CCUSensor?kanal="#ch;
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '" # webhook_url # "'");

Wichtig: in dem Skript den Wert durch die IP des Symcon Servers ersetzen.

Auf der CCU muss CUxD laufen für den Webaufruf.

In IPS hab ich einen Webhook mit dem Namen CCUSensor angelegt der folgendes Programm triggert:

<?php

$data_in = $_GET;

$hmipch = "ch-error";
@$hmipch = $data_in['kanal'];
//IPS_LogMessage("CCU-Debug", $hmipch);

if ($hmipch != "ch-error")
{
    SetValue(25231, GetValue(25231)+1);
    $hmipch = substr($hmipch, strpos($hmipch, ' ')+1, 32);
    //IPS_LogMessage("CCU-Debug2", $hmipch);
    $all_HMIDs = IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
    foreach ($all_HMIDs as $HMID)
    {
        if (IPS_GetProperty($HMID, 'Address') == $hmipch)
        {
            $all_childIDs = IPS_GetChildrenIDs($HMID);
            foreach ($all_childIDs as $childID)
            {
                HM_RequestStatus($HMID, IPS_GetName($childID));
                //IPS_LogMessage("CCU-Debug3", $hmipch . " = " . $HMID . " ( " . IPS_GetName($HMID) . " ) --> " . IPS_GetName($childID));
            }
        }
    }
}
else
{
    IPS_LogMessage("CCU-Sync", $hmipch . " Fehler bei Aufruf");
}

?>
else
{
    IPS_LogMessage("CCU-Sync", $hmipch . " Fehler bei Aufruf");
}

?>

Ich hoffe das hilft.

lg, Andy

Hallo,

es hat sich ein kleiner Fehler ins Programm eingeschlichen. Ich habs im Beitrag oben korrigiert. Ich hatte 2 Variablen verwechselt und deswegen hat der HM_RequestStatus nicht funktioniert.

lg, Andy

Gestern morgen hatte ich wieder so einen Fall:

OpenCCU: geschlossen

Symcon: offen

Als ich es bemerkt habe, habe ich den Socket geprüft, der war da:

Was mir aber auch aufgefallen ist, dass die Ram Auslastung sehr hoch ist, es gab ja bereits ein anderes Thema mit eventuell Memmory Leak.

Hier meine VM mit 4GB RAM:

Habe das jetzt mal auf 6GB erhöht, nach einem Neustart sieht die Auslastung erst einmal gut aus:

Ich versuche jetzt noch in die Logs zu schauen, ob ich dort etwas finde.
@paresy
Wie kann ich noch unterstützen?

Uli

Hallo,

kurzes Status Update. Ich konnte heute leider nichts testen, am Vormittag hatte ich wieder das Problem, dass die CCU nicht mehr wollte und der Homematic CCU Socket keine Verbindung mehr zur CCU hatte. Über das GUI der CCU konnte man nichts mehr machen. Über SSH konnte ich die CCU neu starten, aber sobald ich in der IPS den Homematic CCU Socket neu gestartet habe, war es wieder das gleiche. Bis dahin ging auf der CCU alles.

Am Nachmittag hab ich dann die CCU durch eine neue ersetzt (neuer PI4 und neues Funkmodul). Ich dort allerdings mal eine ältere Version installiert, da ich von damals auch noch ein Backup hatte. Version RaspberryMatic-3.81.5.20250326.

Kurz gesagt hat nichts geholfen. Also wieder zurück zur alten CCU (mit aktueller Software).

Den nächsten Test den ich machen wolte, war den Homematic CCU Socket neu zu machen. Zu Sicherheit habe ich noch einen Snapshot davor gemacht. Dazu habe ich den Server ausgeschalten. Als ich den wieder gestartet hatte, hat auch der Homematic CCU Socket wieder funktioniert.

Dabei habe ich es dann mal belassen.

Ich habe mir als das ganze nicht funktionert hat noch die Logs auf der CCU angeschaut (/var/logs) aber da war ausser meiner Web Verbindung nichts zu sehen.

Auf der CCU hab ich mir das Monit Web Interface aktiviert, da hat man aber auch keinen Unterschied zwischen funktionierender und abgestürtzer CCU gesehen.

Der DUMP vom Homematic CCU Socket zeigt auch nicht viel:

TXT: 20.05.2026, 16:04:02 |          TRANSMIT RF | <?xml version="1.0" encoding="ISO-8859-1"?><methodCall><methodName>init</methodName><params><param><value><string>http://192.168.12.99:5544</string></value></param><param><value><string>IPS-192.168.12.99</string></value></param></params></methodCall>
HEX: 20.05.2026, 16:04:02 |          TRANSMIT RF | 3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31 2E 30 22 20 65 6E 63 6F 64 69 6E 67 3D 22 49 53 4F 2D 38 38 35 39 2D 31 22 3F 3E 3C 6D 65 74 68 6F 64 43 61 6C 6C 3E 3C 6D 65 74 68 6F 64 4E 61 6D 65 3E 69 6E 69 74 3C 2F 6D 65 74 68 6F 64 4E 61 6D 65 3E 3C 70 61 72 61 6D 73 3E 3C 70 61 72 61 6D 3E 3C 76 61 6C 75 65 3E 3C 73 74 72 69 6E 67 3E 68 74 74 70 3A 2F 2F 31 39 32 2E 31 36 38 2E 31 32 2E 39 39 3A 35 35 34 34 3C 2F 73 74 72 69 6E 67 3E 3C 2F 76 61 6C 75 65 3E 3C 2F 70 61 72 61 6D 3E 3C 70 61 72 61 6D 3E 3C 76 61 6C 75 65 3E 3C 73 74 72 69 6E 67 3E 49 50 53 2D 31 39 32 2E 31 36 38 2E 31 32 2E 39 39 3C 2F 73 74 72 69 6E 67 3E 3C 2F 76 61 6C 75 65 3E 3C 2F 70 61 72 61 6D 3E 3C 2F 70 61 72 61 6D 73 3E 3C 2F 6D 65 74 68 6F 64 43 61 6C 6C 3E 

lg, Andy

Achja, das Script in der IPS habe ich noch etwas erweitert, es prüft jetzt die letzte Akutalisierung der Variable und macht nur bei Bedarf eine HM_RequestStatus.

Es gibt 2 Zähler Variablen vom Typ Intager (12345 und 54321, die eine zählt alle Aufrufe, die andere nur wenn ein HM_RequestStatus gemacht wurde. Gezählt wird aber nur pro HM Gerät und nicht pro aktualisierter Variable). Damit bekommt man einen Überblick ob vielleicht die Verbind eh wieder stabil läuft. Die Variablen setze ich um Mitternacht immer wieder auf 0.

Ein Logging in eine Datei baue ich auch noch ein, damit man den Sensor der nicht meldet weiss.

<?php

$data_in = $_GET;

$hmipch = "ch-error";
@$hmipch = $data_in['kanal'];
//IPS_LogMessage("CCU-Debug1", $hmipch);

$request_used = false;

if ($hmipch != "ch-error")
{
    SetValue(12345, GetValue(12345)+1);
    $hmipch = substr($hmipch, strpos($hmipch, ' ')+1, 32);
    //IPS_LogMessage("CCU-Debug2", $hmipch);
    $all_HMIDs = IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
    foreach ($all_HMIDs as $HMID)
    {
        if (IPS_GetProperty($HMID, 'Address') == $hmipch)
        {
            $all_childIDs = IPS_GetChildrenIDs($HMID);
            foreach ($all_childIDs as $childID)
            {
                $Var_array = IPS_GetVariable($childID);
                //PS_LogMessage("CCU-Debug3", time() . " - " .  $Var_array["VariableUpdated"] . " = " . time()-$Var_array["VariableUpdated"]);
                if (time() - $Var_array["VariableUpdated"] > 1)
                {
                    HM_RequestStatus($HMID, IPS_GetName($childID));
                    IPS_LogMessage("CCU-Debug4", $hmipch . " = " . $HMID . " ( " . IPS_GetName($HMID) . " ) --> " . IPS_GetName($childID));
                    $request_used = true;
                }
            }
        }
    }
}
else
{
    IPS_LogMessage("CCU-Sync", $hmipch . " Fehler bei Aufruf");
}


if ($request_used)
{
    SetValue(54321, GetValue(54321)+1);
}

?>

lg, Andy

PS: wenn ich noch etwas testen, loggen soll, bitte um kurze Info was ich machen soll. Danke für eure Unterstützung!

So hier der Log aus Symcon zu dem Ereignis:

...
19.05.2026 07:10:57 | 47459 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\SABOTAGE] = false
19.05.2026 07:10:57 | 29565 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\CONFIG_PENDING] = false
19.05.2026 07:10:57 | 42354 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\DUTY_CYCLE] = false
19.05.2026 07:10:57 | 15247 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\LOW_BAT] = false
19.05.2026 07:10:57 | 56461 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\UNREACH] = false
19.05.2026 07:10:57 | 40378 | MESSAGE | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\RSSI_DEVICE] = -65
19.05.2026 07:10:57 | 43958 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\OPERATING_VOLTAGE_STATUS] = 0
19.05.2026 07:10:57 | 30227 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\OPERATING_VOLTAGE] = 1.4000000000
19.05.2026 07:10:57 | 20757 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\ERROR_CODE] = 0
...

Was mich wundert, es kommt etwas an, aber nur kein State ?

Erst wieder zu einem späteren Zeitpunkt, also die automatische Aktualiserung:

19.05.2026 07:19:21 | 58209 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:1\STATE] = 1
...
19.05.2026 07:19:21 | 43958 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\OPERATING_VOLTAGE_STATUS] = 0
19.05.2026 07:19:21 | 38136 | MESSAGE | VariableManager      | [Symcon\Warnmelder\Batteriemelder\Batteriemelder\Letzte Aktualisierung] = 19.05.2026 07:19:21
19.05.2026 07:19:21 | 30227 | MESSAGE | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\OPERATING_VOLTAGE] = 1.3000000000
19.05.2026 07:19:21 | 20757 | DEBUG   | VariableManager      | [Symcon\Homematic\UB OG Schlafzimmer\UB OG Schlafzimmer Fenster rechts:0\ERROR_CODE] = 0
...