Skip to content

ScriptErrors kommen nicht als XML zurück #49

@HiranChaudhuri

Description

@HiranChaudhuri

Mein XML Parser meldet Fehler:

2020-11-07 21:29:51 [ScriptErrorsMain] INFO  com.amadeus.webhosting.ccu2prometheus.ScriptErrorsMain  - Could not load http://192.168.178.39/addons/xmlapi/scripterrors.cgi
22:29:51      [exec] net.sf.saxon.trans.XPathException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 66; XML document structures must start and end within the same entity.

Beim manuellen Aufruf der URL bekomme ich kein komplettes XML zurück.

hiran@silver:~$ curl http://192.168.178.39/addons/xmlapi/scripterrors.cgi
<?xml version="1.0" encoding="ISO-8859-1" ?><scriptErrors><error hiran@silver:~$

Ich verwende die XMLAPI 1.20 (also aktuelles Release) sowie CCU Firmware 2.53.34. Daher vermute ich, dass das Skript etwa zwischen Zeile 13 und 17 abstürzt...

set Datei [open "|/usr/bin/tail -n 10 /var/log/messages" r]

Ich habe jetzt mal das Syslog über den CUXD ausgelesen, und die letzten Zeilen enthalten dies hier:

Nov  7 14:32:26 ccu2 user.err rfd: RFPhysicalDataInterfaceCommand::GetData SendFrame failed for LEVEL_GET
Nov  7 14:32:26 ccu2 user.err rfd: HSSParameter::GetValue() id=WORKING failed getting physical value.
Nov  7 14:32:27 ccu2 user.err rfd: RFPhysicalDataInterfaceCommand::GetData SendFrame failed for LEVEL_GET
Nov  7 14:32:27 ccu2 user.err rfd: HSSParameter::GetValue() id=LEVEL failed getting physical value.
Nov  7 14:32:28 ccu2 user.err rfd: RFPhysicalDataInterfaceCommand::GetData SendFrame failed for LEVEL_GET
Nov  7 14:32:28 ccu2 user.err rfd: HSSParameter::GetValue() id=COLOR failed getting physical value.
Nov  7 14:32:29 ccu2 user.err rfd: RFPhysicalDataInterfaceCommand::GetData SendFrame failed for LEVEL_GET
Nov  7 14:32:29 ccu2 user.err rfd: HSSParameter::GetValue() id=PROGRAM failed getting physical value.
Nov  7 17:49:07 ccu2 local0.err ReGaHss: ERROR: SyntaxError: Error 1 at row 23 col 3 near ^devVal); } oSysVarEnergyCounter.State(sysVarVal + diffVal); } ^M  [SyntaxError():iseESP.cpp:1127]
Nov  7 17:49:07 ccu2 local0.err ReGaHss: ERROR: SyntaxError: devVal); } oSysVarEnergyCounter.State(sysVarVal + diffVal); }  [ParseProgram():iseESP.cpp:377]
Nov  7 19:42:56 ccu2 local0.err ReGaHss: ERROR: SyntaxError: Error 1 at row 23 col 3 near ^st.  dom.GetObject("LogMessage").State("Tageslichtberechnung laeuft...");  ! All^M  [SyntaxError():iseESP.cpp:1127]
Nov  7 19:42:56 ccu2 local0.err ReGaHss: ERROR: SyntaxError: st.  dom.GetObject("LogMessage").State("Tageslichtberechnung laeuft...");  ! Alle Werte in Minuten  ! timeshift gibt an, wieviel Versatz zur Sonne wir wollen integer timeshift = 30;  integer jetzt = ( 60 * system.Date("%H").ToInteger()) + (system.Date("%M").ToInteger()); integer sa = ( 60 * system.SunriseTime("%H").ToInteger()) + (system.SunriseTime("%M").ToInteger()); integer da = sa-timeshift; if(da <= 390) {   da = 390; } integer su = ( 60 * 
ystem.SunsetTime("%H").ToInteger()) + (system.SunsetTime("%M").ToInteger()); integer du = su+timeshift; if(du <1200) {   ! nicht frueher als 19:30 Uhr   du = 1170; } if(du >1350) {   ! nicht spaeter als 21:00 Uhr   du = 1260; }  dom.GetObject("LogMessage").State("jetzt: " # jetzt # ", sa: " # sa # ", da: " # da # ", su: " # su # ", du: " # du);  if (da <= jetzt) {   ! Nach Dämmerungsanfang kannb es noch hell sein    if(jetzt <= du) {     WriteLine("tageslicht!");      if( dom.GetObject("Tageslicht").Varia
le() == "0" 
Nov  7 19:42:57 ccu2 daemon.info cuxd[14044]: system(LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d token=aHqJW6tJ1vgCxdZrCQvgiUgdXGDre3 -d user=ucMo7okDrXXrBRrD9EJxQTeQ52oGta -d message='Rollos runter' -d priority=0 https://api.pushover.net/1/messages.json) exit(127) 0s
Nov  7 22:55:33 ccu2 user.err rfd: HSSParameter::GetValue() id=STATE failed getting physical value.
Nov  7 22:55:33 ccu2 local0.err ReGaHss: ERROR: XMLRPC 'getValue' call failed (interface: 1007, params: {"LEQ0273590:1","STATE"}) [CallGetValue():iseXmlRpc.cpp:1435]
Nov  7 22:55:33 ccu2 local0.err ReGaHss: ERROR: CallGetValue failed; sVal = 0 [ReadValue():iseDOMdpHSS.cpp:124]

Es sieht so aus als ob meine Skripte ein paar Syntaxfehler enthalten, die ich noch die wahrgenommen habe (wurden mir ja auch noch nie angezeigt). Auch das ScriptErrors Script hilft hier nicht weiter, obwohl es doch genau dafür gerüstet sein müsste?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions