NEWS
Homematic RPC und Gerätebeschreibungen
-
Nicht alles:
-
Das steht in den Logs der CCU, wenn ich die Geräte neu einlese:
2025-01-08 17:16:17,207 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vert.x-worker-thread-1] (un)registerCallback on LegacyServiceHandler called from url: http://192.168.1.14:42010 2025-01-08 17:16:17,208 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vert.x-worker-thread-1] Removed InterfaceId: vm-iobroker:hm-rpc.1:102bbe7a908a5aedbdd8e90fda48f5f1 2025-01-08 17:16:23,416 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vert.x-worker-thread-4] (un)registerCallback on LegacyServiceHandler called from url: http://192.168.1.14:42010 2025-01-08 17:16:23,419 de.eq3.cbcs.legacy.bidcos.rpc.internal.LegacyBackendNotificationHandler INFO [vm-iobroker:hm-rpc.1:5353a4e9980d1140e891af317a25bf8b_WorkerPool-0] SYSTEM: LegacyBackendNotificationHandler Verticle or Worker started 2025-01-08 17:16:23,420 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vm-iobroker:hm-rpc.1:5353a4e9980d1140e891af317a25bf8b_WorkerPool-0] init finished 2025-01-08 17:16:23,421 de.eq3.cbcs.legacy.bidcos.rpc.internal.InterfaceInitializer INFO [vert.x-worker-thread-2] Added InterfaceId: vm-iobroker:hm-rpc.1:5353a4e9980d1140e891af317a25bf8b 2025-01-08 17:16:23,757 de.eq3.cbcs.legacy.bidcos.rpc.internal.DeviceUtil INFO [vert.x-worker-thread-2] updateDevicesForClient vm-iobroker:hm-rpc.1:5353a4e9980d1140e891af317a25bf8b -> 263 device addresses will be added 2025-01-08 17:16:30,390 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vert.x-worker-thread-1] (un)registerCallback on LegacyServiceHandler called from url: http://192.168.1.14:42010 2025-01-08 17:16:30,394 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vert.x-worker-thread-1] Removed InterfaceId: vm-iobroker:hm-rpc.1:5353a4e9980d1140e891af317a25bf8b 2025-01-08 17:16:37,179 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vert.x-worker-thread-4] (un)registerCallback on LegacyServiceHandler called from url: http://192.168.1.14:42010 2025-01-08 17:16:37,182 de.eq3.cbcs.legacy.bidcos.rpc.internal.LegacyBackendNotificationHandler INFO [vm-iobroker:hm-rpc.1:c3e9105816d5953462f53e348e2811c9_WorkerPool-0] SYSTEM: LegacyBackendNotificationHandler Verticle or Worker started 2025-01-08 17:16:37,183 de.eq3.cbcs.legacy.bidcos.rpc.LegacyServiceHandler INFO [vm-iobroker:hm-rpc.1:c3e9105816d5953462f53e348e2811c9_WorkerPool-0] init finished 2025-01-08 17:16:37,184 de.eq3.cbcs.legacy.bidcos.rpc.internal.InterfaceInitializer INFO [vert.x-worker-thread-2] Added InterfaceId: vm-iobroker:hm-rpc.1:c3e9105816d5953462f53e348e2811c9 2025-01-08 17:16:37,502 de.eq3.cbcs.legacy.bidcos.rpc.internal.DeviceUtil INFO [vert.x-worker-thread-2] updateDevicesForClient vm-iobroker:hm-rpc.1:c3e9105816d5953462f53e348e2811c9 -> 263 device addresses will be added
Ich bin jetzt kein Profi was das Lesen der Logs angeht, aber ich sehe da kein Problem, oder?
-
@jojo58 sagte: wenn ich die Geräte neu einlese:
Das Einlesen der Geräte funktionierte auch bisher. Interessanter ist das Einlesen der Namen durch Neustart von hm-rega.0.
-
Jetzt die hm-rega.0 neu gestartet und gleichzeitig zum Fehler im IOB taucht das auf der CCU auf:
Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: recvd 1535 bytes by web server #1 [ThreadFunction():httpServer.cpp:797] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: IseSession GetSessionId from URL: /rega.exe [GetSessionId():iseSession.cpp:185] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: ScriptRuntimeError: Stack trace: [-1] 0 0x0000 [0] 72 0x0048 [1] 0 0x0000 [2] 7 0x0007 [3] 0 0x0000 [4] 16 0x0010 [ExecError():iseESPexec.cpp:12906] Jan 8 17:36:26 ccu3-webui local0.err ReGaHss: ERROR: ScriptRuntimeError: !# devices.fn 1.4 !# !# Dieses Homematic-Script gibt eine Liste aller Geraete/Kanaele als JSON String aus !# !# 3'2013-7'2013 hobbyquaker https://github.com/hobbyquaker !# string sDevId; string sChnId; Write('{'); boolean dFirst = true; foreach (sDevId, root.Devices().EnumUsedIDs()) { object oDevice = dom.GetObject(sDevId); boolean bDevReady = oDevice.ReadyConfig(); string sDevInterfaceId = oDevice.Interface(); string sDevInterface = dom.GetObject(sDevInterfaceId).Name(); if (bDevReady) { if (dFirst) { dFirst = false; } else { WriteLine(','); } Write('"' # oDevice.Address() # '":{"Name":"'); WriteURL(oDevice.Name()); Write('","Interface":"' # sDevInterface # '"}'); foreach(sChnId, oDevice.Channels()) { object oChannel = dom.GetObject(sChnId); WriteLine(','); Write('"' # oChannel.Address() # '":{"Name": Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: ScriptRuntimeError: Stack trace: [-1] 0 0x0000 [0] 65 0x0041 [1] 0 0x0000 [2] 58 0x003a [3] 0 0x0000 [4] 59 0x003b [ExecError():iseESPexec.cpp:12906] Jan 8 17:36:26 ccu3-webui local0.err ReGaHss: ERROR: ScriptRuntimeError: !# devices.fn 1.4 !# !# Dieses Homematic-Script gibt eine Liste aller Geraete/Kanaele als JSON String aus !# !# 3'2013-7'2013 hobbyquaker https://github.com/hobbyquaker !# string sDevId; string sChnId; Write('{'); boolean dFirst = true; foreach (sDevId, root.Devices().EnumUsedIDs()) { object oDevice = dom.GetObject(sDevId); boolean bDevReady = oDevice.ReadyConfig(); string sDevInterfaceId = oDevice.Interface(); string sDevInterface = dom.GetObject(sDevInterfaceId).Name(); if (bDevReady) { if (dFirst) { dFirst = false; } else { WriteLine(','); } Write('"' # oDevice.Address() # '":{"Name":"'); WriteURL(oDevice.Name()); Write('","Interface":"' # sDevInterface # '"}'); foreach(sChnId, oDevice.Channels()) { object oChannel = dom.GetObject(sChnId); WriteLine(','); Write('"' # oChannel.Address() # '":{"Name": Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2093] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: recvd 1535 bytes by web server #1 [ThreadFunction():httpServer.cpp:797] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: IseSession GetSessionId from URL: /rega.exe [GetSessionId():iseSession.cpp:185] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2093] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: recvd 845 bytes by web server #1 [ThreadFunction():httpServer.cpp:797] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: IseSession GetSessionId from URL: /esp/system.htm?sid=@XPttkNFWGP@&action=UpdateUI [GetSessionId():iseSession.cpp:185] Jan 8 17:36:26 ccu3-webui local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2093] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: recvd 62 bytes by web server #1 [ThreadFunction():httpServer.cpp:797] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: IseSession GetSessionId from URL: /tclrega.exe [GetSessionId():iseSession.cpp:185] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2093] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: recvd 774 bytes by web server #1 [ThreadFunction():httpServer.cpp:797] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: IseSession GetSessionId from URL: /rega.exe [GetSessionId():iseSession.cpp:185] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: command '/bin/sh -c 'echo "load tclrpc.so; puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]" | /bin/tclsh'' returned 0 [ExecProcess():iseDOMpersist.cpp:438] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2093] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: recvd 1478 bytes by web server #1 [ThreadFunction():httpServer.cpp:797] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: IseSession GetSessionId from URL: /rega.exe [GetSessionId():iseSession.cpp:185] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: command 'cat /VERSION | grep VERSION | tr -d VERSION=[:space:]' returned 0 [ExecProcess():iseDOMpersist.cpp:438] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2093] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: recvd 1535 bytes by web server #1 [ThreadFunction():httpServer.cpp:797] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: IseSession GetSessionId from URL: /rega.exe [GetSessionId():iseSession.cpp:185] Jan 8 17:36:27 ccu3-webui local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2093] Jan 8 17:36:28 ccu3-webui local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208] Jan 8 17:36:28 ccu3-webui local0.info ReGaHss: Info: recvd 326 bytes by web server #1 [ThreadFunction():httpServer.cpp:797] Jan 8 17:36:28 ccu3-webui local0.info ReGaHss: Info: IseSession GetSessionId from URL: /tclrega.exe [GetSessionId():iseSession.cpp:185] Jan 8 17:36:28 ccu3-webui local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2093]
Ich habe aber keine Ahnung was das jetzt heißt?
EDIT:
Am Ende der beiden ERROR Zeilen fehlt doch definitiv noch was, oder sehe ich das falsch?
-
@jojo58 Die sind halbt abgeschnitten. Aber ich habe die gleichen Symptome:
/var/log/messagesJan 8 20:30:18 ccu3 local0.info ReGaHss: Info: ScriptRuntimeError: Stack trace: [-1] 0 0x0000 [0] 72 0x0048 [1] 0 0x0000 [2] 7 0x0007 [3] 0 0x0000 [4] 16 0x0010 [ExecError():iseESPexec.cpp:12945] Jan 8 20:30:18 ccu3 local0.err ReGaHss: ERROR: ScriptRuntimeError: !# devices.fn 1.4 !# !# Dieses Homematic-Script gibt eine Liste aller Geraete/Kanaele als JSON String aus !# !# 3'2013-7'2013 hobbyquaker https://github.com/hobbyquaker !# string sDevId; string sChnId; Write('{'); boolean dFirst = true; foreach (sDevId, root.Devices().EnumUsedIDs()) { object oDevice = dom.GetObject(sDevId); boolean bDevReady = oDevice.ReadyConfig(); string sDevInterfaceId = oDevice.Interface(); string sDevInterface = dom.GetObject(sDevInterfaceId).Name(); if (bDevReady) { if (dFirst) { dFirst = false; } else { WriteLine(','); } Write('"' # oDevice.Address() # '":{"Name":"'); WriteURL(oDevice.Name()); Write('","Interface":"' # sDevInterface # '"}'); foreach(sChnId, oDevice.Channels()) { object oChannel = dom.GetObject(sChnId); WriteLine(','); Write('"' # oChannel.Address() # '":{"Name": Jan 8 20:30:18 ccu3 local0.info ReGaHss: Info: ScriptRuntimeError: Stack trace: [-1] 0 0x0000 [0] 65 0x0041 [1] 0 0x0000 [2] 58 0x003a [3] 0 0x0000 [4] 59 0x003b [ExecError():iseESPexec.cpp:12945] Jan 8 20:30:18 ccu3 local0.err ReGaHss: ERROR: ScriptRuntimeError: !# devices.fn 1.4 !# !# Dieses Homematic-Script gibt eine Liste aller Geraete/Kanaele als JSON String aus !# !# 3'2013-7'2013 hobbyquaker https://github.com/hobbyquaker !# string sDevId; string sChnId; Write('{'); boolean dFirst = true; foreach (sDevId, root.Devices().EnumUsedIDs()) { object oDevice = dom.GetObject(sDevId); boolean bDevReady = oDevice.ReadyConfig(); string sDevInterfaceId = oDevice.Interface(); string sDevInterface = dom.GetObject(sDevInterfaceId).Name(); if (bDevReady) { if (dFirst) { dFirst = false; } else { WriteLine(','); } Write('"' # oDevice.Address() # '":{"Name":"'); WriteURL(oDevice.Name()); Write('","Interface":"' # sDevInterface # '"}'); foreach(sChnId, oDevice.Channels()) { object oChannel = dom.GetObject(sChnId); WriteLine(','); Write('"' # oChannel.Address() # '":{"Name": Jan 8 20:30:23 ccu3 local0.info ReGaHss: Info: ScriptRuntimeError: Stack trace: [-1] 0 0x0000 [0] 72 0x0048 [1] 0 0x0000 [2] 65 0x0041 [3] 0 0x0000 [4] 58 0x003a [ExecError():iseESPexec.cpp:12945] Jan 8 20:30:23 ccu3 local0.err ReGaHss: ERROR: ScriptRuntimeError: !# functions.fn 1.3 !# !# Dieses Script gibt eine Liste der Gewerke als JSON String aus !# !# 6'2013-7'2014 bluefox, hobbyquaker !# object oFunction; string sFunctionId; string sChannelId; object oChannel; boolean bFirst = true; boolean bFirstSecond = true; Write("{"); foreach (sFunctionId, dom.GetObject(ID_FUNCTIONS).EnumUsedIDs()) { if (bFirst == false) { WriteLine(','); } else { bFirst = false; } oFunction = dom.GetObject(sFunctionId); Write('"' # sFunctionId # '": '); Write('{"Name": "'); WriteURL(oFunction.Name()); Write('","TypeName":"' # oFunction.TypeName() # '_FUNCTIONS'); Write('", "EnumInfo": "'); WriteURL(oFunction.EnumInfo()); Write('", "Channels": ['); bFirstSecond = true; foreach(sChannelId, oFunction.EnumUsedIDs()) { oChannel = dom.GetObject(sChannelId); ! Objekt ueberspringen, falls nicht vom Typ CHANNEL (33) if (oChannel.Type() != 33) { conti Jan 8 20:30:23 ccu3 local0.info ReGaHss: Info: ScriptRuntimeError: Stack trace: [-1] 0 0x0000 [0] 65 0x0041 [1] 0 0x0000 [2] 58 0x003a [3] 0 0x0000 [4] 59 0x003b [ExecError():iseESPexec.cpp:12945] Jan 8 20:30:23 ccu3 local0.err ReGaHss: ERROR: ScriptRuntimeError: !# functions.fn 1.3 !# !# Dieses Script gibt eine Liste der Gewerke als JSON String aus !# !# 6'2013-7'2014 bluefox, hobbyquaker !# object oFunction; string sFunctionId; string sChannelId; object oChannel; boolean bFirst = true; boolean bFirstSecond = true; Write("{"); foreach (sFunctionId, dom.GetObject(ID_FUNCTIONS).EnumUsedIDs()) { if (bFirst == false) { WriteLine(','); } else { bFirst = false; } oFunction = dom.GetObject(sFunctionId); Write('"' # sFunctionId # '": '); Write('{"Name": "'); WriteURL(oFunction.Name()); Write('","TypeName":"' # oFunction.TypeName() # '_FUNCTIONS'); Write('", "EnumInfo": "'); WriteURL(oFunction.EnumInfo()); Write('", "Channels": ['); bFirstSecond = true; foreach(sChannelId, oFunction.EnumUsedIDs()) { oChannel = dom.GetObject(sChannelId); ! Objekt ueberspringen, falls nicht vom Typ CHANNEL (33) if (oChannel.Type() != 33) { conti Jan 8 20:30:23 ccu3 local0.info ReGaHss: Info: ScriptRuntimeError: Stack trace: [-1] 0 0x0000 [0] 65 0x0041 [1] 0 0x0000 [2] 58 0x003a [3] 0 0x0000 [4] 59 0x003b [ExecError():iseESPexec.cpp:12945] Jan 8 20:30:23 ccu3 local0.err ReGaHss: ERROR: ScriptRuntimeError: !# functions.fn 1.3 !# !# Dieses Script gibt eine Liste der Gewerke als JSON String aus !# !# 6'2013-7'2014 bluefox, hobbyquaker !# object oFunction; string sFunctionId; string sChannelId; object oChannel; boolean bFirst = true; boolean bFirstSecond = true; Write("{"); foreach (sFunctionId, dom.GetObject(ID_FUNCTIONS).EnumUsedIDs()) { if (bFirst == false) { WriteLine(','); } else { bFirst = false; } oFunction = dom.GetObject(sFunctionId); Write('"' # sFunctionId # '": '); Write('{"Name": "'); WriteURL(oFunction.Name()); Write('","TypeName":"' # oFunction.TypeName() # '_FUNCTIONS'); Write('", "EnumInfo": "'); WriteURL(oFunction.EnumInfo()); Write('", "Channels": ['); bFirstSecond = true; foreach(sChannelId, oFunction.EnumUsedIDs()) { oChannel = dom.GetObject(sChannelId); ! Objekt ueberspringen, falls nicht vom Typ CHANNEL (33) if (oChannel.Type() != 33) { conti
/var/log/hmserver.log zeigt dieses:
2025-01-06 20:48:28,362 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getDeviceDescription called for address null! 2025-01-06 20:48:28,381 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getParamset: VirtualDevice not found for address :0 2025-01-06 20:51:02,888 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getDeviceDescription called for address null! 2025-01-06 20:51:02,894 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getParamset: VirtualDevice not found for address :0 2025-01-06 20:52:51,735 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getDeviceDescription called for address null! 2025-01-06 20:52:51,738 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getParamset: VirtualDevice not found for address :0 2025-01-07 17:02:42,535 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getDeviceDescription called for address null! 2025-01-07 17:02:42,539 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getParamset: VirtualDevice not found for address :0 2025-01-08 08:11:46,140 de.eq3.lib.measurement.MeasurementService ERROR [Timer-0] Could not retrieve unhandled events java.util.ConcurrentModificationException: null at java.util.ArrayList$Itr.checkForComodification(Unknown Source) ~[?:?] at java.util.ArrayList$Itr.next(Unknown Source) ~[?:?] at de.eq3.lib.measurement.MeasurementService.writeLogValues(MeasurementService.java:835) ~[HMIPServer.jar:?] at de.eq3.lib.measurement.MeasurementService$EventTimerTask.run(MeasurementService.java:121) ~[HMIPServer.jar:?] at java.util.TimerThread.mainLoop(Unknown Source) ~[?:?] at java.util.TimerThread.run(Unknown Source) ~[?:?] 2025-01-08 13:14:26,728 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getDeviceDescription called for address null! 2025-01-08 13:14:26,732 de.eq3.ccu.virtualdevice.service.internal.rega.VirtualDeviceHandlerRega ERROR [vert.x-eventloop-thread-0] getParamset: VirtualDevice not found for address :0
lighttpd-error.log hat die letzten Einträge vom 05.01. lighttpd-access.log hat um den Zeitraum die Rega-Aufrufe verzeichnet, aber nur Statuscodes HTTP 200, also alles in Ordnung.
Für die Fehelrmeldungen habe ich zwei Infos gefunden, beide ein paar Jahre alt:
- das mit dem null kommt, wenn die CCU3 Konfigurationsänderungen nicht übertragen kann. Das deckt sich mit meinen aktuellen Einstellungsänderungen an den Heizgruppen.
- die Exception kommt möglicherweise, wenn man GetObject-Aufrufe schachtelt. Das war ein Post von 2017 oder so und so einen Quatsch mache ich nicht.
Firmware 3.79.6, dann Downgrade auf 3.77.6, dann wieder Upgrade auf 3.79.6, dann Wechsel zu Raspberrymatic 3.79.6.20241122. XML-API 2.3, dann Downgrade auf 2.1 und wieder zurück auf 2.3.
-
Ich hab jetzt mal im HM-Forum nachgefragt:
https://homematic-forum.de/forum/viewtopic.php?f=26&t=84694
Vielleicht gibts da bessere Einsichten von der anderen Seite. -
@smartstuffcoyote sagte in Homematic RPC und Gerätebeschreibungen:
Ich hab jetzt mal im HM-Forum nachgefragt:
Gute Idee
Ich glaube auch langsam, das es an der CCU liegt. Ich habe insgesamt 3 Rechner mit IoBroker laufen, 2x VMs und ein Raspi 4 und auf allen das gleiche Problem. Bis auf die Fehlermeldung, Da wird noch die lange angezeigt, wie in meinem Post vom 08.01.25 um 10:12, also das ist das erste Gerät in der Liste der CCU und da bricht er ja schon ab..
Abwarten was das HM Forum sagt.
-
@JoJo58 Ich hab für die Skeptiker übrigens auch mal alle Geräte und Kanäle mit Umlaut drin umbenannt. Ändert am Verhalten nichts. Ich wollte es mal eingrenzen indem ich versucht habe, den Rega-Adapter lediglich die wenigen virtuellen oder HM-IP-Geräte zu synchronisieren, aber er greift trotzdem auch ins rpc und produziert den Fehler.
Frage an dich: du hattest als letztes ein HM-IP-Gerät hinzugefügt? Zufällig ein Fensterkontakt? Das war auch die letzte Änderung am System meinerseits, abgesehen vom jüngsten Ausfall. Ist schon eine Weile her, aber solange ich die Datenbäume nicht neu einlese, merke ich davon ja nichts.
-
Ich habe den thread nicht komplett gelesen; vermute aber es liegt an euren Einstellungen.
Bitte komplett zeigen:
ccu:
- screenshot firewall
- screenshot systemsteuerung.sicherheit (Authentifizierung und Https)
- Hast du viele Programme auf der ccu ?
iob hm-rega:
- screenshot config
iob hm-rpc:
- screenshot config
Und bitte komplett.
mfg
-
Okay, ich kann dir gerne die ganzen Screenshots machen, aber es liegt nicht an den Einstellungen. Die hm-rps.0 Instanz liest die Geräte ja alle ein, nur die Namen werden nicht ausgelesen und es wurden keine Einstellungen geändert.
Gib mit ne halbe Stunde, dann poste ich hier die Screenshots.
-
@jojo58
du musst aber irgendwas anders machen.
Denn dieses Problem hatte ich noch nie ! -
Das Problem ist ja auch neu und tauchte erst auf, nachdem ich die Geräte neu eingelesen habe, weil beim neuen Gerät nur die Nummer stand.
Das sind die Screenshots und ich habe nur 6 kleine Programme laufen.
Firewall
Systemsteuerung Sicherheit
HM-REGA
HM-RPC
-
@jojo58 sagte in Homematic RPC und Gerätebeschreibungen:
weil beim neuen Gerät nur die Nummer stand.
Auch ich habe das Problem (bisher) nicht, obwohl ich vor paar Tagen neue HmIP Geräte angeernt habe.
Ich vermute daher, dass es möglicherweise an deiner CCU / HM-Installation liegt.Wie viele HmIP Geräte hast du?
in den Anfängen von Homematic war die Anzahl möglicher Geräte reativ niedrig. Es wäre ja für Home und nicht Business.
Diese Anzahl wurde sukzessive erhöht.
Möglicherweise ist bei IP ein Problem beim Erstellen des json -
Ich habe eine Steckdose HmIP-PSM-2 angelernt. Und das mit dem umbenennen habe ich auch getestet, wie bei dir ohne Erfolg.
Ich glaube, das hier ist die Funktion, die die Namen abruft und die passt so. Ich habe keine Ahnung von Programmieren, aber ich habe die durch KI geprüft. Da antwortet die CCU3 nicht wie gewohnt und man kann auch sehen, an welcher Stelle der Funktion abgebrochen wird.Ich habe auch keine Ahnung von Github, sonst würde ich den Entwickler fragen, ob der eine Idee hat.
!# devices.fn 1.4 !# !# Dieses Homematic-Script gibt eine Liste aller Geraete/Kanaele als JSON String aus !# !# 3'2013-7'2013 hobbyquaker https://github.com/hobbyquaker !# string sDevId; string sChnId; Write('{'); boolean dFirst = true; foreach (sDevId, root.Devices().EnumUsedIDs()) { object oDevice = dom.GetObject(sDevId); boolean bDevReady = oDevice.ReadyConfig(); string sDevInterfaceId = oDevice.Interface(); string sDevInterface = dom.GetObject(sDevInterfaceId).Name(); if (bDevReady) { if (dFirst) { dFirst = false; } else { WriteLine(','); } Write('"' # oDevice.Address() # '":{"Name":"'); WriteURL(oDevice.Name()); Write('","Interface":"' # sDevInterface # '"}'); foreach(sChnId, oDevice.Channels()) { object oChannel = dom.GetObject(sChnId); WriteLine(','); Write('"' # oChannel.Address() # '":{"Name":"'); WriteURL(oChannel.Name()); Write('","Interface":"' # sDevInterface # '"}'); } } } Write('}');
-
@jojo58
zu ccu:
Was sind dies für IP ?
Du hast doch 192.168.1.xx !hm-rega
Haken bei https raushm-rpc.0
Angaben nicht geliefert !
Seite fehlt !
Warum ?
Ich vermute, dass dies auch nicht korrekt eingestellt ist.hm-rpc.1
Port ändern auf 2010
HTTPS Haken raus nehmenFazit:
Leider nicht vollständig geliefert.
Screenshot von hm-rpc.0 und hm-rpc.3 fehlt.Ändere dies mal wie oben genannt ab.
Dann läuft es. -
@bahnuhr Ich hab 33 Programme, davon eins inaktiv und die allermeisten ziemlich simpel. Das komplexeste sind das Astro-Skript (das ich glaube ich langsam mal entsorgen kann) und Dr. Tob's Update-Skript für das Wanddisplay. Keine Ahnung, ob das jetzt "viel" ist, würde mich überraschen.
Abgesehen von der CCU3 habe ich zwei HmIP-Geräte - HmIP-STHO-A und HmIP-SWDO-2.
Firewall
Systemsteuerung Sicherheit
Config hm-rega
Config hm-rpc
-
@homoran sagte in Homematic RPC und Gerätebeschreibungen:
Wie viele HmIP Geräte hast du?
Sorry, hatte deinen Post überlesen. Ich habe jetzt 25 HM IP Geräte und das wäre schon krass, wenn das zu viel ist. Oder Zählen die ganzen Kanäle der CCU3 auch zu den IP Geräten? Beim Einlesen kommt da irgendwas mit 263 Geräte oder so.
-
CCU:
Was ist 12001 und 9292 ?
Unten die IP
dürften nicht stimmen.
Bei mir steht da z.B.
Vergleiche dies mal.CCU Sicherheit: ist ok
hm-rega.o
IP Adresse eintragen; nicht ccu3
Und bei duty cycle auf der 2. Seite ein Intervall in Sek.
hm-rpc.0
IP Adresse eintragen; nicht ccu3
Als callback Adresse die IP von iobLeider fehlt auch hier:
hm-rpc.1 und hm-rpc.2Liefere alles, dann kann man es beurteilen.
-
@bahnuhr sagte in Homematic RPC und Gerätebeschreibungen:
dürften nicht stimmen.
Bei mir steht da z.B.Soll das ein Witz sein? 192.168.178.33 und 34 sind die IPs des ioBroker. Der Rest ist schlich Voreinstellung der CCU. Warum sollte ich deine IPs dort eintragen? Die IPv6-Adresse hab ich rausgeworfen, weil ich kein IPv6 habe.
Und nein, die IP-Adresse trage ich da nicht ein. Ich nehme den DNS-Alias. Als Callback ist exakt die IP-Adresse des ioBrokers eingetragen, die du in den Firewall-Einstellungen noch als falsch bezeichnet hast.
Ja, hm-rpc.1 und hm-rpc.2 fehlen, aber ich muss schon so langsam fragen, ob du das aus Prinzipienreiterei wissen willst. Das Problem wird vom hm-reha geloggt bei der RPC-Abfrage. Was die anderen Adapter da machen ist wurscht. Wenn die IP-Adressen nicht stimmen würden, käme nicht die halbe Antwort, von der CCU, sondern gar keine, und sämtliche ioBroker-Programme, die die Geräte verwenden, würden nicht funktionieren.
@JoJo58 Im homematic-Forum gibts jetzt eine Lösungsansatz. Wie erwartet wird auch dort vermutet, dass das Skript zur JSON-Erstellung abbricht. Wir sollen CCU-seitig schauen, warum.
Nachtrag: bestätigt, das geht CCU-seitig kaputt, das Skript bricht ab.
-
@bahnuhr sagte in Homematic RPC und Gerätebeschreibungen:
hm-rpc.0
Angaben nicht geliefert !
Seite fehlt !
Warum ?
Ich vermute, dass dies auch nicht korrekt eingestellt ist.Von den Instanzen 0 und 3 habe ich nichts gepostet, weil die funktionieren .
Ich habe die Einstellungen jetzt angepasst und musste bei hm-rpc.1 auch noch das https rausnehmen. Dann die Geräte neu eingelesen und der Fehler ist der Gleiche, nur die Nummern und im Protokoll die gleiche Meldung:
hm-rega.0 2025-01-10 11:04:56.201 error Cannot parse answer for devices: {"0008DD89B328D6":{"Name":"DA-B%FCro","Interface":"HmIP-RF"}, "0008DD89B328D6:0":{"Name":"DA-B%FCro%3A0","Interface":"HmIP-RF"}, "0008DD89B328D6:1":{"Name":"DA-B%FCro%3A1","Interface":"HmIP-RF"}, "0008DD89B328D6:2":{"Name":"DA-B%FCro%3A2","Interface":"HmIP-RF"}, "0008DD89B328D6:3":{"Name":"DA-B%FCro%3A3","Interface":"HmIP-RF"}, "0008DD89B328D6:4":{"Name":"DA-B%FCro%3A4","Interface":"HmIP-RF"}, "0008DD89B328D6:5":{"Name":"DA-B%FCro%3A5","Interface":"HmIP-RF"}, "0008DD89B328D6:6":{"Name":"DA-B%FCro%3A6","Interface":"HmIP-RF"}, "0008DD89B328D6:7":{"Name":"DA-B%FCro%3A7","Interface":"HmIP-RF"}