I think I will load this just to compare my delays on a fairly strong vSphere virtualized Homeseer install, with those of you who are running Atom installs. I do not notice any significant delays ever except rare occasions, so it will be an interesting exercise.
Announcement
Collapse
No announcement yet.
Event Execution Delay Measurement Script discussion
Collapse
X
-
I'm testing on two flavors of CPU. One is a Atom D525 and the other one is a core duo (8800?). That said the 4 psuedocores on the D525 seem to distribute the processing better but the core duo seems a bit faster; the end result though seems to balance out the multitasking. Built (documented below) hot swap cage boxes and now have a few small SATA drives with different OS builds / flavors for each box; fast to switch.
On the HSTouch client side was/is currently using Atom based CPUs and they do fine. Even better though are the Aopen Digital Engines (core duo's) with HDMI out for HD HSTouch screens; very quick at HD resolutions.
Then again the 800Mhz MS CE6.0 touchscreen works well comparing it to the 800Mhz Chumby running Linux/RDP to a terminal server running HSTouch remotely.
I do though use a higher horsepower CPU these days for my MM headless server running TVersity/PlayON TV for HD streaming or for my Zoneminder box with an old PCI 8 analog card plus SD/HD IP cams on it; works fine.
Historically though did benchmark applications running virtually optimizing CPU / memory etc for best throughput a few years back. I initially did have issues with USB to hardware (security stuff) connectivity; then went to USB to IP to Virtual boxes and it worked 1-2 devices at a time. Back then though never went higher than the one or two devices. A couple of years ago though did test HS running connecting to devices via a virtual IP USB port to the Digi Edgeports (16 serial devices) and the only real issues were related to sound drivers and the W2C box; but I was using USB 1.X. That issue was solved used a Lantronics USB 2.0 to IP device though.
All the above said; I am not a "server hugger" and promoted the optimizing/collapse of "server" farms to the virtual worlds a few years go after exhaustive views at functionalities provided by a "small" enterprise server farm of around 250 physical boxes.Last edited by Pete; August 20, 2012, 08:36 AM.- Pete
Auto matorHomeseer 3 Pro - 3.0.0.548 (Linux) - Ubuntu 18.04/W7e 64 bit Intel Haswell CPU 16Gb
Homeseer Zee2 (Lite) - 3.0.0.548 (Linux) - Ubuntu 18.04/W7e - CherryTrail x5-Z8350 BeeLink 4Gb BT3 Pro
HS4 Lite - Ubuntu 22.04 / Lenovo Tiny M900 / 32Gb Ram
HS4 Pro - V4.1.18.1 - Ubuntu 22.04 / Lenova Tiny M900 / 32Gb Ram
HSTouch on Intel tabletop tablets (Jogglers) - Asus AIO - Windows 11X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant
Comment
-
Originally posted by rmasonjr View PostPretty interesting. My highest delta occurred during a ZWave poll, which failed:HS4Pro Win10 | Fire Tablet touchscreen client, Android Phones and Tablets | Jon00 | Smartthings | Philips Hue | Trane | Caseta | Nanoleaf | Ring | August | Evolve | Aladdin | Amazon Alexa/IFTT
Comment
-
I loaded the 1.04 version and now I get an error-
8/20/2012 5:30:04 PM ~!~Error~!~Script compile error: 'WritelogEx' is not a member of 'Scheduler.hsapplication'.on line 38
8/20/2012 5:54:00 PM ~!~Error~!~Script compile error: Too many arguments to 'Public Sub WriteLog(mtype As String, message As String)'.on line 38
Thanks,
TimFB Page - https://www.facebook.com/pages/Capt-Tim/209398425902188
HSTouch Layouts - https://www.facebook.com/media/set/?...5902188&type=3
Comment
-
HS ver 2.3.0.19.
Ok, I will try that.
Thanks,
TimFB Page - https://www.facebook.com/pages/Capt-Tim/209398425902188
HSTouch Layouts - https://www.facebook.com/media/set/?...5902188&type=3
Comment
-
Code:If LogResult Then hs.Writelog("Event Delay","Currently " & DVString & " Scripts running: " & hs.ScriptsRunning,DVColor) hs.SetDeviceString(TrackDV,"<font color=" & DVColor & ">" & DVString & "</font>") hs.SetDeviceValue(TrackDV,DelayTime * 1000) If LogWarning <> 0 And DelayTime >= LogWarning Then hs.Writelog("Warning","Events seem to be delayed. Current delay is " & DelayTime & " seconds." & "Scripts running: " & hs.ScriptsRunning,"#D58000") End If If SpeakWarning <> 0 And DelayTime >= SpeakWarning Then hs.Speak(SpeakMessage) If Reboot <> 0 And DelayTime >= Reboot Then hs.Writelog("Error","System UpTime: " & hs.SystemUptime,"#FF0000") hs.Writelog("Error","System is restarting due to Event Execution Delay","#FF0000") hs.RestartSystem End If End Sub
Not real good with this vb stuff yet.
Thanks,
TimFB Page - https://www.facebook.com/pages/Capt-Tim/209398425902188
HSTouch Layouts - https://www.facebook.com/media/set/?...5902188&type=3
Comment
-
Ah, gotchya, just take the colors out on the ends.
Thanks,
TimFB Page - https://www.facebook.com/pages/Capt-Tim/209398425902188
HSTouch Layouts - https://www.facebook.com/media/set/?...5902188&type=3
Comment
-
Thanks for writing this useful script Greg.
When using my virtual graphing utility, rather than displaying the current value/delta in a separate virtual device, I have just incorporated this within the graph text. Here's how to do it:
In the Event Delay Check.vb script, find the following 2 lines:
PHP Code:hs.SetDeviceString(TrackDV,"<font color=" & DVColor & ">" & DVString & "</font>")
hs.SetDeviceValue(TrackDV,CInt(DelayTime * 1000))
PHP Code:'hs.SetDeviceString(TrackDV,"<font color=" & DVColor & ">" & DVString & "</font>")
'hs.SetDeviceValue(TrackDV,CInt(DelayTime * 1000))
PHP Code:'hs.SetDeviceString(TrackDV,"<font color=" & DVColor & ">" & DVString & "</font>")
'hs.SetDeviceValue(TrackDV,CInt(DelayTime * 1000))
Dim GraphNumber As String = "20"
hs.SaveINISetting("Graph" & GraphNumber,"TextAfterValue"," - " & DVString,"Jon00VDGraphing.ini")
hs.SaveINISetting("Graph" & GraphNumber,"Data",CInt(DelayTime * 1000),"Jon00VDGraphing.ini")
hs.RunEx("Jon00VDGraphing.vben","Main",GraphNumber)
Remove any previous events to update my graphing utility for the event delay check data.
This is my settings from Jon00VDGraphing.ini for [Graph20]:
PHP Code:[Graph20]
Housecode=w77
Title=Event Execution Delay
TextBeforeValue=
TextAfterValue=
Units = milliseconds
BackGroundColor="#5E697A"
ImageFile=blue.gif
Range1Upper=999
Range1Lower=0
Range1ImageFile=Green.gif
Range2Upper=4999
Range2Lower=1000
Range2ImageFile=Yellow.gif
Range3Upper=999999
Range3Lower=5000
Range3ImageFile=Red.gif
SampleSize=300
Height=30
HeightSpacer=4
ToolTips=1
Offset=0
ShowCurrentValue=1
ShowLowHighValues=2
DelayCount=1
DivideValue=1
Markerheight=5
MarkerDuration=0
MarkerImageFile=white.gif
MarkerType=1
data=
CurrentValue=
HighValue=
LowValue=
The graph is immediately updated each time Event Delay Check.vb runs.
Comment
-
Jon,
Then
Dim TrackDV As String = "Y99"
[Graph20]
Housecode=w77
and I would still run both the Event delay script and the graphing script in one event eh?
I think too that my divide value was set to 1000 and when I set it to 1 just now its giving me thousands of seconds in the graph display.
Nah, now I am thinking that below is 18K ms which is right.- Pete
Auto matorHomeseer 3 Pro - 3.0.0.548 (Linux) - Ubuntu 18.04/W7e 64 bit Intel Haswell CPU 16Gb
Homeseer Zee2 (Lite) - 3.0.0.548 (Linux) - Ubuntu 18.04/W7e - CherryTrail x5-Z8350 BeeLink 4Gb BT3 Pro
HS4 Lite - Ubuntu 22.04 / Lenovo Tiny M900 / 32Gb Ram
HS4 Pro - V4.1.18.1 - Ubuntu 22.04 / Lenova Tiny M900 / 32Gb Ram
HSTouch on Intel tabletop tablets (Jogglers) - Asus AIO - Windows 11X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant
Comment
-
- Pete
Auto matorHomeseer 3 Pro - 3.0.0.548 (Linux) - Ubuntu 18.04/W7e 64 bit Intel Haswell CPU 16Gb
Homeseer Zee2 (Lite) - 3.0.0.548 (Linux) - Ubuntu 18.04/W7e - CherryTrail x5-Z8350 BeeLink 4Gb BT3 Pro
HS4 Lite - Ubuntu 22.04 / Lenovo Tiny M900 / 32Gb Ram
HS4 Pro - V4.1.18.1 - Ubuntu 22.04 / Lenova Tiny M900 / 32Gb Ram
HSTouch on Intel tabletop tablets (Jogglers) - Asus AIO - Windows 11X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant
Comment
-
This originally began life as a simple five line script for my own use, intended as a tool to determine the cause of delayed events I was experiencing. It's obviously grown way beyond those proportions, and evidently the problem is much more widespread than I'd suspected. I'm very much gratified that so many find it so useful.
Thanks Jon. I like it. I'll incorporate your suggestion and make it an option (either-or-both) for the sake of those who may not be using your graphs (as if anyone wouldn't).
The suggestion also gives us all insight how we can further customize other graphs on the fly.
I've actually been working on some other improvements as well.
1. Delayed actions: to avoid warnings or reboots based on one sample being over the defined limits. This is configurable to any number of consecutive samples. I've been thinking of an increment/decrement scheme as well.
2. Min/Max within the device string, with the option of performing a reset on the device at any point via an event to erase the min/max values. This might of course be obviated if one directly writes to the graph exclusively.
3. I'm wondering now if the configuration section might be better off read from a configuration file. [Thoughts?]
I currently run this once per minute and graph every five minutes to enable viewing a 24 hour snapshot. Naturally, this means I see only one in five samples. This was what I had in mind when I requested averaging in Jon00VDGraphing a coulple of weeks ago.
To further cross over... Based on some of the comments I've received about the wide range of delays people are seeing (one large delay can obfuscate an entire graph), I wonder if a logarithmic scale on the graphs might be something you'd be able to consider as an optional parameter as well.Real courage is not securing your Wi-Fi network.
Comment
-
Apologies but have little free time left today. Just to say that I have modified my Virtual Graphing utility to show optional session average. I have also added a graph reset and added a (quirky) method to push data directly and display an entire graph.
I just need to do some testing and write up the docs. Hopefully it will be ready later this week.
Comment
-
Originally posted by jon00 View PostApologies but have little free time left today. Just to say that I have modified my Virtual Graphing utility to show optional session average. I have also added a graph reset and added a (quirky) method to push data directly and display an entire graph.
I just need to do some testing and write up the docs. Hopefully it will be ready later this week.Real courage is not securing your Wi-Fi network.
Comment
Comment