Page 1 of 1

Change in data returned by JSON API w parameter devices_list

Posted: Monday 19 December 2022 15:27
by bl34
Hi
I migrated Domoticz from a PI3 to a HP thin client running Debian 11. For that I had to compile Domoticz to get a 32 bit module for machine Intel 80386.
After that I got errors in my LUA script using the JSON API with parameters devices_list as the content of the data returned is different.
As shown below the field "value" is now replaced by field "idx".

Below data returned for each platform by calls to getversion and devices_list.

On Raspberry PI3:
json with type=command&param=getversion

Code: Select all

	"DomoticzUpdateURL" : " .......php?channel=stable&type=release&system=linux&machine=aarch64",
	"HaveUpdate" : false,
	"Revision" : 14606,
	"SystemName" : "linux",
	"UseUpdate" : true,
	"build_time" : "2022-11-05 13:05:35",
	"dzvents_version" : "3. 1. 8",
	"hash" : "eea9db734",
	"python_version" : "3 .7 .3 (default, Oct 31 2022, 14:04:00) \n[GCC 8 .3 .0]",
	"status" : "OK",
	"title" : "GetVersion",
	"version" : "2022. 2"
json with type=command&param=devices_list

Code: Select all

	"result" : 
			"name" : "Automation",
			"value" : "53"

On HP thin client:
json with type=command&param=getversion

Code: Select all

	"DomoticzUpdateURL" : " ......php?channel=stable&type=release&system=linux&machine=x86_64",
	"HaveUpdate" : false,
	"Revision" : 14606,
	"SystemName" : "linux",
	"UseUpdate" : true,
	"build_time" : "2022-12-15 08:45:45",
	"dzvents_version" : "3. 1. 8",
	"hash" : "387ba0e4b",
	"python_version" : "3. 9. 2 (default, Feb 28 2021, 17:03:44) \n[GCC 10. 2. 1 20210110]",
	"status" : "OK",
	"title" : "GetVersion",
	"version" : "2022. 2 (build 14839)"
json with ype=command&param=devices_list

Code: Select all

	"result" : 
			"idx" : "53",
			"name" : "Automation",
			"name_type" : "Automation (Light/Switch/Switch)"
I found no documentation on why this change. Possibly this could impact other flavors of scripts.
For compatibilty sake I wish to maintain one set of scripts regardless they run on a PI or a i386 machine.
I wonder if there is an option I need to set for the compilation to control this or if my problem is due to a change in the source I used vs what is in the pre-built package I used on my PI3 ?