September 25Sep 25 Is there an equivalent of java console when one can observe the start of a plugin loading etc - it is very helpful for debugging some issues
September 27Sep 27 What do you mean by this? I dont know where except possibly in the logs, where you can see Plug-ins in the old Java Console AC.In the new UI, you can go tot PG3(X) and see your dashboard etc. Is that what you are referring to?
September 27Sep 27 Author The log shows the AC parser log - it is not the plugin log, but how the plugin is parsed by the AC - it can be used to find profile errors and other errors happening during start up - I have not been able to find this in other logs
September 28Sep 28 Not available, the AC parsed at startup which caused long delays. This is now done whenever the profile changes in firmware instead of the UI.Edit: I tried uploading how to debug, but the forum/wiki are having issues with file upload. Will update soon.
September 28Sep 28 Profile XML Parser Logging & Diagnostics === Log File Location === '''Primary log file:''' <code>/var/isy/FILES/LOG/debug.log</code> ---- '''Log message format:''' <pre> +[U7XmlParserTools::reportParseError ] ERROR: Parser EditorParser : Error 0 on Line {line}.{col} depth={depth} '{tagName}': Invalid Editor : Editor {ID} values are invalid or incomplete : [id='{id}' nls='{nls}' subset='(null}' uomId='{uom}' min='(null}' max='(null}' step='(null}' prec='(null}' desc='(null}'] </pre> '''REST response also contains the error''' — when calling <code>/rest/profiles/.../move</code>, the <code><message></code> element in the <code><RestResponse></code> XML will include the parse error text. ---- === Debug Subsystems === Defined in <code>ISY/src/u7/U7Debug.h</code> and <code>ISY/src/u7/U7Debug.cpp</code>: {| class="wikitable" ! Subsystem !! Name !! Default Level !! What It Logs |- | <code>nspu</code> || Node Server Profile Updater || 3 (all messages) || Editor/nodedef/linkdef parsing, file processing, transactions |- | <code>nsdb</code> || Node Server SQL Database || 2 (warn+err only) || Database operations, encoded editor sync |} Log level thresholds: * Level > 0: Errors (<code>_tnspuErr</code>, <code>_tnsdbErr</code>) * Level > 1: Warnings (<code>_tnspuWarn</code>, <code>_tnsdbWarn</code>) — includes transaction rollbacks * Level > 2: Info (<code>_tnspu</code>, <code>_tnsdb</code>) — includes file-by-file processing messages * Level > 3: Detail (<code>_tnspuDetail</code>, <code>_tnsdbDetail</code>) === Enabling Verbose Logging at Runtime === Use the REST trace endpoint to increase the debug level before triggering a profile move: <syntaxhighlight lang="bash"> # Enable verbose logging for profile updater (shows each file processed) curl http://{host}/rest/trace/nspu/4 # Enable verbose logging for database operations curl http://{host}/rest/trace/nsdb/4 # Then trigger the profile move curl http://{host}/rest/profiles/move/all?recreate=true # Check the log ssh admin@{host} "grep -i 'EditorParser\|Invalid Editor\|Rolling back' /var/isy/FILES/LOG/debug.log" </syntaxhighlight> === Diagnosing Missing Editors/NodeDefs/LinkDefs === <syntaxhighlight lang="bash"> # Search for parse errors in the log grep -i "Invalid Editor\|Invalid NodeDef\|Invalid LinkDef\|parseError\|Rolling back" /var/isy/FILES/LOG/debug.log # Search for the specific editor that caused the abort grep -i "values are invalid or incomplete" /var/isy/FILES/LOG/debug.log # Check which editors actually made it into the database sqlite3 /var/isy/FILES/CONF/NSDB/NSDB_{FFFF}_{IIII}.DB "SELECT editorId FROM Editor ORDER BY editorId;" </syntaxhighlight> === Editor Validation Rules (U7Editor::setFromCStrings) === The <code><range></code> element on an editor must satisfy one of: # A <code>subset</code> attribute (with no min/max/step/prec), OR # Both <code>min</code> and <code>max</code> attributes (with no subset) A <code><range></code> that satisfies neither condition fails with: <code>"Editor {ID} values are invalid or incomplete"</code>
September 28Sep 28 Author ok - little difficult to get to as I need to change privileges but it should work
September 28Sep 28 Also note this behavior 'Any items defined after the invalid one are silently lost'. Issue to improve is on our list. Problem StatementAll three profile XML parsers (U7EditorParser, U7NodeDefParser, U7LinkDefParser) call pt.parseError*() methods on validation failures. Every parseError*() method calls stopParse(false), which aborts the entire file. Any items defined after the invalid one are silently lost.
September 28Sep 28 Just logs a failure if I remember correctly. I only recently discovered this while debugging for another dev. Fix is my list, but weeks out with eisy-ui implementation deadlines
October 1Oct 1 Author This is somewhat relatedI have noticed that the profile parser in eisy-ui is more restrictive than the AC. several of the plugins I developed show numeric values for uom25 in eisy-ui. E.g. it seems it cannot handle spaces in comma separated lists and a few other items. I am in the process of reviewing my nodes, but for a more seamless transition, it would be nice if the parser could handle what the old AC did - I know UDmobile is also more restrictive so it may intentional, but just wanted to bring it up
October 1Oct 1 Previously each client AdminConsole/UDM-Android/UDM-iOS/etc needed to parse the XML files themselves. This lead to some things being errors in one client but not in others due to parsing lib, chars that may require esc, etc. It was both ways, some things worked in UDM but not the adminConsole.This is now all parsed in firmware to return rest/nodes JSON. So at least there is a single point to investigate, no need to check if it works with all clients.Always possible it has an error, so If you think there is something that should be accepted we can investigate.
October 2Oct 2 Author it seems it does not handle spaces in comma separated list - I may be wrong I'll keep updating my nodes so they work with the latest - then is should be ok going forward
October 3Oct 3 Author It also seem there are issues with lower case and _ character for node id and ediitorsThere are errors in many of my nodes around uom25, so I woudl imagine I am not the only one withthis issue - Getting people update may be more difficult than making the parser more flexible :-)A comment - It is rather cumbersome to access the log file - I need to open access to the isy do this and then search through a log log for the issues - the old AC Java is much easier to use -
October 3Oct 3 This parser is used for all files, with the exception of the silent drop due to something invalid we have not had any other reports of issues. I'll try to get on that issue next week. With regards to the chars, both exist in current nodeDefs and Editors, so it is likely something else. My guess is it related to the same silent loss on failed validation making it difficult to know what is causing the issue. In the test case, an issue was reported as an editor not being loaded, the causes was an extra (harmless) xml tag in another editor higher in the file causing the entire file to be dropped before reaching the editor not being loaded.On 9/28/2026 at 12:07 PM, Javi said:Also note this behavior 'Any items defined after the invalid one are silently lost'. Issue to improve is on our list. Problem StatementAll three profile XML parsers (U7EditorParser, U7NodeDefParser, U7LinkDefParser) call pt.parseError*() methods on validation failures. Every parseError*() method calls stopParse(false), which aborts the entire file. Any items defined after the invalid one are silently lost.The next version of eisy-ui will have live debugging for all log files, which should make debugging easier. Likely better than the Admin Console.
October 4Oct 4 Author On 10/2/2026 at 6:17 PM, Panda88 said:It also seem there are issues with lower case and _ character for node id and ediitorsThere are errors in many of my nodes around uom25, so I woudl imagine I am not the only one withthis issue - Getting people update may be more difficult than making the parser more flexible :-)A comment - It is rather cumbersome to access the log file - I need to open access to the isy do this and then search through a log log for the issues - the old AC Java is much easier to use -I think the issue may be related to reserved words - but getting a real debugger will helps a lot
October 8Oct 8 Author which file can I find the parser errorsI have a very strange scenario - I have 3 nodes with same nodedef (3 camera systems) two show up correct, but one does not translate the uom25 - this is a node is a little differnt as it only has 1 camera, but it is the same node withe the same data as the others
October 9Oct 9 # nspu defaults to level 3 — parse errors are visible without any level change. # Only set level 4 if you also want to see which files are being processed (full profile processing flow). # curl http://{host}/rest/dev/debug/set/nspu/level/4 # nsdb is only needed if you suspect a SQL/database failure, not for parse errors or file processing. # Move/re-parse a single node server profile (slot number, e.g. 1) curl http://{host}/rest/profiles/ns/1/move?recreate=true # Or just re-import profile files from disk for a single node server slot curl http://{host}/rest/profiles/ns/1/files/reload # Search for parse errors in the log grep -i "Invalid Editor\|Invalid NodeDef\|Invalid LinkDef\|parseError\|Rolling back" /var/isy/FILES/LOG/debug.log # Search for the specific editor that caused the abort grep -i "values are invalid or incomplete" /var/isy/FILES/LOG/debug.log # Check which editors actually made it into the database sqlite3 /var/isy/FILES/CONF/NSDB/NSDB_{FFFF}_{IIII}.DB "SELECT editorId FROM Editor ORDER BY editorId;"\Looks like the isy debug log did not make it to live logs, we will add soon.From Admin Console > Tools > Log Viewer > Debug Log > Go (must press to refresh). This is the same as /var/isy/FILES/LOG/debug.log
Create an account or sign in to comment