rdmtc / RedMatic

Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic 🤹‍♂️
Apache License 2.0
533 stars 47 forks source link

Verzögerte Reaktionen, ReGaHss: Error: IseXmlRpc::CallGetValue: CallXmlrpcMethod failed #123

Closed drMaxxi closed 5 years ago

drMaxxi commented 5 years ago

Bug?

Ich habe heute versucht die Programmierung der Alarmanlagen in RedMatic zu übertragen aber leider gibt es in den Abläufen der Flows Verzögerungen die oft mehrere Minuten dauern. Die messages Datei enthält sehr viele Fehlermeldungen vom Typ "homematic-ccu3 local0.err ReGaHss: Error: IseXmlRpc::CallGetValue: CallXmlrpcMethod failed" Kann es sein, dass es hier ein Bug in der Variablenverarbeitung sitzt? Da ich auch den AIO Creator Neo benutze, brauche ich die Systemvariablen der CCU für gewisse Darstellungen weswegen ich diese nicht durch Variablen von RedMatic ersetzen kann.

hobbyquaker commented 5 years ago

Per Default Settings werden Variablen alle 30 Sekunden von der Rega abgeholt, mit dem "ccu poll" Node kann man sich auch einen "Pseduo-Push" Mechanismus bauen um diese Verzögerung zu mildern ("ccu - rpc event" Node so konfigurieren dass er einen Tastendruck auf eine Virtuelle Taste ausgibt, mit dem "ccu - poll" Node verbinden, ein CCU Programm anlegen dass bei Änderung relevanter Variablen die virtuelle Taste drückt). Woher die CallXmlrpcMethod Fehlermeldung bei Dir kommt kann ich so nicht sagen, da bräuchte ich ein vollständiges Log.

drMaxxi commented 5 years ago

soll ich es dir mailen? alternativ findest du das gesamte log auch als pastebin ober dem post mit dem neuen Technikkramartikel (Gratuliere dazu übrigens)

drMaxxi commented 5 years ago

Der Workaroud mit dem virtuellen Button hat die Verzögerungen um einiges Verbessert. Allerdings kommt es doch immer wieder zu ziemlichen Verzögerungen (Minuten) wenn der der oben beschriebene Fehler auftretet.

hobbyquaker commented 5 years ago

Hab das Log eben angeschaut, ich glaube eher nicht dass das mit RedMatic zu tun hat. Um sicherzugehn wäre die einfachste Möglichkeit: RedMatic bzw. Node-RED mal paar Stunden stoppen und beobachten. Wenn das ausschließlich HmIP betrifft und "klassische" BidCos Geräte einwandfrei funktionieren könnte es das gleiche Problem sein das hier beschrieben ist: https://homematic-forum.de/forum/viewtopic.php?f=65&t=47911

drMaxxi commented 5 years ago

Habe heute Nacht NodeRed deaktiviert. Bis heute in der Früh ist nur folgende Meldung gekommen:

Dec 30 08:48:21 homematic-ccu3 local0.err ReGaHss: Error: IseXmlRpc::CallXmlrpcMethod: execute result isFault; method =getParamsetDescription Params = {"OEQ1907831:2","MASTER"} result= [faultCode:-3,faultString:"Unknown paramset"] [iseXmlRpc.cpp:2605] Dec 30 08:48:21 homematic-ccu3 local0.err ReGaHss: Error: IseXmlRpc::CallGetParamsetDescription: CallXmlrpcMethod failed [iseXmlRpc.cpp:2385]

hobbyquaker commented 5 years ago

Habe eine Befürchtung, möglicherweise ist doch RedMatic hier der "Schuldige" bzw. der Auslöser. Es scheint so als ob der Hmipserver seine "inits" nicht sauber aufräumt und da eine Menge "Leichen" liegenbleiben. Das könnte vielleicht (Spekulation...) dazu führen dass der hmipserver diese Probleme macht. Kannst Du mal folgenden Test machen: CCU Neustarten, ein paar mal Node-RED neustarten und dann den Inhalt der Datei /var/LegacyService.handlers hier pasten?

drMaxxi commented 5 years ago

Hier ist das Ergebnis:

This is the handler list for legacy backend

Sun Dec 30 14:31:20 CET 2018

nr_7752_HmIP-RF=http\://127.0.0.1\:2048 OEQ0609229_32010_b827ebbb08d1=http\://192.168.178.32\:9099/OEQ0609229 1009=http\://127.0.0.1\:31999 HmIP-RF_java=http\://127.0.0.1\:39292/bidcos

Ich hätte noch ein paar Anmerkungen: 1) NodeRed zu starten und stoppen geht nur wenn man dauern die configuration Webseite wieder zu- und aufmacht (anzeige stimmt nicht - bleibt beim vorherigen Status) 2) Der andere User im HomeMatic-Forum hatte ebenfalls RedMatic installiert.

hobbyquaker commented 5 years ago

Check mal bitte ob diese Probleme mit RedMatic 1.10.9 aus der Welt sind

drMaxxi commented 5 years ago

Habs getestet und die Reaktionszeiten von Flows die CCU-Variablen enthalten scheinen besser geworden zu sein. Allerdings ist das Log immer noch nicht ok. Habe es dir per Mail geschickt.

hobbyquaker commented 5 years ago

diese ganzen script runtime errors in deinem log kommen definitiv nicht von RedMatic, ich würde da Mediola verdächtigen.

drMaxxi commented 5 years ago

Habe jetzt den neo server deinstalliert. Der log ist allerdings immer noch nicht sauber - hab ihn dir per Mail geschickt.

drMaxxi commented 5 years ago

Habe dir gerade noch eine aktuellere Version der Log-Datei geschickt, welche wieder einige error Messages enthält die sicher von NodeRed kommen.

hobbyquaker commented 5 years ago

Ui das letzte Log sieht "schlimm" aus. Da scheint der hmipserver gar nicht mehr wirklich zu wollen, haufenweise Timeouts und invalide xml responses.

Allerdings auch noch andere Fehler die garantiert nichts mit RedMatic zu tun haben wie z.B. der hier: Dec 30 20:45:33 homematic-ccu3 local0.err ReGaHss: Error: IseESP::ScriptRuntimeError: {^M string tmp;^M string param2Exclude = "IDENTIFY_DURATION,IDENTIFICATION_MODE_KEY_VISUAL,IDENTIFICATION_MODE_LCD_BACKLIGHT,IDENTIFY_TARGET_LEVEL,STATUS_FLAG_ERROR,STATUS_FLAG_LOW_BAT,STATUS_FLAG_PLAYING_FILE_ACTIVE,STATUS_FLAG_PLAYLIST_ACTIVE,ERROR_CODE_STATUS";^M ^M showParam = true;^M ! Check if datapoint is no sysvar^M if (! oDP.IsTypeOf( OT_VARDP )) {^M foreach (tmp, param2Exclude.Split(",")) {^M if (oDP.HSSID().Find(tmp) != -1) {^M showParam = false;^M return;^M }^M }^M }^M return;^M }^M [iseESPexec.cpp:12679]

Bin da erstmal ziemlich ratlos. Um jetzt wirklich mal zu sehen ob ohne RedMatic alles läuft würde ich folgendes vorgehen empfehlen: sicherstellen dass RedMatic nach einem Reboot nicht automatisch Node-RED startet. Das kannst Du bewerkstelligen indem Du die Datei /etc/config/rc.d/redmatic mal runterlädsts und dann auf der CCU löscht. Dann die CCU rebooten - nun sollte kein Node-RED gestartet sein. Dann mal über Nacht laufen lassen und Morgen ins Log schauen.

Was mir auch noch in dem Log aufgefallen ist (Hat aber mit den ganzen Problemen ziemlich sicher nichts zu tun): Du scheinst 2 "RedMatic HomeKit Homematic" Nodes zu haben, da solltest einen von löschen: 0 21:16:12 homematic-ccu3 daemon.info node-red[948]: [redmatic-homekit-homematic-devices:3bb15b66.07a32c] publish 9 devices Dec 30 21:16:12 homematic-ccu3 daemon.info node-red[948]: [redmatic-homekit-homematic-devices:693c86ce.8b3948] publish 64 devices

drMaxxi commented 5 years ago

Habe dir gerade die Log per Mail geschickt.

hobbyquaker commented 5 years ago

Zu dem Log kann ich nicht wirklich viel sagen. Wieder eine Menge Fehlermeldungen, da RedMatic da nicht lief ist das denke ich als Ursache für diese Fehler erstmal raus. Aufgefallen ist mir dass noch erfolglos ein Init auf "HVL" versucht wird und wieder ne Menge Rega-Script Fehler auftauchen. Zu Deiner Frage

Kann ich alle RedMaticeinstellungen sichern? Dann würde ich es komplett deinstallieren – dann gehen wir ganz sicher.

Folgende Dateien sind relevant:

drMaxxi commented 5 years ago

Ok, danke. Gibt es so weit du weisst die Möglichkeit bei der Raspberrymatic CCU NUR die Geräte, Einstellungen etc. zu sichern ohne gleich das ganze system als image zu sichern? Dann koennte ich naemlich alles löschen und neu installieren ohne alle Geräte neu anlernen zu müssen...

Sineos commented 5 years ago

Einstellen musst ja nicht viel. Das Einzige, das du sichern solltest sind deine Flow Dateien:

/usr/local/addons/redmatic/var/flows.json
/usr/local/addons/redmatic/var/flows_cred.json
hobbyquaker commented 5 years ago

@drMaxxi ich gehe mittlerweile davon aus dass RedMatic nicht der Verursacher dieser Probleme ist, glaube dass der hmipserver in Firmware 3.41.x einige Bugs hat, siehe auch die Threads dazu im Homematic Forum. Ist es ok wenn ich den Issue hier schließe?

drMaxxi commented 5 years ago

Sowiso - bin der gleichen Meinung.