AlexE Posted March 18, 2023 Posted March 18, 2023 I was wondering whether it is possible to write the query results from an esiy program to a csv file (or similar). I have several zooz plug with energy monitor and do not really need a sophisticated online solution, but a rather a simple data dump into a spreadsheet of some sorts. I was browsing the forum etc but could not really find an answer whether this is possible? Thanks for any help in advance
Bumbershoot Posted March 19, 2023 Posted March 19, 2023 14 hours ago, AlexE said: I was wondering whether it is possible to write the query results from an esiy program to a csv file (or similar). There is. See this page in the wiki: https://wiki.universal-devices.com/index.php?title=ISY-994i_Series_INSTEON:Networking#Dynamic/Custom_Page_Creation In the example below, the values from a couple of moisture sensors are inserted into a csv file.
larryllix Posted March 19, 2023 Posted March 19, 2023 @MWaremanhad posted some programs he developed to map the results of this onto a graphic chart, all running from internal ISY code, and I had developed some ISY recording techniques from that to shape the graphic charts into better looking displays, along with dynamic file names that refreshed each month. This all seem to have been deleted from the archives now, according to the wiki forum link.
AlexE Posted March 19, 2023 Author Posted March 19, 2023 This is exactly what I was looking for, Thanks. would be great if those charts could be put back to the wiki archives.
AlexE Posted March 19, 2023 Author Posted March 19, 2023 I got it to write a csv file but I am struggling with writing the actual value for the file for the power. so my custom notification reads: ${sys.date},${sys.time},$(sys.node.ZY014_143_33_3.ST} it outputs day and time correctly but the actual energy output just reads : "$(sys.node.ZY014_143_33_3.ST}" I guess I am missing somehting? Thanks
AlexE Posted March 19, 2023 Author Posted March 19, 2023 ok - bracket was wrong: ${sys.date},${sys.time},${sys.node.ZY014_143_33_3.ST} now it writes: node[ZY014_143_33_3]
Bumbershoot Posted March 20, 2023 Posted March 20, 2023 19 hours ago, AlexE said: ok - bracket was wrong: ${sys.date},${sys.time},${sys.node.ZY014_143_33_3.ST} now it writes: node[ZY014_143_33_3] I don't understand Z-Wave nodes all that well, but I suspect that the node you're trying to report on doesn't support an "ST" value. When you use the X-Ray utility, select "Node Info" instead of "Node Definition" on the device, and look between the <properties> ... </properties> tags (if it has any) for the property id to query. I don't have one of the devices you're asking about, but I think I'd have to use the "CLITEMP" property if I wanted to report on the temperature reported by my Z-Wave multi sensor. <properties> <property uom="51" formatted="100%" value="100" id="BATLVL"/> <property prec="1" uom="17" formatted="63.5°F" value="635" id="CLITEMP"/> <property uom="36" formatted="0 lux" value="0" id="LUMIN"/> </properties>
DennisC Posted March 20, 2023 Posted March 20, 2023 (edited) 20 hours ago, AlexE said: ok - bracket was wrong: ${sys.date},${sys.time},${sys.node.ZY014_143_33_3.ST} now it writes: node[ZY014_143_33_3] If you type the following into a browser window, click through the warning and then enter user name & password, you get a page that gives you all of the property id's for that node (if the node address is written correctly (the example is based on using eisy via https, with a node address of n001_81668 (from node server, update it for other type of nodes): https://xxx.xxx.x.xxx:8443/rest/nodes/n001_81668 Edited March 20, 2023 by DennisC Added explanation
AlexE Posted March 20, 2023 Author Posted March 20, 2023 <nodeInfo> <node flag="0" nodeDefId="ZY014_143"> <address>ZY014_143</address> <name>ZY 014 Energy Meter</name> <family>12</family> <parent type="3">36911</parent> <type>4.16.1.0</type> <enabled>true</enabled> <deviceClass>0</deviceClass> <wattage>0</wattage> <dcPeriod>0</dcPeriod> <startDelay>0</startDelay> <endDelay>0</endDelay> <pnode>ZY014_1</pnode> <rpnode>ZY014_1</rpnode> <sgid>143</sgid> <custom flags="128" val1="0"/> <devtype> <gen>4.16.1</gen> <mfg>634.257.13</mfg> <cat>143</cat> </devtype> </node> <properties> <property id="CC" value="0" formatted="0.000 Amps" uom="1" prec="3"/> <property id="CPW" value="0" formatted="0.000 Watts" uom="73" prec="3"/> <property id="CV" value="124871" formatted="124.871 Volts" uom="72" prec="3"/> <property id="TPW" value="4988" formatted="4.988 kWh" uom="33" prec="3"/> </properties> </nodeInfo> That's the output using the web browser That would mean ${sys.node.ZY014_143_33_3.tpw}, ${sys.node.ZY014_143_72_3.cv} should work? Still only writes node[ZY014_143_33_3] node[ZY014_143_72_3] into the csv file. Thanks again
DennisC Posted March 20, 2023 Posted March 20, 2023 I must be missing something, where are you getting the following from: _33_3 & _72_3 Start simple using a program and an email notification so you can right click on the program, select run then and have a notification sent. Y email. Once you get the right output, then transfer the correct node address to your cvs output. Does the following work: ${sys.node.ZY014_143.TPW},${sys.node.ZY014_143.CV}
AlexE Posted March 20, 2023 Author Posted March 20, 2023 Yes, this works. Writes the actual values into the spreadsheet. Thanks!
Recommended Posts