boser Posted April 27, 2014 Posted April 27, 2014 Iv'e created the following custom notification: sys.node.0E F5 1C.ST = ${sys.node.0E F5 1C.ST} sys.node.0E F5 1C.OL = ${sys.node.0E F5 1C.OL} sys.node.0E F5 1C.name = ${sys.node.0E F5 1C.name} sys.node.0E F5 1C.addr = ${sys.node.0E F5 1C.addr} where 0E F5 1C is a SwitchLinc Dimmer and use it in a program as follows: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Send Notification to 'Boser' content 'Status5' Else - No Actions - (To add one, press 'Action') Run (Then) sends me an email: sys.node.0E F5 1C.ST = node[0E F5 1C] sys.node.0E F5 1C.OL = node[0E F5 1C] sys.node.0E F5 1C.name = node[0E F5 1C] sys.node.0E F5 1C.addr = node[0E F5 1C] I'd have expected a report of the status and on level of the module, but apparently no such luck. How can I use custom notifications to get this type of information? Thanks! P.S. sys.node.ZW010_1.BATLVL = ${sys.node.ZW010_1.BATLVL} sends the battery level (e.g. 61%), as expected.
LeeG Posted April 27, 2014 Posted April 27, 2014 Drop the leading 0 sys.node.E F5 1C.ST viewtopic.php?f=68&t=14346&p=112009
boser Posted April 27, 2014 Author Posted April 27, 2014 Drop the leading 0 sys.node.E F5 1C.ST viewtopic.php?f=68&t=14346&p=112009 Unfortunately this does not fix the problem. Notification email without leading 0: sys.node.E F5 1C.ST = node[E F5 1C] sys.node.E F5 1C.OL = node[E F5 1C] sys.node.E F5 1C.name = node[E F5 1C] sys.node.E F5 1C.addr = node[E F5 1C]
LeeG Posted April 27, 2014 Posted April 27, 2014 Also missing the node number sys.node.E F5 1C 1.ST See this link for the correct format viewtopic.php?f=68&t=14346&p=112009
boser Posted April 27, 2014 Author Posted April 27, 2014 Also missing the node number sys.node.E F5 1C 1.ST See this link for the correct format viewtopic.php?f=68&t=14346&p=112009 Like this? sys.node.E F5 1C 1.ST = ${sys.node.E F5 1C 1.ST} sys.node.E F5 1C 1.OL = ${sys.node.E F5 1C 1.OL} sys.node.E F5 1C 1.name = ${sys.node.E F5 1C 1.name} sys.node.E F5 1C 1.addr = ${sys.node.E F5 1C 1.addr} I'd tried this already: then I do not even get an email (nor error message). In the same program I also call another custom notification that just sends a hello. That message is sent, just the one above (which I care about) is silently ignored. P.S. I'd seen viewtopic.php?f=68&t=14346&p=112009 before and tried all combinations (with and without leading zeros, with and without trailing 1) to no avail. I've also verified that 0E.5F.1C (apparently the ISY reports it in a different format than the one it expects it in when included in a message) is indeed the correct address. The name of the device is "Hall.Light.Hall Light" and it's in a folder called "Upstairs Hall" - perhaps the ISY does not like periods in the name or??? Thanks for your suggestions - unfortunately still not working.
LeeG Posted April 27, 2014 Posted April 27, 2014 Which one is correct? 0E.5F.1C or sys.node.E F5 1C 1.ST
boser Posted April 27, 2014 Author Posted April 27, 2014 Which one is correct? 0E.5F.1C or sys.node.E F5 1C 1.ST F5. Sorry for the typo. Not the problem, unfortunately.
LeeG Posted April 27, 2014 Posted April 27, 2014 Can you post the Customizations tab with these messages? Can also open a Ticket and someone from UDI will help code the lines. Using xx yy zz without the node number etc cannot work and those options are simply confusing the actual variable requirement ${sys.node.E F5 1C 1.ST}
boser Posted April 27, 2014 Author Posted April 27, 2014 Can you post the Customizations tab with these messages? Can also open a Ticket and someone from UDI will help code the lines. Using xx yy zz without the node number etc cannot work and those options are simply confusing the actual variable requirement ${sys.node.E F5 1C 1.ST} After trying a few more combinations I found that the "name" or "addr" requests do not work. The following custom notification behaves as expected (is this what you mean with "customization tab"?): Battery Level Upstairs = ${sys.node.ZW010_1.BATLVL} Downstairs = ${sys.node.ZW012_1.BATLVL} Guesthouse = ${sys.node.ZW013_1.BATLVL} Hall Light Status (ST) = ${sys.node.E F5 1C 1.ST} ON Level (OL) = ${sys.node.E F5 1C 1.OL} Staircase Light Status (ST) = ${sys.node.1B 8C E6 1.ST} ON Level (OL) = ${sys.node.1B 8C E6 1.OL} Guesthouse Ceiling Light Status (ST) = ${sys.node.1B 62 4F 1.ST} ON Level (OL) = ${sys.node.1B 62 4F 1.OL} Living Room Light Status (ST) = ${sys.node.1B DC 86 1.ST} ON Level (OL) = ${sys.node.1B DC 86 1.OL} Master Bedroom Light Status (ST) = ${sys.node.ZW008_1.ST} ON Level (OL) = ${sys.node.ZW008_1.OL} Email received: Battery Level Upstairs = 58% Downstairs = 73% Guesthouse = 70% Hall Light Status (ST) = Off ON Level (OL) = 100% Staircase Light Status (ST) = Off ON Level (OL) = 100% Guesthouse Ceiling Light Status (ST) = Off ON Level (OL) = 100% Living Room Light Status (ST) = On ON Level (OL) = 100% Master Bedroom Light Status (ST) = On ON Level (OL) =
Michel Kohanim Posted April 27, 2014 Posted April 27, 2014 Hi LeeG, Thanks so very much for all the help. Hi boser, What do you mean by name/address not working? What do you get? With kind regards, Michel
boser Posted April 27, 2014 Author Posted April 27, 2014 Hi LeeG, Thanks so very much for all the help. Hi boser, What do you mean by name/address not working? What do you get? With kind regards, Michel Hi Michel, The Wiki instructions show expressions of the form ${sys.node.E F5 1C 1.addr}. Since I'm not sure what it's supposed to do (I also do not know what e.g. alert does and many of the other expressions generated by the gui and did not find the documentation), I put one of these expressions into a custom notification to try it out. After many experiments, if I have found that if one of these expressions is in a notification, the notification is silently ignored, i.e. no email is sent and no error message issued (at least I could not find one). If I replace "addr" with "ST", I get the status of the module (on or off). Bernhard P.S. A success story ... I successfully transferred my z-wave network from a Vera to the ISY. Everything works fine, including status updates from Yale locks (contrary to what some are experiencing, judging from messages on the forum). Enrolling was much easier than with the Vera and I now even have access to one lock that was unreachable before. Now I have to finally learn how to "program" the ISY.
MikeD Posted April 27, 2014 Posted April 27, 2014 Hi boser, The expression ${sys.node.ZW010_1.name} will give you the name of the device as displayed in the Admin Console. For instance if your ZW010_1 device is a Schlage lock, it should replace it in the email with ZW 010 Schlage Door Lock ~Mike
boser Posted April 27, 2014 Author Posted April 27, 2014 Hi boser, The expression ${sys.node.ZW010_1.name} will give you the name of the device as displayed in the Admin Console. For instance if your ZW010_1 device is a Schlage lock, it should replace it in the email with ZW 010 Schlage Door Lock ~Mike Hi MikeD, I tried that an now does exactly this, even the addr. Puzzled what I did wrong before. (I am glad nobody can see my red face ). But with this success I have new ambitions. I've set up a few notifications that report lock issues. Right now I am setting up an email sent when the deadbolt of a lock (Yale) is jammed. I have 3 locks. Presumably I can create 3 different custom notifications, one for each lock. Better - the instructions imply the possibility of using "wild cards" - will the following work? ISY program If Control 'Upstairs Hall / Lock Upstairs (ZW 10)' is switched Deadbolt Jammed Or Control 'Downstairs / Lock Downstairs (ZW 12)' is switched Deadbolt Jammed Or Control 'Guest House / Lock Guesthouse (ZW 13)' is switched Deadbolt Jammed Then Send Notification to 'Boser' content 'Lock Jam' Else - No Actions - (To add one, press 'Action') and Notification "Lock Jam" The deadbolt of lock ${sys.node.#.name} is jammed.Its battery level is ${sys.node.#.BATLVL}. The reason I am asking is that the locks are not jammed right now (fortunately) and it's not obvious to test. Thanks, Bernhard
MikeD Posted April 27, 2014 Posted April 27, 2014 I have never used the # wildcard in place of the fixed address. I would try one of the other Control selections such as Key/Manually Locked (if you have that as a selection) to test. Your initial post here perked my interest so I sat down and added a status notification for a few of my new Z-Wave devices, one of which is the Schlage BE469NX lock. I also have just downloaded and configured ISYLogger to track the lock usage. viewforum.php?f=79 So far it looks promising. ~Mike
boser Posted April 28, 2014 Author Posted April 28, 2014 I have never used the # wildcard in place of the fixed address. I would try one of the other Control selections such as Key/Manually ... Hi MikeD, FYI: ${sys.node.#.name} works as expected for z-wave devices (also with ST or BATLVL instead of name). I wonder are there other selectors (in addition to BATLVL) that can be used? E.g. the number of the user who operated the lock with the keypad would be useful.
MikeD Posted April 28, 2014 Posted April 28, 2014 Hi boser, The user who unlocked with keypad would be ${sys.node.#.USRNUM} ~Mike
PurdueGuy Posted July 31, 2014 Posted July 31, 2014 (edited) MikeD, I know this is an older thread, but where did you find that info? So far, i know if ST, node, name, BATLVL, USERNUM. Is there any way to browser the attributes? Thanks, Dave I am sure there are other ways, but I go to http://ISP.IP/rest/nodes/<NODE> to figure them out. For example, my Front Door lock is node ZW006_1, so the address http://192.168.1.53/rest/nodes/ZW006_1 returns <nodeInfo> <node flag="128"> <address>ZW006_1</address> <name>Front Door</name> <family>4</family> <parent type="3">39649</parent> <type>4.64.3.0</type> <enabled>true</enabled> <deviceClass>0</deviceClass> <wattage>0</wattage> <dcPeriod>0</dcPeriod> <pnode>ZW002_1</pnode> <sgid>1</sgid> <devtype> <gen>4.64.3</gen> <mfg>144.1.1</mfg> <cat>111</cat> <model>4</model> </devtype> <ELK_ID>L01</ELK_ID> <property id="ST" value="100" formatted="Locked" uom="11"/> </node> <properties> <property id="ALARM" value=" " formatted=" " uom="15"/> <property id="BATLVL" value="70" formatted="70%" uom="51"/> <property id="ST" value="100" formatted="Locked" uom="11"/> <property id="USRNUM" value=" " formatted=" " uom="70"/> </properties> </nodeInfo> Edited July 31, 2014 by PurdueGuy
MikeD Posted July 31, 2014 Posted July 31, 2014 Hi DaveF, I just looked over the event viewer while operating the lock. Great point PerdueGuy! ~Mike
wrj0 Posted February 15, 2016 Posted February 15, 2016 Greetings, all. I have a network resource on an ISY 994i/IR PRO running v.5.0.2 that correctly sends Zwave lock status updates via Pushover.The network resource includes the variable ${sys.node.ZW006_1.ST}This correctly shows the lock status.However, if I include ${sys.node.ZW006_1.BATLVL} in the network resource and perform a test, it returns:TCP client request failed[Net Module Rule: 207:500]From the Wiki entry, ISY-99i/ISY-26 INSTEON:Errors And Error Messages:500 Internal ErrorWhat am I doing wrong?Thanks
MWareman Posted February 15, 2016 Posted February 15, 2016 Greetings, all. I have a network resource on an ISY 994i/IR PRO running v.5.0.2 that correctly sends Zwave lock status updates via Pushover. The network resource includes the variable ${sys.node.ZW006_1.ST} This correctly shows the lock status. However, if I include ${sys.node.ZW006_1.BATLVL} in the network resource and perform a test, it returns: TCP client request failed [Net Module Rule: 207:500] From the Wiki entry, ISY-99i/ISY-26 INSTEON:Errors And Error Messages: 500 Internal Error What am I doing wrong? Thanks ${sys.node.ZW006_1.BATLVL} is probably being replaced with a number followed by a % sign. This will cause an error because it's not being URL encoded. Instead, try ${sys.node.ZW006_1.BATLVL.raw} to get the raw value.. Michael.
wrj0 Posted February 16, 2016 Posted February 16, 2016 @MWareman, Many thanks. That works like a champ. Curiously, ${sys.node.ZW006_1.BATLVL} works fine in a custom email notification sent to the same Pushover user account. But, with the same Pushover user account, I do indeed need to use ${sys.node.ZW006_1.BATLVL.raw} in the network resource to prevent the Net Module error . Again, thank you for the suggestion.
MWareman Posted February 16, 2016 Posted February 16, 2016 The body of emails can have the full character sert in them - so nothing needs encoding to send special characters (like a % sign). When sending via the URL or body of a POST, there is a restricted characterset - and URL encoding must be used. I actually encountered this when variable substitution first arrived for network resources - and worked with UDI to add the .raw suffix that's valid across all (I believe...) parameters that have a formatted value. Michael.
Recommended Posts