Announcement

Collapse
No announcement yet.

Jon00 Virtual device graphing utility

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    The minimum is always set to 0 unless you set the offset. If you read minus values, you set the offset which becomes the new minimum i.e. with an offset of 20, the baseline is actually -20
    Jon

    Comment


      OK, then in many cases having the max would work. There would still be cases where I would want to specify a min (positive) and max, for example indoor temps where I would like them to all have a min of say 65 and a max of 85. This allows the graph to show much more granularity. Not sure if both a min and max are feasible though!

      Originally posted by jon00 View Post
      The minimum is always set to 0 unless you set the offset. If you read minus values, you set the offset which becomes the new minimum i.e. with an offset of 20, the baseline is actually -20

      Comment


        OK, I'll see what I can do for both max and min but no promises. I'm also considering adding an option to set the marker height linked to a set value (as you described for a set point).
        Jon

        Comment


          Version 1.05 has been released.

          Changes in this version:

          Added a method to define the max and min values for a graph.
          Added set point visual feature using the optional time markers.
          Jon

          Comment


            Hi Jon,

            I tried to download the new version of the charting utility, and got this error on your site :

            Compiler Error Message: BC30648: String constants must end with a double quote.

            Source Error:


            Line 392:Author="jon00"
            Line 393:Filesize="1.53M"
            Line 394:Version="1.01
            Line 395:Added="01-Apr-2009"
            Line 396:Updated="11-Nov-2009"
            Source File: D:\Program Files\HomeSeer 2\html\HS2_Downloads.aspx Line: 394
            Visit zee e-maison : http://www.e-maison.com

            Comment


              Thanks. That has now been fixed.
              Jon

              Comment


                Jon,
                Thanks very much for the additional functionality!

                My inititial testing showed a couple of "Be aware that" items that I wanted to share:

                1. Setting the optional MarkerSetpoint will override the MarkerHeight setting.

                As originally stated when I requested this functionality, I am using to "mark" a zero line on a rate of change graph, and a 70 degree line on normal temperature graphs. I could see using it to show a 10 mph line for wind, or a freezing line on a temperature graph, etc.

                2. Setting the optional MinValue to a negative value works fine, BUT if you then set the Offset value to something OTHER than the absolute value of MinValue, you will get unpredictable results. i.e. If MinValue=-10, the Offset should be set to 10.

                I was trying to figure out the exact consequences under various non-conforming conditions to see if there was a useful possibility for setting different values, but could not seem to get a predictable pattern.



                Very cool! and thanks again.

                Comment


                  Hi all,

                  Congrats Jon on a great script. I have set it up for two devices and 1 works and the other doesn't.

                  Graph 1 does not work, it gives a continous 0 value, there is no error message in the log and when I give it a direct value via the script parameter ("Main", "1,10") it reads this value Ok.

                  Graph 2 works ok.


                  Is it related to the device value house code of '34. The " ' " is the house code assigned to it by RFXCOM and I cannot change it.

                  Any ideas

                  Reg

                  Liam K

                  Ini file settings below


                  [Settings]
                  ErrorLogging=1
                  [Graph1]
                  Housecode=z80
                  Title=Total Current
                  TextBeforeValue="Current: "
                  TextAfterValue=
                  Units=A
                  BackGroundColor="#5E697A"
                  ImageFile=red.gif
                  SampleSize=200
                  Height=30
                  HeightSpacer=8
                  ToolTips=1
                  Offset=0
                  MaxValue=50
                  MinValue=0
                  Data= $DV:'34
                  ShowCurrentValue=1
                  ShowLowHighValues=2
                  DelayCount=1
                  DivideValue=1
                  Markerheight=30
                  MarkerSetpoint=
                  MarkerDuration=0
                  MarkerImageFile=white.gif
                  MarkerType=1
                  *** read values only ***
                  CurrentValue=0
                  HighValue=0
                  LowValue=0
                  Counter=
                  [Graph2]
                  Housecode=z81
                  Title=Line Voltage
                  TextBeforeValue=
                  TextAfterValue=
                  Units=V
                  BackGroundColor="#5E697A"
                  ImageFile=blue.gif
                  SampleSize=200
                  Height=30
                  HeightSpacer=8
                  ToolTips=1
                  Offset=0
                  MaxValue=
                  MinValue=
                  Data=$DV:r23
                  ShowCurrentValue=1
                  ShowLowHighValues=2
                  DelayCount=1
                  DivideValue=1
                  Markerheight=30
                  MarkerSetpoint=
                  MarkerDuration=0
                  MarkerImageFile=white.gif
                  MarkerType=1
                  *** read values only ***
                  CurrentValue=230
                  HighValue=230
                  LowValue=228
                  Counter=

                  [blank]
                  Housecode=
                  Title=
                  TextBeforeValue=
                  TextAfterValue=
                  Units=
                  BackGroundColor="#5E697A"
                  ImageFile=blue.gif
                  SampleSize=200
                  Height=30
                  HeightSpacer=8
                  ToolTips=1
                  Offset=0
                  MaxValue=
                  MinValue=
                  Data=
                  ShowCurrentValue=1
                  ShowLowHighValues=2
                  DelayCount=1
                  DivideValue=1
                  Markerheight=30
                  MarkerSetpoint=
                  MarkerDuration=0
                  MarkerImageFile=white.gif
                  MarkerType=1
                  *** read values only ***
                  CurrentValue=
                  HighValue=
                  LowValue=
                  Counter=

                  You can use the following in the ini to display a range of pastel colours (from blue, through green, orange & red) for temperature
                  -58 to +212 for fahrenheit use
                  Range1Upper=14
                  Range1Lower=-58
                  Range1ImageFile=temprange_1.gif
                  Range2Upper=23
                  Range2Lower=14
                  Range2ImageFile=temprange_2.gif
                  Range3Upper=25
                  Range3Lower=23
                  Range3ImageFile=temprange_3.gif
                  Range4Upper=32
                  Range4Lower=25
                  Range4ImageFile=temprange_4.gif
                  Range5Upper=41
                  Range5Lower=32
                  Range5ImageFile=temprange_5.gif
                  Range6Upper=50
                  Range6Lower=41
                  Range6ImageFile=temprange_6.gif
                  Range7Upper=54
                  Range7Lower=50
                  Range7ImageFile=temprange_7.gif
                  Range8Upper=59
                  Range8Lower=54
                  Range8ImageFile=temprange_8.gif
                  Range9Upper=68
                  Range9Lower=59
                  Range9ImageFile=temprange_9.gif
                  Range10Upper=77
                  Range10Lower=68
                  Range10ImageFile=temprange_10.gif
                  Range11Upper=86
                  Range11Lower=77
                  Range11ImageFile=temprange_11.gif
                  Range12Upper=95
                  Range12Lower=86
                  Range12ImageFile=temprange_12.gif
                  Range13Upper=122
                  Range13Lower=95
                  Range13ImageFile=temprange_13.gif
                  Range14Upper=212
                  Range14Lower=122
                  Range14ImageFile=temprange_14.gif

                  You can use the following in the ini to display a range of colours (from blue, through green, orange & red) for temperature
                  -50 to +100 for celcius use
                  Range1Upper=-10
                  Range1Lower=-50
                  Range1ImageFile=temprange_1.gif
                  Range2Upper=-5
                  Range2Lower=-10
                  Range2ImageFile=temprange_2.gif
                  Range3Upper=-2
                  Range3Lower=-5
                  Range3ImageFile=temprange_3.gif
                  Range4Upper=0
                  Range4Lower=-2
                  Range4ImageFile=temprange_4.gif
                  Range5Upper=5
                  Range5Lower=0
                  Range5ImageFile=temprange_5.gif
                  Range6Upper=10
                  Range6Lower=5
                  Range6ImageFile=temprange_6.gif
                  Range7Upper=12
                  Range7Lower=10
                  Range7ImageFile=temprange_7.gif
                  Range8Upper=15
                  Range8Lower=12
                  Range8ImageFile=temprange_8.gif
                  Range9Upper=20
                  Range9Lower=15
                  Range9ImageFile=temprange_9.gif
                  Range10Upper=25
                  Range10Lower=20
                  Range10ImageFile=temprange_10.gif
                  Range11Upper=30
                  Range11Lower=25
                  Range11ImageFile=temprange_11.gif
                  Range12Upper=35
                  Range12Lower=30
                  Range12ImageFile=temprange_12.gif
                  Range13Upper=50
                  Range13Lower=35
                  Range13ImageFile=temprange_13.gif
                  Range14Upper=100
                  Range14Lower=50
                  Range14ImageFile=temprange_14.gif

                  [Language]
                  Phrase1=""
                  Phrase2=""
                  [Info]
                  Version=V1.05

                  Comment


                    Originally posted by Vector View Post
                    Jon,
                    Thanks very much for the additional functionality!

                    My inititial testing showed a couple of "Be aware that" items that I wanted to share:

                    1. Setting the optional MarkerSetpoint will override the MarkerHeight setting.

                    As originally stated when I requested this functionality, I am using to "mark" a zero line on a rate of change graph, and a 70 degree line on normal temperature graphs. I could see using it to show a 10 mph line for wind, or a freezing line on a temperature graph, etc.

                    2. Setting the optional MinValue to a negative value works fine, BUT if you then set the Offset value to something OTHER than the absolute value of MinValue, you will get unpredictable results. i.e. If MinValue=-10, the Offset should be set to 10.

                    I was trying to figure out the exact consequences under various non-conforming conditions to see if there was a useful possibility for setting different values, but could not seem to get a predictable pattern.



                    Very cool! and thanks again.
                    Thanks,

                    The first point is already in the instructions (under the Markerheight entry) but is easily missed.

                    With regards to the second, the offset can be equal or larger than the minvalue setting.

                    So with your example of -10 the offset could be 10, or 20 or 30 etc.
                    Jon

                    Comment


                      Originally posted by slayer View Post
                      Hi all,

                      Congrats Jon on a great script. I have set it up for two devices and 1 works and the other doesn't.

                      Graph 1 does not work, it gives a continous 0 value, there is no error message in the log and when I give it a direct value via the script parameter ("Main", "1,10") it reads this value Ok.

                      Graph 2 works ok.


                      Is it related to the device value house code of '34. The " ' " is the house code assigned to it by RFXCOM and I cannot change it.

                      Any ideas

                      Reg

                      Liam K
                      First off, have you checked that the devicevalue for '34 has actually been set?
                      Jon

                      Comment


                        Jon,

                        thanks for the quick reply.

                        Device '34 is reading the house current via centameter via Rfxcom plugine. It is reading fine. Currently it is reading 8.6 Amps.

                        Regs

                        LiamK

                        Comment


                          Just because it is showing in a virtual device does not mean the devicevalue has been set.

                          From an event, run the following immediate script:

                          &hs.writelog "Test",hs.devicevalue ("'34")

                          See what it displays in the log
                          Jon

                          Comment


                            Jon,

                            As usual, you are right, it returns 0 as well in the log. But not sure what you mean by 'set'
                            How do I set this devicevalue??

                            Regs

                            LiamK

                            Comment


                              Setting the devicevalue would be for the plugin author to do. The problem is that devicevalues are integer based (whole numbers) so with your readings it would only save 8 not 8.6. This issue is normally handled by the script/plugin author, multiplying readings by 10 or 100. The graphing has an option to bring this back to the correct reading by dividing by 10 or 100 etc.

                              Is this reading stored anywhere else such as an ini file?
                              Jon

                              Comment


                                Doesn't work for housecode '

                                Originally posted by jon00 View Post
                                Thanks!

                                Obviously if you use devicevaluebyname then you would need to do as you suggested but surely it is much easier to just use the device value of the house code?

                                i.e. if Garage Freezer Temperature had a house code of t78

                                Within the INI file for that Graph, you would use:

                                Data=$DV:t78

                                As for the location value, yes it can be changed to anything you wish.
                                This works for all my house codes except for housecode ' (the RFX temperature ones in my setup).

                                If I do: Data=$DV:'8

                                It doesn't work.

                                But, it seems to be a Homeseer Bug.

                                In a script that I just threw together,

                                hs.devicevalue("'8") returns 0

                                hs.devicevaluebyname("Outside Outside Temperature") returns the correct value!

                                I've put in a bug report, but am not hopeful... Good luck getting HST to fix this. They're too focused on ZWave.

                                Comment

                                Working...
                                X