Skip to content
View in the app

A better way to browse. Learn more.

Universal Devices Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Xathros

Members
  • Joined

  • Last visited

Everything posted by Xathros

  1. No problem. As always, happy to help. -Xathros
  2. Forum user ravedog asked that I post the "behind the scenes" portion of what drives my HTML formatted daily report. Here goes... First here is a PDF of a report, unfortunately, I picked a boring day and there are more 0's than usual and my CAI webcontrol board seems to have died last week resulting in no laundry monitoring and broken temperature values but it still gives you an idea: XathHome Daily Report - 2014-08-27.pdf Here is the same thing in a loooooong jpg file: Note: the narrow width was chosen as I usually read these on my phone and this fits nicely. Here is the HTML code that I use in the custom notification: <html> <body> <table width=442 bgcolor=AAAAAAS border=0> <tr><td align=center> <img src="http://<internet-facing-webserver>/images/XathHome_sm.jpg"> <h3>XathHome Daily Report for ${alert.date}</h3> Mid Session Report <align=left> <hr width=440> <table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Garage Door Stats</b></td></tr> <tr><td> <table width=440 border="1" bgcolor=AAAAAF> <tr align=center><td><b>Door</b></td><td><b>Opened</b></td><td><b>Closed</b></td></tr> <tr><td><b>Dad's Door</td><td align=center>${var.1.1}</td><td align=center>${var.1.2}</td></tr> <tr><td><b>Mom's Door</td><td align=center>${var.1.8}</td><td align=center>${var.1.9}</td></tr></table> </td></tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Lighting Stats</b></td></tr> <tr><td> <table width=440 border="1" bgcolor=AAAAAF> <tr align=center><td><b>Device</b></td><td><b>On Count</b></td><td><b>Auto Off Count</b></td></tr> <tr><td><b>Kitchen Counter</b></td><td align=center>${var.1.60}</td><td align=center>${var.1.61}</td></tr> <tr><td><b>Kitchen Island</b></td><td align=center>${var.1.58}</td><td align=center>${var.1.59}</td></tr> <tr><td><b>Dining Room</b></td><td align=center>${var.1.62}</td><td align=center>${var.1.63}</td></tr> <tr><td><b>Living Room</b></td><td align=center>${var.1.64}</td><td align=center>${var.1.65}</td></tr> <tr><td><b>Main Bath</b></td><td align=center>${var.1.21}</td><td align=center>${var.1.22}</td></tr> <tr><td><b>Basement Stairs</b></td><td align=center>${var.1.10}</td><td align=center>${var.1.3}</td></tr> <tr><td><b>Utility Room</b></td><td align=center>${var.1.12}</td><td align=center>${var.1.4}</td></tr> <tr><td><b>Alyssa's Room</b></td><td align=center>${var.1.11}</td><td align=center>${var.1.5}</td></tr> <tr><td><b>Back Porch</b></td><td align=center>${var.1.14}</td><td align=center>${var.1.7}</td></tr> <tr><td><b>Garage Lights</b></td><td align=center>${var.1.13}</td><td align=center>${var.1.6}</td></tr> <tr><td><b>Shop Lights</b></td><td align=center>${var.1.15}</td><td align=center>${var.1.16}</td></tr> <tr><td><b>Barn Lights</b></td><td align=center>${var.1.26}</td><td align=center>${var.1.27}</td></tr> <tr><td><b>Barn Floods</b></td><td align=center>${var.1.24}</td><td align=center>${var.1.25}</td></tr> </table></td></tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td><table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Current Toggle Status</b></td></tr> <tr><td><table width=440 border="1" bgcolor=AAAAAF> <tr align=center><td><b>Item</b></td><td><b>Value</b></td></tr> <tr><td><b>Garage Door Notify</b></td><td align=center>${var.2.1}</td></tr> <tr><td><b>AutoTimers</b></td><td align=center>${var.2.3}</td></tr> <tr><td><b>Rhino Charger</b></td><td align=center>${var.2.12}</td></tr> <tr><td><b>Internet Up Test</b></td><td align=center>${var.2.7}</td></tr> <tr><td><b>Network Filter</b></td><td align=center>${var.1.36}</td></tr> </table></tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Motion Stats</b></td></tr> <tr><td><table width=440 border="1" bgcolor=AAAAAF> <tr align=center><td><b>Item</b></td><td><b>Value</b></td></tr> <tr><td><b>Shop Motion Count</b></td><td align=center>${var.1.19}</td></tr> <tr><td><b>Basement Motion Count</b></td><td align=center>${var.1.31}</td></tr> <tr><td><b>Garage Motion Count</b></td><td align=center>${var.1.30}</td></tr> <tr><td><b>LivingRm Motion Count</b></td><td align=center>${var.1.32}</td></tr> </table></tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Security Stats</b></td></tr> <tr><td><table width=440 border="1" bgcolor=AAAAAF> <tr align=center><td><b>Item</b></td><td><b>Value</b></td></tr> <tr><td><b>Shop Breached</b></td><td align=center><font color="red">${var.1.48}</font></td></tr> <tr><td><b>House Breached</b></td><td align=center><font color="red">${var.1.49}</font></td></tr> <tr><td><b>Home/Away</b></td><td align=center>${var.1.23}</td></tr> <tr><td><b>Shop Security</b></td><td align=center>${var.1.20}</td></tr> </table></tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Rhino Charger</b></td></tr> <tr><td><table width=440 border=1 bgcolor=AAAAAF> <tr><td><b>Cycled</b></td><td align=center>${var.1.40}</td></tr></table></td></tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Network Stats</b></td></tr> <tr><td><table width=440 border=1 bgcolor=AAAAAF> <tr><td><b>Network Uplink Failed</b></td><td align=center>${var.1.66}</td></tr></table></td></tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Environmental Sensors</b></td></tr> <tr><td><table width=440 border="1" bgcolor=AAAAAF> <tr align=center><td><b>Location</b></td><td><b>Temp</b></td><td><b>Low</b></td><td><b>High</b></td></tr> <tr><td><b>Basement</td><td align=center>${var.1.38}</td><td align=center><font color="blue">${var.1.42}</font></td><td align=center><font color="red">${var.1.43}</font></td></tr> <tr><td><b>Outside</td><td align=center>${var.1.39}</td><td align=center><font color="blue">${var.1.44}</font></td><td align=center><font color="red">${var.1.45}</font></td></tr> <tr><td><b>Hot Water</td><td align=center>${var.1.41}</td><td align=center><font color="blue">${var.1.46}</font></td><td align=center><font color="red">${var.1.47}</font></td></tr></table> </tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=440 Border=1 bgcolor=AAAA80> <tr align=center><td><b>Occupancy Stats</b></td></tr> <tr><td><table width=440 border="1" bgcolor=AAAAAF> <tr align=center><td><b>Statistic</b></td><td><b>Time</b></td></tr> <tr><td><b>Occupied</td><td align=center>${var.1.52}:${var.1.53}</td></tr> <tr><td><b>Vacant</td><td align=center>${var.1.54}:${var.1.55}</td></tr> <tr><td><b>Occ/Vac Cycles</td><td align=center>${var.1.57}</td></tr></table> </tr></table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=440 border=1 bgcolor=AAAA80> <tr align=center><td><b>Sunrise</b></td><td><b>Sunset</b></td></tr> <tr align=center><td><font color="blue">${sys.sunrise12}</font></td><td><font color="red">${sys.sunset24}</font></td></tr> </table> </td></tr> <tr><td><hr width=440 align=left></td></tr> <tr><td> <table width=400 border=0><tr><td align=center>~ ~ ~ END OF REPORT ~ ~ ~</td></tr> <tr align=center><td><font color="green"><i>Report Generated: ${sys.time12} ${sys.date}</i></font></td></tr> <tr align=center><td><a href="http://<my-web-server-ip-address>/isylogs">View Log Files</a></td></tr></table> </align> </td></tr></table> </body></html> As you can see, it's just a bunch of nested tables with hard coded text and ISY substitution variables. The notification is set to HTML mode obviously. For the tracing of the data, I have a number of programs that just count things like controls being turned On manually or turned off automatically, garage doors opening and closing etc. For this I use integer variables and a number of programs like: If Status 'Basement / Alyssa's Room / Alyssa's Room' is On Then $i.cnt.AlyssaLightsOn += 1 $i.cnt.AlyssaLightsOn Init To $i.cnt.AlyssaLightsOn Resource 'Syslog-LIGTNG - Alyssa's Room On' Else - No Actions - (To add one, press 'Action') and: If Status 'Basement / Alyssa's Room / Alyssa's Room' is On Then Wait 10 minutes Set Scene 'Basement / Alyssa's Room / Alyssa's Room' Off $i.cnt.AlyssaLighsOff += 1 $i.cnt.AlyssaLighsOff Init To $i.cnt.AlyssaLighsOff Resource 'Syslog-LIGTNG - Alyssa's Room AutoOff' Else - No Actions - (To add one, press 'Action') For things with times like pellet stove runtime or occupancy I count minutes while a condition is true like: If $s.PelletStoveRunning is 1 Then Wait 1 minute Repeat Every 1 minute $i.time.PelletRun += 1 $i.time.PelletRun Init To $i.time.PelletRun Else - No Actions - (To add one, press 'Action') or: If $s.sec.Occupancy is 0 Then Wait 1 minute Repeat Every 1 minute $i.time.Vacant += 1 $i.time.Vacant Init To $i.time.Vacant Else Wait 1 minute Repeat Every 1 minute $i.time.Occupied += 1 $i.time.Occupied Init To $i.time.Occupied Then when its time to report, I generate hrs/mins out of the above counters as follows: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then $i.time.OccupiedHrs = $i.time.Occupied $i.time.OccupiedHrs /= 60 $i.calc.temporary = $i.time.OccupiedHrs $i.calc.temporary *= 60 $i.time.OccupiedMins = $i.time.Occupied $i.time.OccupiedMins -= $i.calc.temporary $i.time.VacantHrs = $i.time.Vacant $i.time.VacantHrs /= 60 $i.calc.temporary = $i.time.VacantHrs $i.calc.temporary *= 60 $i.time.VacantMins = $i.time.Vacant $i.time.VacantMins -= $i.calc.temporary Else - No Actions - (To add one, press 'Action') Then call the report after a delay to ensure the calculations have been completed before reporting, then delay to alow time for the notification to send, then reset the daily counters: If Time is 11:58:30PM Then Run Program 'Calc_Occ/Vac_Hrs.Mins' (Then Path) Wait 2 seconds Run Program 'Calc_PelletStoveRun_Hrs.Mins' (Then Path) Wait 2 seconds Send Notification to 'Xathros Email' content 'DailyReport' Wait 1 minute and 27 seconds $i.cnt.AlyssaLighsOff = 0 $i.cnt.AlyssaLighsOff Init To 0 $i.cnt.AlyssaLightsOn = 0 $i.cnt.AlyssaLightsOn Init To 0 $i.cnt.BackPorchLighsOff = 0 $i.cnt.BackPorchLighsOff Init To 0 $i.cnt.BasementLightsOff = 0 $i.cnt.BasementLightsOff Init To 0 $i.cnt.GarageLighsOff = 0 $i.cnt.GarageLighsOff Init To 0 $i.cnt.UtilityLightsOff = 0 $i.cnt.UtilityLightsOff Init To 0 $i.cnt.ShopLightsOff = 0 $i.cnt.ShopLightsOff Init To 0 $i.Dad_GDC = 0 $i.Dad_GDC Init To 0 $i.Dad_GDO = 0 $i.Dad_GDO Init To 0 $i.Mom_GDC = 0 $i.Mom_GDC Init To 0 $i.Mom_GDO = 0 $i.Mom_GDO Init To 0 $i.cnt.BackPorchLightsOn = 0 $i.cnt.BackPorchLightsOn Init To 0 $i.cnt.BasementLightsOn = 0 $i.cnt.BasementLightsOn Init To 0 $i.cnt.GarageLightsOn = 0 $i.cnt.GarageLightsOn Init To 0 $i.cnt.UtilityLightsOn = 0 $i.cnt.UtilityLightsOn Init To 0 $i.cnt.ShopLightsOn = 0 $i.cnt.ShopLightsOn Init To 0 $i.cnt.MainBathAutoOff = 0 $i.cnt.MainBathAutoOff Init To 0 $i.cnt.MainBathOn = 0 $i.cnt.MainBathOn Init To 0 $i.cnt.BarnFloodsAutoOff = 0 $i.cnt.BarnFloodsAutoOff Init To 0 $i.cnt.BarnFloodsOn = 0 $i.cnt.BarnFloodsOn Init To 0 $i.cnt.BarnLightsAutoOff = 0 $i.cnt.BarnLightsAutoOff Init To 0 $i.cnt.BarnLightsOn = 0 $i.cnt.BarnLightsOn Init To 0 $i.cnt.BasementMotion = 0 $i.cnt.BasementMotion Init To 0 $i.cnt.GarageMotion = 0 $i.cnt.GarageMotion Init To 0 $i.cnt.LRMotion = 0 $i.cnt.LRMotion Init To 0 $i.cnt.ShopMotion = 0 $i.cnt.ShopMotion Init To 0 $i.cnt.RhinoChargerCycle = 0 $i.cnt.RhinoChargerCycle Init To 0 $i.cnt.OccupancyCnt = 0 $i.cnt.OccupancyCnt Init To 0 $i.time.Occupied = 0 $i.time.Occupied Init To 0 $i.time.Vacant = 0 $i.time.Vacant Init To 0 $i.time.PelletRun = 0 $i.time.PelletRun Init To 0 $i.cnt.DiningRmOff = 0 $i.cnt.DiningRmOff = 0 $i.cnt.DiningRmOn = 0 $i.cnt.DiningRmOn Init To 0 $i.cnt.KitCntrOff = 0 $i.cnt.KitCntrOff Init To 0 $i.cnt.KitCntrOn = 0 $i.cnt.KitCntrOn Init To 0 $i.cnt.KitIslandOff = 0 $i.cnt.KitIslandOff Init To 0 $i.cnt.KitIslandOn = 0 $i.cnt.KitIslandOn Init To 0 $i.cnt.LivngRmOff = 0 $i.cnt.LivngRmOff Init To 0 $i.cnt.LivngRmOn = 0 $i.cnt.LivngRmOn Init To 0 $i.sec.ShopBreachedCount = 0 $i.sec.ShopBreachedCount Init To 0 $i.sec.HouseBreachedCount = 0 $i.sec.HouseBreachedCount Init To 0 $i.cnt.NetworkFailed Init To 0 $i.cnt.NetworkFailed = 0 $i.cnt.UpstairsBathAutoOff = 0 $i.cnt.UpstairsBathAutoOff Init To 0 $i.cnt.UpstairsBathOn = 0 $i.cnt.UpstairsBathOn Init To 0 $i.cnt.GirlsRoomOn = 0 $i.cnt.GirlsRoomOn Init To 0 $i.cnt.BoysRoomOn = 0 $i.cnt.BoysRoomOn Init To 0 $i.cnt.PelletStoveCycled = 0 $i.cnt.PelletStoveCycled Init To 0 $i.cnt.FurnaceCycled = 0 $i.cnt.FurnaceCycled Init To 0 $i.cnt.BreezewayAutoOff = 0 $i.cnt.BreezewayAutoOff Init To 0 $i.cnt.BreezewayOn = 0 $i.cnt.BreezewayOn Init To 0 $i.cnt.FrontEntryOff = 0 $i.cnt.FrontEntryOff Init To 0 $i.cnt.FrontEntryOn = 0 $i.cnt.FrontEntryOn Init To 0 $i.cnt.FrontHallAutoOff = 0 $i.cnt.FrontHallAutoOff Init To 0 $i.cnt.FrontHallOn = 0 $i.cnt.FrontHallOn Init To 0 $i.cnt.FrontPorchAutoOff = 0 $i.cnt.FrontPorchAutoOff Init To 0 $i.cnt.FrontPorchOn = 0 $i.cnt.FrontPorchOn Init To 0 $i.cnt.MasterBedMotion Init To 0 $i.cnt.MasterBedMotion = 0 $i.cnt.KaysRoomMotion = 0 $i.cnt.KaysRoomMotion Init To 0 $i.cnt.GirlsRoomMotion = 0 $i.cnt.GirlsRoomMotion Init To 0 $i.cnt.BoysRoomMotion = 0 $i.cnt.BoysRoomMotion Init To 0 $i.cnt.DryerCount = 0 $i.cnt.DryerCount Init To 0 $i.cnt.WashCount = 0 $i.cnt.WashCount Init To 0 Run Program 'ResetHiLowTemps' (Then Path) Else - No Actions - (To add one, press 'Action') Other things to consider: Images need to be hosted somewhere as the ISY has no ability to deal with them. In my case, I placed the image of my house on the webserver where my blog lives as that is accessable from most anywhere. My log files linked at the bottom of the report live on the web server on one of my Raspberry Pi's and is only accessable when on my lan. This was by choice. Currently formatting things is difficult but I expect that with the V5.x firmwares we may gain more capabilities and this all may become much easier. Thats it in a rather large nutshell. Hope somebody finds all of this of some value. -Xathros
  3. Yes. The reason is that the UPS will act as a signal sink on the powerline side if not isolated. -Xathros
  4. I did find that some commands required the auth in both locations while others only required the auth header. I think it was the position commands that didn't need the extra login details. -Xathros
  5. Anytime. Happy to help. -Xathros
  6. First of all, the camera is only a responder to the ISY's network resources. Another forum user was trying to get the camera to trigger events in the ISY and was unable due to limitations in the camera's firmware. I haven't heard that that has changed. What I am doing with my network resources is manipulating the camera based on other ISY detectable events like motion sensor triggers and various insteon control events happening. For instance, When my house goes into vacant mode, I enable the FTP upload on motion feature of the cameras. if my house is in vacant mode and an outside door opens, all of my PTZ cameras turn toward that area of the house. If something moves in front of the a camera, the cam's built in motion detection triggers and it uploads images. When the house comes out of vacant mode, I send another resource to disable the record on motion feature. On several occasions, I have lost communication with some of the cams after they have been operating for an extended period of time. As a result, I have the ISY reboot each cam once a day. Haven't had any trouble since. Attached are generic network resources for my Foscam. You can import these and edit in your camera's IP, port, user/pass and ftp server and directory info. -Xathros FoscamFW8910W_NetRules.zip
  7. Sure. What would you like to know? -Xathros
  8. You can use network resources to control the Foscam cams. I have a number of resources that point the cam in specific directions and another that enables ftp upload on motion detect, another to disable uploading and another to reboot the cam once daily. -Xathros
  9. In addition, you can search your programs for any that reference the affected light by right clicking the top of the program tree, select find and choose the affected light. Review and programs that are found for possible conflicts with your MS program. -Xathros
  10. I bet your night program that you didn't post is also triggering on the MS on command and running false because of the time restraint. Post the other program. -Xathros
  11. Just modify the original -Xathros Sent from my iPhone using Tapatalk
  12. @Canz So sorry for the delay in getting back to you. I was away on Vacation and have spent the last 3 days catching up here. On first glance, my suspicion is that your problem occurs on Wednesdays. This could be due to the fact that Weds is missing from the Spring_Weekday_1630-Sunset program. I also notice Weds missing from Spring_Weekday_0530-630. If this is by design, I will dig deeper but on first glance this appears to be the issue. -Xathros
  13. That program is an every 5 minute nag. what you want instead is: if $s.GEM_FridgeNotifySuspend = 1 and $s.Fridge_Wattage_Variable < running Wattage value <---- Obviously not the correct syntax here. Then $i.GEM_Fridge_Cycle_Extra = $s.GEM_FridgeRuntimeCycleMins $i.GEM_Fridge_Cycle_Extra -= 34 Send Notification to 'GMX' content 'GEM - Fridge Cycle Exceeded' You will also need to add a delay in the original monitor program to hold off resetting the runtime variable long enough for this notify to be sent: If <Fridge_Running_Condition> Then Wait 1 minute Repeat Every 1 minute $s.FridgeRuntimeCycleMins += 1 $s.FridgeRuntimeCycleMins Init To $s.FridgeRuntimeCycleMins $s.FridgeRuntimeDailyMins += 1 $s.FridgeRuntimeDailyMins Init To $s.FridgeRuntimeDailyMins Else Wait 15 Seconds <----- Add delay here! $s.FridgeRuntimeCycleMins = 0 $s.FridgeRuntimeCycleMins Init To $s.FridgeRuntimeCycleMins -Xathros
  14. While the Digital Loggers DIN relay will certainly allow you to open more than one valve simultaneously, it has no runtime protection to automatically close valves if left open. This is something you will need to consider if you use the DIN relay in place of an EZFlora type device. -Xathros
  15. Teken- The reset/throttle program would look like this: If $s.GEM_FridgeNotifySuspend is 1 Then Wait 5 Minutes $s.GEM_FridgeNotifySuspend = 0 Else So, after 5 minutes of suspended notifications, the timer runs out and sends another notification as long as the fridge is still running. -Xathros
  16. There would need to be a second program to reset the variable $s.GEM_FridgeNotifySuspend back to 0 after a predetermined delay. After that has been reset, if the fridge is still running, another notification will be sent this time showing the time beyond 34 minutes. -Xathros
  17. The first notification is sent at 34 minutes because runtime is equal to 34. Since 34-34=0, I would expect a notification using $i.GEM_Fridge_Cycle_Extra to read 0 on the first notification. Does this Re-Notify after a period of time if the cycle has not ended? If so, the next notification should show the amount beyond 34 minutes that the cycle has been running. -Xathros
  18. Xathros replied to fitek's topic in ISY994
    Start with: ISY994 with ZWave and the external antenna Add Digital Loggers web power switch: http://www.digital-loggers.com/lpc.html Depending on placement of the ISY and considering that you have no other ZWave devices, at least two ZWave range extenders to extend the mesh. If you are planning on Insteon devices as well, then a pair of Insteon range extenders that will also provide phase bridging. Set up the web switch to ping the router/gateway, ISY and other critical gear and power cycle on failure. I'm sure others here will have additional useful ideas to add. Hope this helps. -Xathros
  19. Xathros replied to Teken's topic in ISY994
    As we have seen elsewhere, the notification process takes time. I think you saw this with the daily report where we were resetting the daily values after the notification line in the code yet the email contained post reset values. Inserting a delay after the notify and before the reset fixed this issue. I came across this with my daily report as well. I suspect a similar timing issue in this case where having the wait come first in conjunction with the 10 second update frequency from the GEM is not leaving enough time for the notify to send before the if is re-evaluated. A very simple fix would be to move the notify to a separate program and put a RunThen in place of the notify in the current program. Then, placement should not matter. However, I believe it was your goal to simplify and reduce the number of programs, if that is the case, then just leave the notify as is in the current program placed ahead of the wait. -Xathros
  20. Xathros replied to Teken's topic in ISY994
    Its not that the wattage value drops but rather it changes and does so frequently, The change in wattage value re-triggers the program and because the value of $i.Refridgerator_Defrost_Status is now 1 after the first True evaluation, the If evaluates false and the else fires. This is an odd situation because there is a value that is not clearly on/off used with Status. While the outcome of testing Wattage > 460 may remain true with subsequent triggers, its the additional triggers that are tripping you up here. The notification takes time to process and it appears to me that if the outcome of the If changes before notification processing is completed, the notification process is terminated. Maybe Michel can comment on this point in particular. -Xathros
  21. Xathros replied to Teken's topic in ISY994
    I have exactly one program that is set to "Run at Startup" I call other programs from that. Some of those call others. Building in some delays here and there, allows me to time phase startup runs so that they don't all just run at once as well as add some logic to decide what needs to run and what doesn't. -Xathros
  22. Try Restore PLM then check you link counts again. -Xathros
  23. I wonder if the ISY is running out of network buffers. This might explain an apparent UI hang since the UI is a network client. Michel, is there data that can be captured via the console port to determine if there is an issue with the network stack? -Xathros
  24. Michel- This is my feeling as well based on my limited experience with Teken's system. I had no issues with the UI when I was logged in from my MAC yet on several occasions, his Windows based console needed to be restarted for him to see updates. -Xathros
  25. Teken- I believe you stated above that with all programs disabled, the ISY will still become unresponsive. If this is true, then it would seem to be a problem unrelated to the programs that is causing this behavior. As I mentioned when we last worked on this, I never saw any slowness or unresponsive issues with the console while I was connected from my MAC. Granted, I have spent a lot less time connected than you have. I still think it to be a worthwhile test to attempt a connection from a different platform when the system is in it's unresponsive state and see if there is anything to be learned. -Xathros

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.