Jump to content

MrBill

Members
  • Posts

    4674
  • Joined

  • Last visited

Everything posted by MrBill

  1. Thanks for checking it out in the google ecosystem, I thought the same approach would likely work.
  2. That's a good thing to know! I wonder why they don't update the wiki?
  3. I wonder if the problem is the 32gb card? According to the wiki 16gb is the max.
  4. It's an interesting topic. Last summer I decided that my SD card was old, however still working fine. I decided to order a new card just to have on hand (I've even debated proactively replacing it, but haven't so far the new one is still in it's package). At that point I looked up the max size (the wiki says 16gb) and then ordered a SanDisk Ultra which was a Category 10 card, the only rating a knew to look for at that time. Turns out the one I ordered doesn't have and A1 or A2 rating, just Category 10. Also in that same "other thread" it was mentioned that likely 1 in 20 of all cards just has a short life, and no-name off brands can be far worse than recognized brands OR be just as a good as the recognized brands, its entirely unpredictable.
  5. In a recent discussion on another social media I was introduced to A1 and A2 performance ratings on memory cards. It's hard to find these ratings on the smaller (thus older) cards, however here's a 16GB SanDisk Ultra card that carries the A1 rating (the wiki says 16gb will work with an ISY-994) In short A2 and is better than A1 but either is better than a memory card that carries neither rating. I won't try to explain the ratings but here's a link at sdcard.org discussing. The specific topic being discussed on the other site was the best memory card to buy for a rPi 4 running Home Assistant. The contributor that suggested cards with A1 or better yet A2 ratings (all of which are also Category 10... a different rating) claimed to an engineer from an unnamed hard drive manufacturer and I have no reason to doubt his words. I've looked for the thread a few times so I could link here and I can't seem to find it.
  6. I've just edited the post above to reflect the use of an "integer" variable in Method 1. A State variable is not needed for that usage and in fact, anytime the properties offered by using a state variable are not needed an Integer variable should be used. (On smaller system it likely makes not difference, but on larger systems avoid overuse of state variables as they contribute to the queue full error we sometimes encounter.) (also notable: the literal definition of Integer doesn't apply. In V5 firmware Integer variables can have precision or decimal places.)
  7. It can be done two ways: Method 1) use program to assign the value to a variable. (remember to change the precision to match the number of decimal places). for the IF portion of the program use something that will always be true for example: (note: I don't use the Ambient node server this example is from a different node server) AA TEST - [ID 0103][Parent 0001] If 'Node Servers / MeteoBridge Weather / Temperatures' Temperature > -50.0°F Then $iTemp_test = 'Node Servers / MeteoBridge Weather / Temperatures' Temperature °F Else - No Actions - (To add one, press 'Action') In the above example ANYTIME the temp changes the IF will be evaluated. We assume that the outdoor temp is always above -50F so therefor this program will run and be true ANYTIME the temp changes, therefor THEN will update the value of the variable. (if we wanted to we could also duplicate the THEN statement as the ELSE statement, so if for some reason the IF was false, the temp would still update). then use that variable in the email... in this case ${var.1.63} (but you can't see my variable list so 63 is the ID number in the far left column of the state variable list. Method 2) use the value of the node as a text replacement. Start in the admin console: Make a note of the Node Name, this one is straight forward, but it might be a seemingly random value rather than a name--the first part of the name N007 is the slot number of this node server in your ISY. Also note the current value of the value we want. Now go to the Polisy Nodes listing: (NOTE: the temp dropped to 42.8 between the screenshot above and this one: This is also a bad example, because the Windchill is currently the same value i.e. = 42.8. I'm going to make an educated guess that in this case that we want the driver name ST and not GV1. (In this case since I used temp in the method 1 example I'm looking for temp here too, the GV's tend to be optional or additional values so it's most likely GV1 is windchill and ST is current temp.) Now from the variable replacements page of the Wiki: so we will use ${sys.node.n007_temperature.ST} to put the temp in an email.
  8. Agreed. But if we can't test which bit is set or which bit is not set it's not any more useful to do it bitwise ...in the other posters example in this thread count 1 - 6 is no better than bitwise... if a program didn't run, or ran multiple times in either case that's not detectable efficiently using the tools we have. it could be ineffeciently done using more variables and more programs but at that point its not worth using the variable in a bitwise manner to begin with.
  9. yea... in ISY math functions we do actually have operators bitwise OR |= and bitwise AND &= meaning we can set or clear variables bitwise. Unfortunately IF statement conditions don't include XOR or any other bitwise operators so there's no easy way to use it. I wish there was actually.
  10. This program has more triggers. specifically 3 state variables and a nodeserver data point, anytime ANY of those change the IF will be re-evaluted, during the time Range it is true. This is different that the example present above which was two programs with time ranges only, the first was 'sunset' in both and the question was which sunset will run first... the answer to that question is that its not predictable.
  11. then have one program add +1, the next add +2, the next add +4, the next add +8, the next add + 16, the last adds +32 when the total is 63 they all ran once.... oh... but that doesn't solve the problem if one of them can run 5 times ??
  12. the important thing to keep in mind.... rebooting only happens months apart in most cases... it definitely not an everyday or even every week thing.. Generally the only time I reboot is firmware update.
  13. You're correct on both counts... you need at least 1 second delay to send an email that includes a variable value that change. Also programs that "run at the same time" it's impossible to predict what order they will run in, it doesn't matter if its "run at start up", "run at sunset", or "Run at 11:00am" multiple programs with the same trigger run "all at once" and you can't guess which one will execute which first.... if order matters you have to control the order manually. Personally for "run at startup" I only have ONE program that runs at startup. When it's finished (which takes 10 minutes, mostly waiting, to finish) it runs the Then branch of another program that starts some heartbeat and does some other things and includes actually includes a couple short waits between some of the things it starts up. Why 10 minutes for my run at startup program? I have a really large insteon installation one of the things happening at startup is a 'query all' insteon... that needs to finish first, which actually happens mostly in about 4 minutes... the other part of the 10 minute value insures that in a WORST CASE SCENARIO (i.e. I'm on vacation in another part of the world and a major power outage caused even the UPS to run dry) the rest of the network (cable mode/LTE modem and router) will come up before the ISY starts trying to send me notifications. 10 minutes might be a little longer than it needs to be but I restart the ISY so rarely it doesn't matter to me.
  14. cool... I don't have the UD mobile app yet because I'm on the "other side" and missed the post about the iOS beta group until after it was already full. Programs don't run From... To... In your example, from sunset to 11: will run the THEN body at Sunset and the Else body at 11, and its considered TRUE from Sunset to 11 and FALSE otherwise. "repeats" and "waits" may keep programs running longer, but the only times that they "start" in your example is Sunset for THEN and 11 for ELSE. As for two programs that both "Start" at Sunset, you can't predict which will run first, if order matter to you add a "wait" or run one at Sunset +a few seconds.
  15. Do you know of a place to upload a clip? I don't know of anyway to upload and play such a clip on echo. I'd love to be able to, I have a 7 attention chime I'd love to use.
  16. We will have to kindly agree to disagree, which is perfectly fine, but I believe email has more points of failure: ISY > SMTP server > heuristic (spam) message filtering > IMAP/POP server > End-point Client and unless specifically configured like I did it Points 2, 3, and 4 are likely different providers ISY > Pushover API server > Apple Push Notification Server > End-point Client (admittedly I'm lacking on the android message path, I assume it's just google server instead of apple server) and for text messages: ISY > SMTP server > heuristic (spam) message filtering > SMS or MMS mail gateway > endpoint server > client. AT&T customer can attest to the fact the SMS or MMS mail gateway is a pain point. The only reasonable fail-safe method is to use multiple platforms and receive redundant messages.
  17. @DennisC It's interesting that you view email has less working parts to fail, I think it has more, the smtp server as well as the fact that at any given moment your email may suddenly be delayed or filter to junk. I've never used UDI's default mail server (I did try at first but was having delivery issues), further anyone that was using UDI's default server in the second half of 2020 experienced several long outages. That said you are correct, any method has it's potential for breakage. I actually didn't fess up above when I typed my front door notification program, I do send critical messages to my phone in multiple ways. In addition to the Network Resource it send an email that is addressed TO: the email address that sent, and the 10digitnum@mms.att.net essentially critical messages arrive on my phone 3 times, once from Pushover, once as a text message and once in a separate email client (my regular email client is silent, the second email client is just for ISY notifications). I also have a dual WAN router with an LTE modem for failover if cable dies. Really the only place without redundancy is the ISY itself, to be honest I don't think I need it either. The ISY itself has only actually stopped working and required manual intervention once in many years, and all that was needed that time was a simple reboot. But yes it's definitely important to think thru all the possible points of failure. @IT Solutions I created an email address just for the ISY to use at my isp, a gigantic cable company in philadelphia. I use that email address for NOTHING else, period. They also have an app that you can use with that account. Essentially I use the same account as BOTH the outbound smtp account and the inbound notification account. I send a few things 'email only' both FROM and TO the same email address. Others I send FROM the account and TO: that account comma 10digit@mms.att.net. and in a few cases like doors in away mode I also send via pushover..... usually I get all 3 but there are cases where one or the other or the other is missed or delayed.
  18. @IT Solutions I don't have ELK but I do use Insteon open/close or Hidden door sensors on about 19 doors (it's less security than an actual supervised alarm contact but being in a small rural town where everyone knows everyone I'm ok with that). I've added doors over time so I can't say I set it all up in 90 minutes, but If I had to redo it from scratch that's probably all it would take..... First create a network resource for every zone. Leverage the COPY button, Edit the Name of the NR, then edit the body, then Save and COPY, rinse and repeat. You can probably make 40 network resources in 40 minutes. Second create your program that sends the notification, mines pretty simple: If $Away = $cTrue and 'Front door' is switched On then Resource 'open.FrontDoor' Again, for the next zone leverage the COPY function, edit the name then the body of the program. Yep setting up 40 zones will take a few minutes. but once it's complete you won't touch the programs again.... for years!
  19. well also above, I was helping him with Pushover
  20. It should be noted that the # substitution character only works when generating an EMAIL notification, it will not work with network resources. From the Wiki: which is why I didn't point the # yesterday.
  21. Actually he wins the prize for the longest ever forum signature.... his entire setup is listed in double spaced detail! ?? But you absolutely correct there's no way to help him from the information present. Did your old ISY have one? What I'm asking is do you know how it works and the new one doesn't? or are you trying to figure out how to leverage it? what did you try? Have you tried the tutorials here: https://wiki.universal-devices.com/index.php?title=ISY-99i_Series_INSTEON:Quick_IR_Tutorial
  22. High and low temps for the day aren't hard at all, unless you want to know the exact time it occurred. If $sCurrentTemp is a state variable any program using that variable as the IF will run ANYTIME the value changes. If $sCurrentTemp > $iHighTempToday then $iHighTempToday = $sCurrentTemp else (nothing) IF $sCurrentTemp < $iLowTempToday then $iLowTempToday = $sCurrentTemp else (nothing) EDIT TO ADD: of course you need to have something set up to run at some time like 11:59 PM that does something with the values $iHighTempToday and $iHighTempToday (Save them or report them) and then reset the values to the opposing i.e. $iHighTempToday = -999 and $iHighTempToday = 999 which will be immediately replaced the next time the state variable updates as we begin working on the new days High and Low.
  23. use a longer message with a zone list. this is formatted as an email but you can do the same thing with Pushover I wouldn't use HTML with pushover tho, or you'll likely hit the 1024 character message limit. (although Pushover does allow HTML) <html> As of: ${sys.date} ${sys.time12}<br> <br> <!-- Living Room Fireplace --> ${var.2.53} <b>${sys.node.n004_1d3698bae66c5e.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_1d3698bae66c5e.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_1d3698bae66c5e.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_1d3698bae66c5e.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_1d3698bae66c5e.BATLVL} - ${sys.node.n004_1d3698bae66c5e.CV}<br> <br> <!-- Downstairs Fireplace --> ${var.2.54} <b>${sys.node.n004_b40c6d12d303cc.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_b40c6d12d303cc.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_b40c6d12d303cc.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_b40c6d12d303cc.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_b40c6d12d303cc.BATLVL} - ${sys.node.n004_b40c6d12d303cc.CV}<br> <br> <!-- Kitchen Refridgerator --> ${var.2.57} <b>${sys.node.n004_f48175781a6ea7.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_f48175781a6ea7.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_f48175781a6ea7.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_f48175781a6ea7.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_f48175781a6ea7.BATLVL} - ${sys.node.n004_f48175781a6ea7.CV}<br> <br> <!-- Kitchen Freezer --> ${var.2.59} <b>${sys.node.n004_e0515ec730ae9d.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_e0515ec730ae9d.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_e0515ec730ae9d.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_e0515ec730ae9d.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_e0515ec730ae9d.BATLVL} - ${sys.node.n004_e0515ec730ae9d.CV}<br> <br> <!-- Costco Rm Freezer --> ${var.2.60} <b>${sys.node.n004_81714ecf368989.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_81714ecf368989.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_81714ecf368989.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_81714ecf368989.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_81714ecf368989.BATLVL} - ${sys.node.n004_81714ecf368989.CV}<br> <br> <!-- White Refridgerator --> ${var.2.61} <b>${sys.node.n004_42055297a6b0dc.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_42055297a6b0dc.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_42055297a6b0dc.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_42055297a6b0dc.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_42055297a6b0dc.BATLVL} - ${sys.node.n004_42055297a6b0dc.CV}<br> <br> <!-- White Freezer --> ${var.2.62} <b>${sys.node.n004_644415ee9822c9.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_644415ee9822c9.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_644415ee9822c9.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_644415ee9822c9.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_644415ee9822c9.BATLVL} - ${sys.node.n004_644415ee9822c9.CV}<br> <br> <!-- Silver Downstairs Fridge --> ${var.2.63} <b>${sys.node.n004_b6046d199db530.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_b6046d199db530.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_b6046d199db530.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_b6046d199db530.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_b6046d199db530.BATLVL} - ${sys.node.n004_b6046d199db530.CV}<br> <br> <!-- Silver Downstairs Freezer --> ${var.2.64} <b>${sys.node.n004_ea50356d444712.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_ea50356d444712.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_ea50356d444712.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_ea50356d444712.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_ea50356d444712.BATLVL} - ${sys.node.n004_ea50356d444712.CV}<br> <br> <!-- Plant Room --> ${var.2.56} <b>${sys.node.n004_af270204a321f3.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_af270204a321f3.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_af270204a321f3.CLIHUM}<br> &nbsp; &nbsp;ST: <i>${sys.node.n004_af270204a321f3.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_af270204a321f3.BATLVL} - ${sys.node.n004_af270204a321f3.CV}<br> <br> </html>
  24. check here: https://wiki.universal-devices.com/index.php?title=ISY-994i_Series:EMail_and_Networking_Substitution_Variables#Elk_Variables I don't have ELK so I can't help with specifics past that, but you include the substitution formatted like the time ${sys.time12} in other words what's in the EXAMPLE column surrounded by ${ } Scroll up on the link for other substantiations you can use.
  25. @IT Solutions Here is another you might want to try: token=<redacted>&user=<redacted>&priority=1&sound=persistent&message=**** SMOKE ALARM **** \n ${sys.time12}\n &priority=1 on iOS will issue an iOS critical alert which bypasses iOS Do Not Disturb. (I assume it work similar on Android but don't know the particulars.) and &sound let's you change from the default sound, the choices are here.
×
×
  • Create New...