hap-homematic icon indicating copy to clipboard operation
hap-homematic copied to clipboard

HAP-Homematic hängt sich sporadisch auf (1x pro Tag)

Open fwiehl opened this issue 2 years ago • 69 comments

Ich habe seit geraumer Zeit das Problem, dass sich mein Addon HAP-Homematic sporadisch aufhängt. Nach Neustart des Addons funktioniert es dann wieder für eine Zeit lang.

Meine Umgebung: Original CCU3 mit aktueller Firmware 3.63.9 Addons: CUx_d version 2.8

Ich hatte schon die CUx-D Version 2.9.1 installiert, aber dann wieder die Datensicherung mit Stand 2.8 eingespielt, da ich der Vermutung war, dass es an der CUx-D Version liegt. Dem ist aber nicht so. Auch mit der Version 2.8 habe ich die Abbrüche.

Ich habe in meiner HAP-Homematic 134 verbundene Geräte und 24 laufende HAP-Instanzen. Meine CCU3 läuft stabil und zuverlässig. Alle verbundenen Geräte sind erreichbar und mit aktueller Firmware.

Normalerweise wenn alles läuft sind folgende Einträge in der CCU3 Log ersichtlich: Jun 14 05:35:13 ccu3-webui daemon.info cuxd[725]: INIT 'xmlrpc_bin://192.168.10.112:9876' '(null)' Jun 14 05:35:13 ccu3-webui daemon.info cuxd[725]: INIT 'xmlrpc_bin://192.168.10.112:9876' 'HAP_CUxD.' Jun 14 05:40:23 ccu3-webui daemon.info cuxd[725]: INIT 'xmlrpc_bin://192.168.10.112:9876' '(null)' Jun 14 05:40:23 ccu3-webui daemon.info cuxd[725]: INIT 'xmlrpc_bin://192.168.10.112:9876' 'HAP_CUxD.'

Bevor das Addon sich verabschiedet ist folgender Log ersichtlich: Jun 14 05:46:15 ccu3-webui daemon.info cuxd[725]: save paramsets(/usr/local/addons/cuxd/cuxd.ps) size:4268 Jun 14 05:50:07 ccu3-webui daemon.info cuxd[725]: INIT 'xmlrpc_bin://192.168.10.112:9876' '(null)' Jun 14 05:50:07 ccu3-webui daemon.info cuxd[725]: INIT 'xmlrpc_bin://192.168.10.112:9876' 'HAP_CUxD.' Jun 14 06:00:09 ccu3-webui daemon.err cuxd[725]: sendbinrpc(192.168.10.112:9876) - write() Connection refused Jun 14 06:00:09 ccu3-webui daemon.warn cuxd[725]: disable events to 192.168.10.112:9876

Jun 14 05:51:36 de.eq3.cbcs.legacy.bidcos.rpc.internal.LegacyNotificationHandler WARN [vert.x-worker-thread-3] Remove interface: HAP_HmIP-RF. http URL: http://127.0.0.1:9875 from client list because of communication problem

Hier hilft dann nur ein Neustart des Addon HAP-Homematic und dann läuft sie wieder bis zu einer unbestimmten Zeit normal.

Ich bitte um Problemlösung.

fwiehl avatar Jun 14 '22 06:06 fwiehl

Leider immer noch dasselbe Problem. Nach einem Tag hängt das Addon HAP-Homematic

Fehlerprotokoll CUxD Syslog ccu3-webui daemon.info cuxd[671]: INIT 'xmlrpc_bin://192.168.10.112:9876' '(null)' ccu3-webui daemon.info cuxd[671]: INIT 'xmlrpc_bin://192.168.10.112:9876' 'HAP_CUxD.' ccu3-webui daemon.err cuxd[2958]: sendbinrpc(192.168.10.112:9876) - write() Connection refused

Hast Du eine Idee, Thomas? Was hat das Addon HAP-Homematic eigentlich mit dem CUx-Daemon zu tun?

fwiehl avatar Jun 16 '22 09:06 fwiehl

Generell hat HAP-HomeMatic nichts mit dem CUxD zu tun. Nur wenn du ein CUxD Gerät über HAP-HomeMatic and HomeKit durchreichst, haben die etwas miteinander zu tun.

Port 9875 -> RPC event server Port 9876 -> RPC event server CuxD (optional)

jb-home avatar Jun 18 '22 09:06 jb-home

Die beide Instanzen sind nicht unter den Instanzen beim HAP-Homematic Addon aufgeführt. Wo kann ich diese (Port 9875 und 9876) Einsehen?

fwiehl avatar Jun 18 '22 13:06 fwiehl

Hier mein Status des CUx-Daemons: ` USB 1-1 - (9514) [HUB] - Sat Jun 18 16:05:28 2022 USB 1-1.1 - (ec00) [FF] - no driver - Sat Jun 18 16:05:28 2022 Kein TTY-Device connected!

Erfolgreich mit HomeMatic-CCU 127.0.0.1:8183 verbunden!

als RPC-Server(INIT) von 127.0.0.1:9876 (HAP_CUxD.) angefordert! als RPC-Server(INIT) von HomeMatic-CCU (6044) angefordert!

Diese Web-Seite wurde aufgerufen von: 192.168.10.91

CUxD-Uptime(2.9.1): 0 Tag(e) 00:04:16, 103224 Bytes belegt, Compiled May 22 2022 22:42:33 CCU-Uptime(3.63.9): 0 Tag(e) 00:05:52, load-average: 0.67 0.90 0.45, 10s-cpu-load: 7.3% Speicher: Total 994132k Used 637676k Free 356456k (Cached 313484k) Available 695304k CPU(1): ARMv7 Processor rev 4 (v7l) [38.40 bogomips] CPU(2): ARMv7 Processor rev 4 (v7l) [38.40 bogomips] CPU(3): ARMv7 Processor rev 4 (v7l) [38.40 bogomips] CPU(4): ARMv7 Processor rev 4 (v7l) [38.40 bogomips] Linux version 4.14.34 (jenkins@6fe303462e12) (gcc version 7.3.0 (Buildroot 2018.08.2-00081-g091498dc-dirty)) #1 SMP PREEMPT Mon Apr 25 17:16:00 CEST 2022 aktive CCU-Prozesse: ReGaHss(1) rfd(1) hs485d(0) java(1)`

fwiehl avatar Jun 18 '22 14:06 fwiehl

Guck dir mal bitte #437 an... vielleicht hilft dir der tägliche restart erst einmal? Dann könnte man das ganze danach nochmal genauer auseinander nehmen ;) ich habe den restart bei mir aber auch einfach drin gelassen - glaub ich

blackbasket avatar Jun 18 '22 14:06 blackbasket

Wo muss ich den Cronjob /etc/config/rc.d/hap-homematic restart einrichten?

fwiehl avatar Jun 18 '22 14:06 fwiehl

Wenn ich das noch so genau wüsste :D ich hatte gehofft, es steht im Ticket... ich suche nachher mal ;)

blackbasket avatar Jun 18 '22 14:06 blackbasket

Soll ich die HomeMaticRPC.js wie im Beitrag auch austauschen? (Reconnect Watchdog entfernt)

fwiehl avatar Jun 18 '22 15:06 fwiehl

Ne, das müsste schon ewig im Release drin sein... mein Ticket ist ja auch noch uralt...

blackbasket avatar Jun 18 '22 15:06 blackbasket

In meinen HAP Einstellungen steht der Watchdog Timout auf 300. Soll ich den mal auf 0 stellen?

fwiehl avatar Jun 18 '22 15:06 fwiehl

ja, mach das mal... bei mir steht er zumindest auf 0...

blackbasket avatar Jun 18 '22 16:06 blackbasket

Im alten Ticket steht der Ort übrigens direkt im Post unter den restart-Befehl ;)

blackbasket avatar Jun 18 '22 16:06 blackbasket

Ich weiss nicht, wie man den Cronjob einrichtet.

fwiehl avatar Jun 18 '22 18:06 fwiehl

Kann mir jemand beim zeitgesteuerten Cronjob einrichten behilflich sein? Cronjob /etc/config/rc.d/hap-homematic restart

fwiehl avatar Jun 19 '22 12:06 fwiehl

Ich versuche es dir exakt zu beschreiben, wenn ich Zeit habe... aber ich bin mir sicher, dass du auch mit der Suchmaschine deiner Wahl erfolgreich bist ;)

blackbasket avatar Jun 19 '22 12:06 blackbasket

Das wäre sehr nett. Ich finde leider nur in Zusammenhang mit Raspberrymatic was. Ich nutze aber die CCU3 mit Original Image. Danke schon mal im Voraus.

fwiehl avatar Jun 19 '22 13:06 fwiehl

Das Vorgehen sollte identisch sein.

jb-home avatar Jun 19 '22 14:06 jb-home

Sehe ich auch so... falls es nicht klappt, bitte Anleitung und Problemstelle teilen... ich hab nur noch RMs laufen, von daher kann ich es auf einem eq3-Image nicht testen...

blackbasket avatar Jun 19 '22 14:06 blackbasket

Ok, dann werde ich mal versuchen über ein CCU-Programm den Neustart des Addons HAP-Homematic auszulösen string stdout; string stderr; system.Exec ("/etc/config/rc.d/hap-homematic restart", &stdout, &stderr);

fwiehl avatar Jun 20 '22 09:06 fwiehl

Was mir noch aufgefallen ist, ich habe sehr viele Dateien in /usr/local/etc/config/addons/hap-homematic drin. Beispielhaft ccu3-webui_00109A49A50D31_1.pstore ccu3-webui_00109A49A502FE_1_persist.json 1655536650603.crash usw.. Können diese Dateien (ca. 400) gelöscht werden?

fwiehl avatar Jun 20 '22 09:06 fwiehl

Warum jetzt als CCU-Programm? Du kannst die letzte Crash-Datei mal postwendend sonst alle *.Crash löschen...

blackbasket avatar Jun 20 '22 09:06 blackbasket

Die *.crash sind nicht viele. Es sind vor allem die _persist.json und.pstore

fwiehl avatar Jun 20 '22 09:06 fwiehl

Ich versuche es mit einem CCU-Programm, da ich den Cronjob über die Shell nicht einrichten kann Müsste ja genauso gut gehen.

fwiehl avatar Jun 20 '22 10:06 fwiehl

anbei die letzte crash-Datei Error: listen EADDRINUSE :::9877 at Object._errnoException (util.js:992:11) at _exceptionWithHostPort (util.js:1014:20) at Server.setupListenHandle [as _listen2] (net.js:1355:14) at listenInCluster (net.js:1396:12) at Server.listen (net.js:1480:7) at EventedHTTPServer._this.listen (/usr/local/addons/hap-homematic/node_modules/hap-nodejs/dist/lib/util/eventedhttp.js:86:30) at HAPServer._this.listen (/usr/local/addons/hap-homematic/node_modules/hap-nodejs/dist/lib/HAPServer.js:198:31) at Bridge.Accessory._this.publish (/usr/local/addons/hap-homematic/node_modules/hap-nodejs/dist/lib/Accessory.js:560:27) at Server.loadInstance (/usr/local/addons/hap-homematic/node_modules/hap-homematic/lib/Server.js:572:14) at Promise.all.Object.keys.map.instanceID (/usr/local/addons/hap-homematic/node_modules/hap-homematic/lib/Server.js:343:27)

Ich wollte nochmals fragen, ob man die alten _persist.json und *.pstore Dateien im Verzeichnis /usr/local/etc/config/addons/hap-homematic löschen kann?

fwiehl avatar Jun 21 '22 05:06 fwiehl

Was läuft denn auf Port 9877? Ist da eine Instanz die du nur alle 24h ansprichst?

Ich würde als Test erst mal die Firewall komplett auf machen, damit du das als Problem ausschließlich kannst.

jb-home avatar Jun 21 '22 11:06 jb-home

Auf Port 9877 läuft die Instanz "HomeMatic" default. Der Instanz sind weder Raum noch Geräte zugewiesen. Ich kann diese Instanz auch nicht Bearbeiten Löschen oder Deaktivieren.

Die Firewall ist bereits geöffnet.

fwiehl avatar Jun 21 '22 11:06 fwiehl

Dann setz in die Instanz mal mindestens ein Gerät.

jb-home avatar Jun 21 '22 12:06 jb-home

Die _persist.json und *.pstore Dateien solltest du besser nicht löschen. Ich glaube die _persist.json enthalten das Binding zu HomeKit mit der Verschlüsselung und die .pstore enthalten die History Informationen z.B. zum Verbrauch von Steckdosen oder Temperaturen von Thermostaten.

jb-home avatar Jun 21 '22 12:06 jb-home

Bei meinen weiteren Tests bin ich noch auf eine Warnung im CUx Daemon Kernel Log gestoßenv(CUx-D > Info > Kernel-Log):

<6>[ 157.842230] TCP: request_sock_TCP: Possible SYN flooding on port 8183. Sending cookies. Check SNMP counters.

Vielleicht weiß jemand, was das bedeutet, bzw. ob man diese Meldung ignorieren kann.

fwiehl avatar Jun 23 '22 14:06 fwiehl

SYN-Flooding kann das Device natürlich stressen... grob würde ich es untechnisch als massenhafte Verbindungsversuche bezeichnen... allerdings wäre meine Einschätzung, dass die beiden Sachen nichts miteinander zu tun haben...

hast du den täglichen restart von HAP denn nun laufen? Da das Ticket noch offen ist, vermute ich mal, dass die Änderung am WatchDog nichts gebracht hat...

blackbasket avatar Jun 23 '22 15:06 blackbasket

nein den täglichen Restart habe ich bisher noch nicht am Laufen. Das wäre dann der nächste Schritt, falls ich kein anderes Gerät oder Programm ausfindig machen kann. Ich bin grad noch am Fehler ausschließen....

fwiehl avatar Jun 23 '22 15:06 fwiehl

Hat die Meldung SYN flooding on port 8183 denn niemand im Kernel-Log von CUx-D stehen?

fwiehl avatar Jun 23 '22 16:06 fwiehl

Also ich sehe bei mir keine Meldung dazu...

blackbasket avatar Jun 23 '22 16:06 blackbasket

Hier mal meine ganze CUx-D Kernel-Log. Vielleicht hat echt einer eine Idee...

<3>[ 11.397195] pinctrl-bcm2835 3f200000.gpio: could not request pin 18 (gpio18) from group gpio18 on device pinctrl-bcm2835 <3>[ 11.397333] bcm2835-i2s 3f203000.i2s: Error applying setting, reverse things back <4>[ 11.397460] bcm2835-i2s: probe of 3f203000.i2s failed with error -22 <7>[ 11.419011] brcmfmac: F1 signature read @0x18000000=0x1541a9a6 <3>[ 11.423513] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43430-sdio.bin for chip 0x00a9a6(43430) rev 0x000001 <6>[ 11.423862] usbcore: registered new interface driver brcmfmac <5>[ 11.626041] random: crng init done <3>[ 11.634661] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 23 2017 03:55:53 version 7.45.98.38 (r674442 CY) FWID 01-e58d219f <3>[ 11.635497] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.11.15 Compiler: 1.24.2 ClmImport: 1.24.1 Creation: 2014-05-26 10:53:55 Inc Data: 9.10.39 Inc Compiler: 1.29.4 Inc ClmImport: 1.36.3 Creation: 2017-10-23 03:47:14 <6>[ 21.484692] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup <6>[ 23.055441] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC141 <6>[ 28.788343] NET: Registered protocol family 10 <6>[ 28.789951] Segment Routing with IPv6 <6>[ 28.919261] ip6_tables: (C) 2000-2006 Netfilter Core Team <6>[ 40.912388] eq3loop: created slave mmd_hmip <6>[ 40.912748] eq3loop: created slave mmd_bidcos <6>[ 43.032995] eq3loop: eq3loop_open_slave() mmd_bidcos <6>[ 59.776134] eq3loop: eq3loop_open_slave() mmd_hmip <6>[ 59.776279] eq3loop: eq3loop_close_slave() mmd_hmip <6>[ 59.779018] eq3loop: eq3loop_open_slave() mmd_hmip <6>[ 59.779146] eq3loop: eq3loop_close_slave() mmd_hmip <6>[ 59.779757] eq3loop: eq3loop_open_slave() mmd_hmip <6>[ 59.779887] eq3loop: eq3loop_close_slave() mmd_hmip <6>[ 59.789049] eq3loop: eq3loop_open_slave() mmd_hmip <6>[ 157.842230] TCP: request_sock_TCP: Possible SYN flooding on port 8183. Sending cookies. Check SNMP counters.

fwiehl avatar Jun 23 '22 19:06 fwiehl

Was greift denn auf Port 8183 auf deine CCU zu? Hast du irgendwas bei dir im Netzwerk laufen wo du eine Verbindung zur CCU eingerichtet hast (HomeKey, FHEM, ioBroker, …)?

„Komische Abstürze“ von Raspberrys hatte ich schon mal als die SD Karte kaputt war. Backup machen, neue SD Karte, mit Raspberrymatic flashen, einlegen, Backup einspielen, testen?

timwegenerDE avatar Jun 23 '22 20:06 timwegenerDE

8183 ist doch rega, oder?

blackbasket avatar Jun 23 '22 21:06 blackbasket

laut CUx-D Protokoll ist das wohl die Verbindung zur CCU3:

Erfolgreich mit HomeMatic-CCU 127.0.0.1:8183 verbunden! als RPC-Server(INIT) von 127.0.0.1:9876 (HAP_CUxD.) angefordert! als RPC-Server(INIT) von HomeMatic-CCU (6044) angefordert!

fwiehl avatar Jun 24 '22 04:06 fwiehl

die SD-Karte hatte ich bereits vor einigen Monaten durch eine neue ersetzt. Raspberrymatic wäre auch noch eine Idee. Ich nutze ja derzeit noch die original Firmware der CCU3

fwiehl avatar Jun 24 '22 05:06 fwiehl

Raspberrymatic schadet zumindest nicht :-P

Was da auf dem Port läuft weiss ich tatsächlich nicht, hier schreibt jemand dass die Meldung beim Restart des Plugins kommt: #213 Scheint aber niemanden zu beunruhigen. Ich hab die Firewall bei mir an und diesen Port zumindest nicht aktiv freigegeben…

Sonst sehe ich im Log noch, dass er auf IPv6 was macht. IPv6 hab ich bei mir im Router tatsächlich lokal ausgestellt, weil ich an anderer Smart Home Front da ärger mit hatte.

Diese GPIO Pin 18 Meldung macht mich auch etwas stutzig…

Aber ich stocher hier komplett im dunkeln…

timwegenerDE avatar Jun 24 '22 06:06 timwegenerDE

Diese GPIO Pin 18 Meldung macht mich auch etwas stutzig…

Hab ich bei Google gefunden: Broadcom BCM2835 GPIO (and pinmux) controller

The BCM2835 GPIO module is a combined GPIO controller, (GPIO) interrupt controller, and pinmux/control device.

Kann mit dieser Info aber ebenfalls nichts anfangen. Vielleicht kennt sich da jemand aus?

fwiehl avatar Jun 24 '22 06:06 fwiehl

Ach guck mal, das SYN Flooding auf 8183 hab ich gerade auch im Log entdeckt. Da ich keine Probleme hab, würde ich da schonmal nicht weiter forschen.

timwegenerDE avatar Jun 24 '22 07:06 timwegenerDE

laut CUx-D Protokoll ist das wohl die Verbindung zur CCU3:

Erfolgreich mit HomeMatic-CCU 127.0.0.1:8183 verbunden! als RPC-Server(INIT) von 127.0.0.1:9876 (HAP_CUxD.) angefordert! als RPC-Server(INIT) von HomeMatic-CCU (6044) angefordert!

ja, das klingt für mich sehr nach rega...

blackbasket avatar Jun 24 '22 07:06 blackbasket

Folgendes sollte auch auf der CCU funktionieren, wenn ein RM-Update (was wirklich nicht schadet) keine Option ist...

mittels ssh verbinden vi /usr/local/crontabs/root i 12 1 * * * /etc/config/rc.d/hap-homematic restart ESC :w ENTER :q

reboot der CCU

mittels ssh verbinden crontab -e dann solltest du die Zeile sehen

blackbasket avatar Jun 24 '22 07:06 blackbasket

12 1 * * * /etc/config/rc.d/hap-homematic restart

Was bedeutet 12 1 * * * ?

fwiehl avatar Jun 24 '22 07:06 fwiehl

Na, ein bisschen darfst du auch die Suchmaschine deiner Wahl nutzen ;)

Minute Stunde Tag Monat Wochentag

Also, jeden Tag um 01:12...

blackbasket avatar Jun 24 '22 07:06 blackbasket

Diese GPIO Pin 18 Meldung macht mich auch etwas stutzig…

Zu dem Thema GPIO habe ich auch was gefunden. Es handelt sich offensichtlich um das Funkmodul der CCU3 https://github.com/alexreinert/piVCCU/issues/329

Das Debugging sudo cat /sys/kernel/debug/gpio funktioniert bei mir allerdings nicht, da ich keinen Ordner gpio habe

fwiehl avatar Jun 24 '22 08:06 fwiehl

Ja das sind die Pins an denen das Funkmodul hängt… Aber ob das jetzt auf einen Hardware-Fehler hinweist..?

Auch kann ich nirgendwo finden, was auf dem GPIO-18 läuft. In dem o.a. Issue steht: pivccu:reset (https://github.com/alexreinert/piVCCU/issues/329#issuecomment-737496509)

Aus dem Kontext würde ich jetzt schließen, dass da der Button von der CCU zum Resetten dranhängt. Dann wäre das ja unkritisch…

timwegenerDE avatar Jun 24 '22 09:06 timwegenerDE

ja so sehe ich das auch. Ich hatte vor einiger Zeit mal eine Außen Stabantenne drangemacht. Habe aber seither keine Funkprobleme. Ich suche weiter nach Programmfehlern oder defekten Homematic Geräten innerhalb der CCU3...

fwiehl avatar Jun 24 '22 09:06 fwiehl

In den Setup-Einstellungen des CUx-Daemon sehe ich noch einen Button mit "Parameterabgleich". Was bewirkt der bzw. kann/ soll man den drücken?

fwiehl avatar Jun 24 '22 09:06 fwiehl

Das solltest du Uwe fragen...

blackbasket avatar Jun 24 '22 09:06 blackbasket

...und Uwe hat auch schon geantwortet... [https://github.com/thkl/hap-homematic/issues/546]

fwiehl avatar Jun 27 '22 05:06 fwiehl

Ich konnte in der Zwischenzeit den Fehler nun eingrenzen. Nachdem ich sämtliche Homematic-Programme ausgeschaltet habe und nach und nach wieder aktiviert habe bin ich nun bei meinem Skript "AskSin Analyzer" hängengeblieben. Wenn dieses deaktiviert ist, dann stürzt mein HAP nicht mehr täglich ab! Warum das so ist weiß ich nicht. Ich hatte das Skript schon länger am Laufen. Hier mal der Code. Vielleicht hat der eine oder andere auch das Problem. Das Programm ist auf jeden Fall deaktiviert und das Problem gelöst!

`string svDevList = "AskSinAnalyzerDevList"; string svAlarm = "AskSinAnalyzerAlarm";

string HmIPBroadcastName = "HmIP Broadcast"; string HmRFBroadcastName = "HMRF Broadcast";

object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);

!Alarmvariable anlegen object alarmObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svAlarm);

if(!alarmObj) {
alarmObj = dom.CreateObject(OT_ALARMDP);

alarmObj.Name(svAlarm);
alarmObj.ValueType(ivtBinary);
alarmObj.ValueSubType(istAlarm);
alarmObj.ValueName0("nicht ausgelöst");
alarmObj.ValueName1("ausgelöst");
alarmObj.ValueUnit("");
alarmObj.AlType(atSystem);
alarmObj.AlArm(true);
alarmObj.AlSetBinaryCondition();
alarmObj.State(false);

svObjects.Add(alarmObj.ID());

dom.RTUpdate(0);

WriteLine("Alarm-Variable "#svAlarm#" angelegt.\n");
} else { WriteLine("Alarm-Variable "#svAlarm#" existiert.\n"); }

!Systemvariable anlegen, falls sie nicht bereits existiert object svObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svDevList);

if (!svObj){ svObj = dom.CreateObject(OT_VARDP);

svObj.Name(svDevList); svObj.ValueType(ivtString); svObj.ValueSubType(istChar8859);

svObj.DPInfo("used by AskSinAnalyzer"); svObj.ValueUnit(""); svObj.State(""); svObj.Internal(false); svObj.Visible(false);

svObjects.Add(svObj.ID());

dom.RTUpdate(0); WriteLine("Variable "#svDevList#" angelegt.\n"); } else { WriteLine("Variable "#svDevList#" existiert.\n"); }

!phys. Zentralen-Adresse HmIP auslesen string stdout; string stderr; system.Exec("echo $((0xgrep Adapter.1.Address /etc/config/hmip_address.conf|awk -F'\=' {'print $2'}))", &stdout, &stderr); WriteLine(stdout);

integer HmIPCentral = stdout.ToInteger();

!alle Geräteadressen, Seriennummer und Namen erfassen integer tstamp = system.Date("%F %X").ToTime().ToInteger(); string sDevId; string data; string metaData; string result = "{"created_at":"#tstamp#","devices":[{"address":15728641,"serial":"00000000000000","name":""#HmIPBroadcastName#""},{"address":0,"serial":"0000000000","name":""#HmRFBroadcastName#""},";

foreach(sDevId, root.Devices().EnumUsedIDs()) { var dev= dom.GetObject(sDevId); if ( true == dev.ReadyConfig() ) { metaData = dev.MetaData("DEVDESC"); foreach (data, metaData.Split(",")) { if (data.Substr(0,10) == "RF_ADDRESS") { data = data.Replace("RF_ADDRESS:",""); if (data != "0") { string ser = dev.Address(); if ((HmIPCentral > 0) && (data == HmIPCentral)) { ser = "HmIP-RF"; } result = result # "{"address":" #data#","serial":""#ser#"","name":""#dev.Name()#""},"; } } } } } result = result # "]}"; result = result.Replace("},]","}]");

dom.GetObject(ID_SYSTEM_VARIABLES).Get(svDevList).State(result); Write(result);

!Abfrage im Browser mit http://ccu2:8181/ret.exe?ret=dom.GetObject(ID_SYSTEM_VARIABLES).Get("AskSinAnalyzerDevList").Value()`

fwiehl avatar Jun 27 '22 06:06 fwiehl

Seit ein paar Tagen treten die regelmäßigen Abstürze wieder auf, obwohl ich in meiner Konfiguration nichts merkliches gemacht habe. Ich muss das Addon sporadisch immer mal wieder neu starten, während die CCU3 doch ziemlich konstant durchläuft...

Ich habe jetzt mal das Addon gelöscht und neu installiert. Anschließend die Datensicherung der hap-homematic eingespielt. Ich habe seither gar keine Verbindung mehr zu Homekit (Es kommt auf dem iPad bei den Geräten die Meldung "Aktualisieren" für ca 1 Minute und dann "Keine Antwort")

Eigentlich ein geiles Addon. Aber wenn's nicht solide funktioniert in der Praxis leider nicht zu gebrauchen.

Vielleicht hat jemand ein ähnliches Problem und kann mir weitere Tipps geben.

fwiehl avatar Jul 26 '22 10:07 fwiehl

Was sagen die LOGs zu den abstürzen? Mal abgesehen von den Verbindungsproblemen zwischen HomeKit und HAP. Wie oft hast du die CCU seit dem neugestartet? Zweimal müsste schon sein, damit alles funktional ist. Was sagt die Firewall? Alle Ports offen?

Generell ist HAP stabil. Ich habe es schon seit dem Start des Projektes am laufen.

jb-home avatar Jul 26 '22 13:07 jb-home

Ich habe die CCU schon des öfteren neu gestartet. Auch deswegen, weil ich CuX-D upgedatet habe und auch das neueste Firmware Update aufgespielt habe. Die Ports der Firewall sind alle offen. Firewall-Richtlinie: Ports offen Homematic XML-RPC API: Eingeschränkt Remote Homematic-Script API: Eingeschränkt

Die Log Datei des HAP ist unauffällig. [Tue Jul 26 2022 13:51:45 GMT+0200 (CEST)] info - [HAP Server] [Server] seems we are stable since 1 hour remove the restart counter [Tue Jul 26 2022 13:51:45 GMT+0200 (CEST)] info - [HAP Server] [CCU] enable Monitoring [Tue Jul 26 2022 14:37:43 GMT+0200 (CEST)] info - [HAP Server] [Server] 166 compatible devices found

fwiehl avatar Jul 26 '22 14:07 fwiehl

Nachdem ich das HAP-Homematic Addon gelöscht habe und wieder neu auf der CCU3 installiert habe, musste ich die Bridges in HomeKit neu einbinden. das hat nun geklappt. Ich warte mal, wie lange das Addon ohne Absturz läuft. Soll ich den Debug-Modus im HAP-Addon einschalten oder bringt das nichts? Mehr kann ich im Moment nicht machen. Der Fehler scheint vom Addon zu kommen. Wenn das Addon funktioniert, dann funktioniert auch die HomeKit Schnittstelle mit den Apple Geräten.

fwiehl avatar Jul 26 '22 17:07 fwiehl

Was mir auch noch aufgefallen ist: Ich habe nach der Neukonfiguration des HAP-Addons eine Datensicherung der CCU3 erstellt. Diese neue Datensicherung ist von 8,5 MB auf 6,8 MB geschrumpft. Vielleicht waren da wirklich noch Altlasten da. Mal abwarten.

fwiehl avatar Jul 26 '22 19:07 fwiehl

So jetzt ist es wieder soweit. Nach gerade mal 24 Std. Betriebszeit ist die hap-homematic wieder nicht mehr erreichbar.

Die Meldung von CuX-D lautet:

Jul 27 17:36:03 ccu3-webui daemon.err cuxd[675]: sendbinrpc(127.0.0.1:9876) - write() Connection refused Jul 27 17:36:03 ccu3-webui daemon.warn cuxd[675]: disable events to 127.0.0.1:9876

Nach manuellem Neustart mit

string stdout; string stderr; system.Exec ("/etc/config/rc.d/hap-homematic restart", &stdout, &stderr);

läuft das Homekit Addon wieder. Ich weiß nur nicht, wie ich das Problem lösen soll...

fwiehl avatar Jul 27 '22 17:07 fwiehl

Workaround wäre zumindest weiterhin der tägliche restart... aber keine Lösung natürlich...

Hast du in der Instanz, die auf dem Port läuft, in HomeKit CuXD-Geräte integriert?

blackbasket avatar Jul 27 '22 17:07 blackbasket

Die Meldung der CCU3 Log lautet ebenfalls:

Jul 27 17:36:00 ccu3-webui daemon.err cuxd[675]: sendbinrpc(127.0.0.1:9876) - write() Connection refused

fwiehl avatar Jul 27 '22 18:07 fwiehl

Das ist logisch, aber keine Antwort auf meine Frage ;)

blackbasket avatar Jul 27 '22 18:07 blackbasket

Sorry, Deine Frage hat sich überschnitten.

Ich habe viele Homekit Instanzen in der hap-homematic am Laufen, aber Port 9876 ist nicht dabei.

9876 scheint mir die Schnittstelle zu CUx-D zu sein. Hier ein Auszug aus dem CUx-D Status:

USB 1-1 - (9514) [HUB] - Tue Jul 26 17:42:00 2022 USB 1-1.1 - (ec00) [FF] - no driver - Tue Jul 26 17:42:00 2022 Kein TTY-Device connected!

Erfolgreich mit HomeMatic-CCU 127.0.0.1:8183 verbunden!

als RPC-Server(INIT) von HomeMatic-CCU (6044) angefordert! als RPC-Server(INIT) von 127.0.0.1:9876 (HAP_CUxD.) angefordert!

Diese Web-Seite wurde aufgerufen von: 192.168.10.91

CUxD-Uptime(2.9.4): 1 Tag(e) 02:23:30, 125728 Bytes belegt, Compiled Jul 25 2022 11:22:25 CCU-Uptime(3.65.6): 1 Tag(e) 02:24:07, load-average: 0.21 0.30 0.29, 10s-cpu-load: 5.5% Speicher: Total 994132k Used 560432k Free 433700k (Cached 173828k) Available 605356k CPU(1): ARMv7 Processor rev 4 (v7l) [76.80 bogomips] CPU(2): ARMv7 Processor rev 4 (v7l) [76.80 bogomips] CPU(3): ARMv7 Processor rev 4 (v7l) [76.80 bogomips] CPU(4): ARMv7 Processor rev 4 (v7l) [76.80 bogomips] Linux version 4.14.34 (jenkins@7d8ef6bf93b2) (gcc version 7.3.0 (Buildroot 2018.08.2-00097-g4866b51d-dirty)) #1 SMP PREEMPT Thu Jun 23 16:59:40 CEST 2022 aktive CCU-Prozesse: ReGaHss(1) rfd(1) hs485d(0) java(1)

Filesystem: / ext4 (ro) Total 999320k Used 537424k (53.8%) Free 461896k (46.2%) Filesystem: /dev devtmpfs (rw) Total 492456k Used 0k ( 0.0%) Free 492456k (100.0%) Filesystem: /dev/shm tmpfs (rw) Total 497064k Used 0k ( 0.0%) Free 497064k (100.0%) Filesystem: /tmp tmpfs (rw) Total 497064k Used 172k ( 0.0%) Free 496892k (100.0%) Filesystem: /run tmpfs (rw) Total 497064k Used 72k ( 0.0%) Free 496992k (100.0%) Filesystem: /var tmpfs (rw) Total 497068k Used 7472k ( 1.5%) Free 489596k (98.5%) Filesystem: /media tmpfs (rw) Total 497064k Used 0k ( 0.0%) Free 497064k (100.0%) Filesystem: /usr/local ext4 (rw) Total 29256192k Used 1768152k ( 6.0%) Free 27488040k (94.0%) Filesystem: /mnt/boot_par vfat (ro) Total 261868k Used 39504k (15.1%) Free 222364k (84.9%)

HM-Config: /etc/config/homematic.regadom(30187953) OK! - Wed Jul 27 17:44:57 2022 CUxD-Config: /tmp/cuxd.ps.sav(4275) - D - Wed Jul 27 20:02:00 2022 /usr/local/addons/cuxd/cuxd.ps(4395) - D - Wed Jul 27 15:42:00 2022 /usr/local/addons/cuxd/cuxd.ps.bak(4270) - D - Wed Jul 27 04:42:00 2022

fwiehl avatar Jul 27 '22 18:07 fwiehl

Sorry, ich war ein bisschen out of order mit Augenproblemen... du hast absolut recht, der Port ist für die Kommunikation hap<>cuxd...

Was für cuxd-Geräte hast du denn? a) mit HomeKit verbunden b) nicht mit HomeKit verbunden

blackbasket avatar Jul 30 '22 17:07 blackbasket

Meine cuxd-Geräte halten sich in Grenzen. Es sind lediglich netatmo Geräte für Klimamessung. Sonst nichts. Diese sind nicht über CCu3 sondern direkt über netatmo <-> homekit verbunden

fwiehl avatar Jul 30 '22 18:07 fwiehl

Hmm :/ die habe ich auch, aber sogar über HAP eingebunden...

blackbasket avatar Jul 31 '22 13:07 blackbasket

Also ich habe bei CuXD hier eine Zeile mehr:


  als RPC-Server(INIT) von HomeMatic-CCU (1401) angefordert!
  als RPC-Server(INIT) von 192.168.179.17:2099 (CUxD) angefordert!
  als RPC-Server(INIT) von 127.0.0.1:9876 (HAP_CUxD.) angefordert!

Kannst du in HAP das Debug mal bitte für einen Tag (bis zum Crash) aktivieren und das Log danach (in Code-Tags!!! oder als File) posten?

blackbasket avatar Jul 31 '22 13:07 blackbasket

Hallo, ich wollte kurz eine Zwischenmeldung geben. Nachdem ich den Debug Modus eingeschaltet habe, läuft nun das HAP seit 2 Tagen ohne Unterbrechung durch. Jetzt habe ich das Problem, dass ich den Debug-Modus abstellen muss, da die hap-homematic.log bereits 250 MB groß ist.

fwiehl avatar Aug 03 '22 07:08 fwiehl

Schade, aber dann geht's nicht anders... hast du irgendwas geändert?

blackbasket avatar Aug 03 '22 07:08 blackbasket

nein, ich habe nichts geändert. Im Gegenteil. Ich habe alles in Ruhe gelassen. Keine neuen Programmroutinen installiert, keine neuen Homematic Komponenten installiert.

fwiehl avatar Aug 03 '22 08:08 fwiehl