Create/ copy widget in visu - Printable Version +- Logic Machine Forum (https://forum.logicmachine.net) +-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1) +--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8) +--- Thread: Create/ copy widget in visu (/showthread.php?tid=2301) |
Create/ copy widget in visu - Trond Hoyem - 23.10.2019 Hi I am creating a script for automatically creating widget in normal visu (not Mosaic) based on templates. I have stolen some ideas from this thread; https://forum.logicmachine.net/showthread.php?tid=1249&pid=7450#pid7450 But I want to do it a little different as this rigid address structure does not suit me, and I am too lazy to create all widgets and then modify them by script. I want to let the script create everything for me. I think I may have a plan ready, but I am missing one thing; is there a command for making a copy of a widget? I need to do that in the beginning of the script to have anything to add items to. RE: Create/ copy widget in visu - Trond Hoyem - 25.10.2019 No answer from anyone... does this mean that it is not possible? RE: Create/ copy widget in visu - admin - 25.10.2019 You can create a copy of plan/widget like this: Code: oldid = 123 RE: Create/ copy widget in visu - Trond Hoyem - 25.10.2019 (25.10.2019, 07:03)admin Wrote: You can create a copy of plan/widget like this:Great! Will try that. OK, this part is working. But to be able to add stuff to the widget I need to enter the position of each item. I tried to log the items on a widget to see what information I couldt get. A typical object gave me; lageWidgets 25.10.2019 10:10:14 * table: ["object"] * number: 65794 ["id"] * number: 3 ["type"] * number: 1 ["name"] * string: ["statusobject"] * number: 65794 But I would need to have all the properties that we find in the visu-creation interface. Is there anywhere I can read up on this to find what I am looking for? RE: Create/ copy widget in visu - Trond Hoyem - 25.10.2019 (25.10.2019, 07:42)Trond Hoyem Wrote:(25.10.2019, 07:03)admin Wrote: You can create a copy of plan/widget like this:Great! Never mind last post. I found it. I had some limitations in my SQL select, so without that, every parameter came in tho log. RE: Create/ copy widget in visu - Trond Hoyem - 25.11.2019 Hi I am facing a problem here. I have created a script that is adding widgets to the visu, and adding labels and objects to the widgets based on my object list. I have done it all on an older SpaceLYnk I had in my office, and everything worked fine. Now I have copied the script to a newer SL at a project and am running the script. But on this SL the widgets are created, but no labels or objects are added to the widgets. To insert the widget I greate a table with all properties of the widget and then use the following; Code: db:insert('visfloors', widget) When adding labels and objects I also create a table and add it like this; Code: db:insert('visobjects', element) I have logged the tables, and they have the right values as far as I can see, but the elements are not added to the database. Has there been a change in this for the newer HW version. I am running FW 2.3.0 on both the new and the old SL that I have tested the script. RE: Create/ copy widget in visu - admin - 25.11.2019 Have you assigned floor value for elements to new floor id? Also try logging return values of insert statement, it might show where the error is. RE: Create/ copy widget in visu - Trond Hoyem - 25.11.2019 (25.11.2019, 14:29)admin Wrote: Have you assigned floor value for elements to new floor id? Also try logging return values of insert statement, it might show where the error is. Yes, when I log the table, I have floor value, but when I log the visobjects with last floor value, the table is empty. One other thing I can see; when I create the table I have a line stating element.id = nil to get an automatic ID, but when I log the table this line is not included. Maybe this is the problem? I should maybe get a line in the table like: [id] * nil (25.11.2019, 14:29)admin Wrote: Have you assigned floor value for elements to new floor id? Also try logging return values of insert statement, it might show where the error is. I tested the logging of the last entered element in the old and the new SL, and in the old one I get a table in return, but not in the new one. The script is copied from the old to the new. RE: Create/ copy widget in visu - admin - 25.11.2019 Do this, it will return an error if something is wrong: Code: res, err = db:insert('visobjects', element) As for nil keys: setting table key to nil deletes the key, accessing non-existing keys return nil. RE: Create/ copy widget in visu - Trond Hoyem - 25.11.2019 (25.11.2019, 15:12)admin Wrote: Do this, it will return an error if something is wrong: OK, this did it. In my table I had a line for PIN code, and apparantly that is no longer a coloumn in the Visobjects table. It did work on the old HW, but not the new one. Has this changed in a way? I removed the line with PIN code as I am not using it anyway, so now the script works. RE: Create/ copy widget in visu - admin - 25.11.2019 You've got it mixed up, pincode column was added recently not removed. RE: Create/ copy widget in visu - Trond Hoyem - 25.11.2019 (25.11.2019, 15:29)admin Wrote: You've got it mixed up, pincode column was added recently not removed. Strange... The script worked in the old version, but not in the new one.... RE: Create/ copy widget in visu - admin - 25.11.2019 What error were you getting exactly? RE: Create/ copy widget in visu - Trond Hoyem - 25.11.2019 The error code was * arg: 1 * nil * arg: 2 * string: LuaSQL: table visobjects has no column named pincode |