Page 1 of 1

Version 2026.1 Error Log now shows device idx name, but not for every entry

Posted: Thursday 26 March 2026 18:30
by imautohuttraeger
I am happy that the new error logs are also showing device information which helped me already with another issue. However, I have one error log, where it is still not shown:

Error: Invalid Number sValue: '%' for device idx: '%'

Is there any possibility to get the IDX that causes this problem?

Re: Version 2026.1 Error Log now shows device idx name, but not for every entry

Posted: Friday 27 March 2026 0:08
by waltervl
You perhaps can add extra debugging options in menu Setup - Settings, tab Logs to identify the IDX?

Re: Version 2026.1 Error Log now shows device idx name, but not for every entry

Posted: Friday 27 March 2026 6:26
by imautohuttraeger
I have activated all the options of the lock levels and now the system is hanging . Is there any possibility for me to start the system in a minor environment, so I can deactivate these lock levels?

Re: Version 2026.1 Error Log now shows device idx name, but not for every entry

Posted: Friday 27 March 2026 7:44
by imautohuttraeger
All clear: Fortunately, after restarting domoticz, the log level check boxes are automatically deactivated again.

However, even if I activate one log level option after the other, there is no hint on idx in the lock errors

Re: Version 2026.1 Error Log now shows device idx name, but not for every entry

Posted: Friday 27 March 2026 21:22
by gizmocuz
I have found the lines with these errors, they are in WebServer.cpp line 2827/2832

Code: Select all

						result2 = m_sql.safe_query("SELECT Value FROM Meter WHERE (DeviceRowID='%q' AND Date>='%q') ORDER BY Date LIMIT 1", sd[0].c_str(), szDate);
						if (!result2.empty())
						{
							std::vector<std::string> sd2 = result2[0];
							if (sd2[0].empty())
							{
								_log.Log(LOG_ERROR, "Empty Value in Meter table for device idx: '%q'", sd[0].c_str());
								continue;
							}
							if (!is_number(sValue))
							{
								_log.Log(LOG_ERROR, "Invalid Number sValue: '%q' for device idx: '%q'", sValue.c_str(), sd[0].c_str());
								continue;
							}
							if (!is_number(sd2[0]))
							{
								_log.Log(LOG_ERROR, "Invalid Number value: '%q' for device idx: '%q'", sd2[0].c_str(), sd[0].c_str());
								continue;
							}
This should give you a hint. Have you been poking in the database with a script?

Re: Version 2026.1 Error Log now shows device idx name, but not for every entry

Posted: Friday 27 March 2026 23:25
by imautohuttraeger
Thx for this research. I don't even now how to "poke the database with a script". For scripting, I am more / less only able to copy code and amend it for my needs by trial and error.But without really knowing what I do ... so maybe unintentionally ...

Your hint brings me to the idea, to deactivate each script ceteris paribus and see, if the error disappears.

Re: Version 2026.1 Error Log now shows device idx name, but not for every entry

Posted: Saturday 28 March 2026 13:49
by imautohuttraeger
I came a little step foreward. Deactivating scripts had no effect.

But meanwhile I detected, that the error occurs every time, the log of any utility device is opened forces this error exactly at the time when you click on "back". (The log of other devices like switches etc. has no effect on this.)

However, the error also seems to appear, when no user interaction is made. But with the "method" described above it can be forced. See video capture with the link below.

https://photos.app.goo.gl/osi34Z3ysKi4ssyaA