Announcement

Collapse
No announcement yet.

Help Me Pick A Weather Station

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

    #61
    Will be "testing" the generic for "sheeva" software for the "fine offset" weather station this week. It would make the "fine offset" data collection a bit different with no direct connections into Homeseer.

    Received the "Fine Offset" device today. It has a small footprint. Easy to assemble and wire.
    Last edited by Pete; October 11, 2011, 04:43 PM.
    - Pete

    Auto mator
    Homeseer 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 11

    X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant

    Comment


      #62
      Assembled the "Fine Set" weather station. Putting it on my deck "lighting for the grill" post to test. Not worth climbing to the roof yet to see how well it works.

      Installed Cumulus (first test - turn on) on a PC. Runs well. Talks XAP. Plug n play setup.

      Attached is a snapshot view of Cumulus and what its putting out there XAP wise. The same setup exists for the Davis weather instrument.
      Attached Files
      Last edited by Pete; October 12, 2011, 06:14 PM.
      - Pete

      Auto mator
      Homeseer 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 11

      X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant

      Comment


        #63
        On the forum found a "mod" to the Davis Vantage Vue (small footprint weather station) for RS-232. Looks simple. My preference at this time is to run the Cumulus program or the sheeva plug separately from HS and get the data to HS via the network via direct data transfer or XAP.
        - Pete

        Auto mator
        Homeseer 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 11

        X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant

        Comment


          #64
          Pete - glad Cumulus is working well for you as I new it would. Have you checked to see all the other data you could pull into HS? Take a look at this: http://wiki.sandaysoft.com/a/Webtags

          I have it generating an XML file with most of those tags in realtime and intend on parsing them out and saving them into my SQL server with a script. I especially like that it keeps track of the records (highs, lows, rain amounts, etc.). We always get excited to see the flashing red "New Record" light.

          I'm not familiar with xAP. What is it and how would you use it to get the data directly into HS from Cumulus without parsing and saving it (or am I missing a step)?

          Comment


            #65
            Thanks GatorEye.

            Cumulus is very impressive. Parsing the Cumulus XML data into HS would be icing on the cake.

            I am testing it on another W2003 box feeding the data into HS via XAP for the time being. The XAP broadcasts is just the basic stuff from the weather station; enough info though for HS. Here's a snapshot. Its one XAP message with all of the "live" weather data in one broadcast XAP packet. This is different than say one temperature sensor with its unique XAP message. Makes it a bit easier to get it all at once. The XAP package broadcast is pictured above.

            Next looking at the Sheeva plug stuff specifically with the "Fine Offset" weather station. I'm also pushing the web based GUI to a LAMP server although I can also run it on the W2003 box. Simple and functional GUI. I still haven't been on the roof to take down the old non functional stuff and testing the "fine offset" on top of a 6X6 cedar post I have off the deck. It looks like a miniature all in one weather station.

            I'm already running XAP and MCS Temperature on HS so just feed the date to HS's DB. Kind of looking to make it even a bit simplier. For $60 its not a bad weatherstation. Numbers are better than the AAG relating to wind speed for me. I have two AAG wind instruments. Think I purchased them around 10 years ago at around $75 each or so. I still plan on keeping all of the 1-wire outside devices on except for the AAG wind instrument. I am currently still using a tipping bucket, combo temperature sensors, lightning sensor, light sensors, etc.

            Next is the Davis Vantage Vue with the serial mod. Smaller footprint and more reasonable in price at around $200 for the Vantage Vue.
            Attached Files
            - Pete

            Auto mator
            Homeseer 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 11

            X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant

            Comment


              #66
              Originally posted by Pete View Post
              Thanks GatorEye.
              Next looking at the Sheeva plug stuff specifically with the "Fine Offset" weather station. I'm also pushing the web based GUI to a LAMP server although I can also run it on the W2003 box. Simple and functional GUI.
              Next is the Davis Vantage Vue with the serial mod. Smaller footprint and more reasonable in price at around $200 for the Vantage Vue.
              My buddy bought the same weather station as me at the same time and he has a Sheeva Plug. I'm pretty sure that's what he's using to parse his data. He's a Linux guy and isn't into HA (yet, but I think I'm getting him hooked) so I think that's the route he went with data collection. Being a Windows guy I went with Cumulus. I keep promising myself to get that parsing script done, but just haven't been able to find the time.

              I'll check with him today and see if there's any info I can get to help you on that front.

              So to parse the XAP data, I'd need some plug in to read it and get it into HS?

              Comment


                #67
                Originally posted by GatorEye View Post
                My buddy bought the same weather station as me at the same time and he has a Sheeva Plug. I'm pretty sure that's what he's using to parse his data. He's a Linux guy and isn't into HA (yet, but I think I'm getting him hooked) so I think that's the route he went with data collection. Being a Windows guy I went with Cumulus. I keep promising myself to get that parsing script done, but just haven't been able to find the time.

                I'll check with him today and see if there's any info I can get to help you on that front.

                So to parse the XAP data, I'd need some plug in to read it and get it into HS?
                There is a Cumulus script knocking about that I think at the minute is being hosted with Jon00, I also wrote a simple plugin that reads the Cumulus realtime.txt file - I intended to do an incredible amount more by reading the weather station directly, database logging, charting etc but its stalled at the minute with my issues with comms to the fine offset stations. It does nothing more than read the file into a few devices (and a few triggers) but works for me - its attached here if it is of any use to anyone. .
                Last edited by mrhappy; May 23, 2012, 02:52 PM.

                Comment


                  #68
                  Thanks Adam!

                  Thanks GatorEye!

                  I have an XAP hub running on HS. It gets data mostly from Zoneminder (and sends data) and a couple of 1-wire devices on the network and MCS's new Sheevaplug MCSSprinklers program. I've tested the Seagate dockstar with both USB and serial com links to weather instruments; works well so far. Applications are simple and typically use mysql for DB stuff.

                  Kind of moving to an appliance of sorts with the Sheeva plug connection to the weather station. The "meteo" program is basic and similiar to the wintel "cumulus".

                  I go slow plugging HS into USB devices as historically I've had better luck with serial devices. I have tested the "Open Offset" USB to USB Anywhere and it works fine. A direct connect USB HS application would be optimal but very custom for just the Open Offset device. It is a very popular weather station utilized in the UK and EU a lot. Unless you are primarily just interested in weather; most users are more than likely to spend less than $150 for their weather instruments and upwards of $500 to $2000 for the hard core weather folks.

                  Something in between like Cumulus or the "meteo" application would allow you to utilize more weather stations yet have one interface. (be it on Wintel or Linux). In the HS world; it would be like having one plugin that would work with 1-wire weather stations maybe and all of the propietary weather stations out there (that utilize USB or Serial). It would be a major endeavor. On the other hand having a plugin which gets the same info from some other device or program which can run by itself would allow a bit more flexibility regarding what weather station you would want to utilize and how much you want to spend on a weather station.

                  The options of communication with the interface provide a lot of flexibility regarding how to get the data (IE; reading the realtime.txt, xap, web cgi's, PHP, etc).

                  Another analogy of sorts. My HAI OPII panel is kind of an appliance. It has connectivity to X10, UPB, Z-Wave and the Russound. It can run by itself or be controlled via a serial link by HS. It has its own schedules running plus HS events reading and sending stuff to it.
                  Last edited by Pete; October 15, 2011, 01:52 PM.
                  - Pete

                  Auto mator
                  Homeseer 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 11

                  X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant

                  Comment


                    #69
                    Originally posted by mrhappy View Post
                    There is a Cumulus script knocking about that I think at the minute is being hosted with Jon00, I also wrote a simple plugin that reads the Cumulus realtime.txt file - I intended to do an incredible amount more by reading the weather station directly, database logging, charting etc but its stalled at the minute with my issues with comms to the fine offset stations. It does nothing more than read the file into a few devices (and a few triggers) but works for me - its attached here if it is of any use to anyone. .
                    Thanks! I will definitely take a look at that. My goal is to get all the data in SQL so I can do other things with it beyond just HS. It generates so much stuff it's hard to figure out what's actually worth keeping.

                    Pete, I always thought it would be nice to have all have HS data stored in SQL, with a way to tell it what custom tables you've created and how to read from/write to them. At that point, you can use whatever method is necessary to get any data from anything into a common data store and from there HS would always know what's going on and how to process it. That would make it easy for other applications to always have access to all that data.

                    I'm hoping in HS3 they move to MySQL or something like that and don't keep the Access tables they are currently using.

                    Comment


                      #70
                      Yes; SQL (or mySQL*) makes it much easier for just about anything you want to do with the data.

                      More so now and these days. About two years ago I "cleaned" up some 5-6 years of data that HS had accumulated in multiple DB's. It did speed up some stuff doing this.

                      Its kind of which came first ; the chicken or the egg.

                      I mean storing static configurations for variables is really not much work for one DB; not really a whole bunch of data there.

                      On the other hand keeping changed variable values (data - like weather for example) is another thing. Typically I try to keep the same variable name for the same piece of data but over the years it does seem to change.

                      BTW been playing with the cumulus real time, xml, silverlight stuff...very nice graphics for HStouch.
                      Attached Files
                      Last edited by Pete; October 16, 2011, 02:33 PM.
                      - Pete

                      Auto mator
                      Homeseer 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 11

                      X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant

                      Comment


                        #71
                        Adam,

                        Loaded your Cumulus plugin. It created all of the variables for the Cumulus text file but it keeps showing an error that it cannot find the text file.

                        I have the web pieces running on a LAMP server (Ubuntu 11.04 Apache2) / along with the text file. Its also serving some XPL/XAP stuff (with PHP et al).

                        How do I tell the application to read the file from there? (its just needs to do an "HTTP://cumulustexfile" thing). I have noticed too the the Cumulus application running by itself on a Pentium D (old HS Server) is resource intensive. I'm wanting to see how HS does collecting data via the XAP, your plugin and Jon's script from the Cumulus application. The XAP data is not complete in that it doesn't provide outdoor humidity levels. Reading the text file will provide the details not seen with the XAP broadcasts.
                        Last edited by Pete; October 17, 2011, 11:01 AM.
                        - Pete

                        Auto mator
                        Homeseer 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 11

                        X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant

                        Comment


                          #72
                          Originally posted by Pete View Post
                          Yes; SQL (or mySQL*) makes it much easier for just about anything you want to do with the data.

                          I mean storing static configurations for variables is really not much work for one DB; not really a whole bunch of data there.
                          I agree, but storing things in Access isn't really a standard. Some lite footprint version of SQL makes it more ubiquitous.

                          Originally posted by Pete View Post
                          BTW been playing with the cumulus real time, xml, silverlight stuff...very nice graphics for HStouch.
                          Just say NOOOO to Silverlight. I think he has some realtime Flash graphics available as well. That's one reason I'm writing my own front end. I want complete control over my display. I hope HS3 will let me do that (easily).

                          Comment


                            #73
                            Originally posted by Pete View Post
                            Adam,

                            Loaded your Cumulus plugin. It created all of the variables for the Cumulus text file but it keeps showing an error that it cannot find the text file.

                            I have the web pieces running on a LAMP server (Ubuntu 11.04 Apache2) / along with the text file. Its also serving some XPL/XAP stuff (with PHP et al).

                            How do I tell the application to read the file from there? (its just needs to do an "HTTP://cumulustexfile" thing). I have noticed too the the Cumulus application running by itself on a Pentium D (old HS Server) is resource intensive. I'm wanting to see how HS does collecting data via the XAP, your plugin and Jon's script from the Cumulus application. The XAP data is not complete in that it doesn't provide outdoor humidity levels. Reading the text file will provide the details not seen with the XAP broadcasts.
                            By default it looks for the realtime.txt file at the location of 'C:\Program Files\Cumulus\realtime.txt' however if you have a different path then you can add the line PathDat="D:\realtime.txt" into the config ini file under the [Settings] key and it should read this into the plugin. This is the main code for completeness;

                            Code:
                            Public Sub tmrData_Elapsed(ByVal Sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles tmrData.Elapsed
                            
                                    Dim strMessage As String = ""
                                    Dim EntireFile As String
                                    Dim oRead As System.IO.StreamReader
                                    Dim oFile As System.IO.File
                                    Dim splitStr() As String
                            
                                    Try
                            
                                        Dim PathToDat As String = hs.getinisetting("Settings", "PathDat", "C:\Program Files\Cumulus", gINIFile)
                            
                                        If System.IO.File.Exists(PathToDat & "\realtime.txt") Then
                            
                                            oRead = oFile.OpenText(PathToDat & "\realtime.txt")
                                            EntireFile = oRead.ReadToEnd()
                            
                                            splitStr = Split(EntireFile, Chr(32))
                            
                                            Dim IconStr As String = "<img src='/wxicon.png'>"
                            
                                            Dim BaseCode As String = Chr(HS_DEVICES.GetDefinedHouseCode)
                            
                                            If splitStr(50) = 1 Then
                                                hs.setdevicestring(BaseCode & 1, IconStr & " Contact Lost", True)
                                                hs.setdevicevalue(BaseCode & 1, 1)
                                            Else
                                                hs.setdevicestring(BaseCode & 1, IconStr & " Communications OK", True)
                                                hs.setdevicevalue(BaseCode & 1, 0)
                                            End If
                            
                                            'record count
                                            hs.setdevicestring(BaseCode & 2, IconStr & " Start Time: " & splitStr(1), True)
                                            'start sample
                                            hs.setdevicestring(BaseCode & 3, IconStr & " Start Date: " & splitStr(0), True)
                                            'finish sample
                                            hs.setdevicestring(BaseCode & 4, IconStr & " Unknown", True)
                                            'hs.setdevicevalue(BaseCode & 4, CInt(wxds.Tables(0).Rows(LastRow).Item(3)))
                                            'reset the timer to the interval time
                                            tmrData.Interval = (60000 * 60)
                                            'hs.writelog("TestInterval", tmrData.Interval)
                                            'interval time
                            
                                            '<------------- HUMIDITY
                                            hs.setdevicestring(BaseCode & 5, IconStr & " " & splitStr(23) & " " & "%", True)
                                            hs.setdevicevalue(BaseCode & 5, CInt(splitStr(23) * 10))
                                            Call CheckTrigNorm("Humidity", "Indoor Humidity", splitStr(23))
                                            'Indoor Humidity"
                                            hs.setdevicestring(BaseCode & 7, IconStr & " " & splitStr(3) & " " & "%", True)
                                            hs.setdevicevalue(BaseCode & 7, CInt(splitStr(3) * 10))
                                            Call CheckTrigNorm("Humidity", "Outdoor Humidity", splitStr(3))
                                            'Outdoor Humidity
                                            '<------------ TEMPERATURE
                                            hs.setdevicestring(BaseCode & 6, IconStr & " " & splitStr(22) & " " & "°C", True)
                                            hs.setdevicevalue(BaseCode & 6, CInt(splitStr(22) * 10))
                                            Call CheckTrigNorm("Temperature", "Indoor Temperature", splitStr(22))
                                            'Indoor Temperature
                            
                                            hs.setdevicestring(BaseCode & 8, IconStr & " " & splitStr(2) & " " & "°C", True)
                                            hs.setdevicevalue(BaseCode & 8, CInt(splitStr(2) * 10))
                                            Call CheckTrigNorm("Temperature", "Outdoor Temperature", splitStr(2))
                                            'outdoor temperature
                            
                                            hs.setdevicestring(BaseCode & 9, IconStr & " " & splitStr(4) & " " & "°C", True)
                                            hs.setdevicevalue(BaseCode & 9, CInt(splitStr(4) * 10))
                                            Call CheckTrigNorm("Temperature", "Dewpoint", splitStr(4))
                                            'dewpoint
                            
                                            hs.setdevicestring(BaseCode & 10, IconStr & " " & splitStr(24) & " " & "°C", True)
                                            hs.setdevicevalue(BaseCode & 10, CInt(splitStr(24) * 10))
                                            Call CheckTrigNorm("Temperature", "Windchill", splitStr(24))
                            
                                            '<----------- PRESSURE
                            
                                            hs.setdevicestring(BaseCode & 11, IconStr & " " & splitStr(10) & " " & "mBar", True)
                                            hs.setdevicevalue(BaseCode & 11, CInt(splitStr(10)))
                                            Call CheckTrigNorm("Pressure", "Absolute Pressure", splitStr(10))
                            
                                            'abs pressure
                            
                                            hs.setdevicestring(BaseCode & 12, IconStr & " " & splitStr(7) & " " & "°", True)
                                            hs.setdevicevalue(BaseCode & 12, CInt(splitStr(7)))
                                            'Call CheckTrigNorm("Pressure", "Relative Pressure", splitStr(5))
                                            'relative pressure
                            
                                            hs.setdevicestring(BaseCode & 13, IconStr & " " & splitStr(6) & " " & "kts", True)
                                            hs.setdevicevalue(BaseCode & 13, CInt(splitStr(6) * 10))
                                            Call CheckTrigNorm("Wind Speed", "Wind Speed", splitStr(6))
                            
                                            'wind speed
                                            hs.setdevicestring(BaseCode & 14, IconStr & " " & splitStr(12) & " " & "bft", True)
                                            hs.setdevicevalue(BaseCode & 14, CInt(splitStr(12)))
                                            Call CheckTrigNorm("Wind Speed", "Wind Level", splitStr(12))
                            
                                            'wind level
                            
                                            hs.setdevicestring(BaseCode & 15, IconStr & " " & splitStr(40) & " " & "kts", True)
                                            hs.setdevicevalue(BaseCode & 15, CInt(splitStr(40) * 10))
                                            Call CheckTrigNorm("Wind Speed", "Wind Gust Speed", splitStr(40))
                                            'wind gust speed
                            
                                            hs.setdevicestring(BaseCode & 16, IconStr & " " & splitStr(12) & " " & "bft", True)
                                            hs.setdevicevalue(BaseCode & 16, CInt(splitStr(12)))
                                            Call CheckTrigNorm("Wind Speed", "Wind Gust Level", splitStr(12))
                                            'gust level
                            
                                            hs.setdevicestring(BaseCode & 17, IconStr & " " & splitStr(11), True)
                            
                                            Select Case UCase(splitStr(11).ToString)
                                                Case "N"
                                                    hs.setdevicevalue(BaseCode & 17, 1)
                                                Case "NNE"
                                                    hs.setdevicevalue(BaseCode & 17, 2)
                                                Case "NE"
                                                    hs.setdevicevalue(BaseCode & 17, 3)
                                                Case "ENE"
                                                    hs.setdevicevalue(BaseCode & 17, 4)
                                                Case "E"
                                                    hs.setdevicevalue(BaseCode & 17, 5)
                                                Case "ESE"
                                                    hs.setdevicevalue(BaseCode & 17, 6)
                                                Case "SE"
                                                    hs.setdevicevalue(BaseCode & 17, 7)
                                                Case "SSE"
                                                    hs.setdevicevalue(BaseCode & 17, 8)
                                                Case "S"
                                                    hs.setdevicevalue(BaseCode & 17, 9)
                                                Case "SSW"
                                                    hs.setdevicevalue(BaseCode & 17, 10)
                                                Case "SW"
                                                    hs.setdevicevalue(BaseCode & 17, 11)
                                                Case "WSW"
                                                    hs.setdevicevalue(BaseCode & 17, 12)
                                                Case "W"
                                                    hs.setdevicevalue(BaseCode & 17, 13)
                                                Case "WNW"
                                                    hs.setdevicevalue(BaseCode & 17, 14)
                                                Case "NW"
                                                    hs.setdevicevalue(BaseCode & 17, 15)
                                                Case "NNW"
                                                    hs.setdevicevalue(BaseCode & 17, 16)
                                            End Select
                            
                                            callback.checktrigger(IFACE_NAME & Chr(2) & "Cumulus Wind Direction" & Chr(2) & UCase(splitStr(11).ToString))
                            
                                            'wind direction
                            
                                            hs.setdevicestring(BaseCode & 18, IconStr & " " & splitStr(47) & " " & "mm", True)
                                            hs.setdevicevalue(BaseCode & 18, CInt(splitStr(47) * 10))
                                            Call CheckTrigNorm("Rain", "Hour Rainfall", splitStr(47))
                                            'last hour rainfall
                            
                                            hs.setdevicestring(BaseCode & 19, IconStr & " " & splitStr(9) & " " & "mm", True)
                                            hs.setdevicevalue(BaseCode & 19, CInt(splitStr(9) * 10))
                                            Call CheckTrigNorm("Rain", "24 Hour Rainfall", splitStr(9))
                                            'last day
                            
                                            hs.setdevicestring(BaseCode & 20, IconStr & " " & splitStr(21) & " " & "mm", True)
                                            hs.setdevicevalue(BaseCode & 20, CInt(splitStr(21) * 10))
                                            Call CheckTrigNorm("Rain", "Yesterday Rainfall", splitStr(21))
                                            'last week
                            
                                            hs.setdevicestring(BaseCode & 21, IconStr & " " & splitStr(19) & " " & "mm", True)
                                            hs.setdevicevalue(BaseCode & 21, CInt(splitStr(19) * 10))
                                            Call CheckTrigNorm("Rain", "Month Rainfall", splitStr(19))
                                            'last month
                            
                                            hs.setdevicestring(BaseCode & 22, IconStr & " " & splitStr(20) & " " & "mm", True)
                                            hs.setdevicevalue(BaseCode & 22, CInt(splitStr(20) * 10))
                                            Call CheckTrigNorm("Rain", "Total Rainfall", splitStr(20))
                            
                            
                                            Select Case CInt(splitStr(10))
                                                Case 0 To 970
                                                    hs.setdevicestring(BaseCode & 23, IconStr & "Stormy", True)
                                                    hs.setdevicevalue(BaseCode & 23, 1)
                                                Case 971 To 990
                                                    hs.setdevicestring(BaseCode & 23, IconStr & "Rainfall", True)
                                                    hs.setdevicevalue(BaseCode & 23, 2)
                                                Case 991 To 1010
                                                    hs.setdevicestring(BaseCode & 23, IconStr & "Change", True)
                                                    hs.setdevicevalue(BaseCode & 23, 3)
                                                Case 1011 To 1030
                                                    hs.setdevicestring(BaseCode & 23, IconStr & "Fair", True)
                                                    hs.setdevicevalue(BaseCode & 23, 4)
                                                Case 1031 To 1060
                                                    hs.setdevicestring(BaseCode & 23, IconStr & "Very Dry", True)
                                                    hs.setdevicevalue(BaseCode & 23, 5)
                            
                                            End Select
                            
                                            '**** copy the images ****
                            
                                            'If System.IO.File.Exists(PathToDat & "\web\images\compass.png") = True Then
                                            '    System.IO.File.Copy(PathToDat & "\web\images\compass.png", hs.getapppath & "\html\cumulus\images")
                                            '    MsgBox("File Copied")
                                            'End If
                            
                            
                            
                                        Else
                                            Call WriteMessage("realtime.txt could not be found, check path", MSG_ERROR)
                            
                                        End If
                            
                                        oFile = Nothing
                                        oRead = Nothing
                                        splitStr = Nothing
                                        EntireFile = Nothing
                                    Catch fe As IO.IOException
                            
                                        Call WriteMessage("Cumulus currently has realtime.txt open", MSG_INFO)
                            
                                    Catch pEx As Exception
                                        Call ProcessError(pEx, "tmrData_Elapsed()")
                                    Finally
                                        With Me.tmrData
                                            .Interval = 60000 * 5
                                            .Start()
                                        End With
                                    End Try
                            
                                End Sub
                            I doubt it accepts HTTP strings to look for the file - I can add a couple of lines to download the file from a web address if that would help?

                            Comment


                              #74
                              Originally posted by Pete View Post
                              I'm wanting to see how HS does collecting data via the XAP, your plugin and Jon's script from the Cumulus application.
                              I'm interested in Jon's script as well. If it parses that XML file, it would be a huge time saver. I'd love to take a look. Is it a standalone script or a plugin?

                              Comment


                                #75
                                Thank you Adam. That would be great!

                                GatorEye - I'll load Jon's script today. I haven't looked but Jon's scripts are typically standalone VB script (not plugin) that you run via an event. I don't know what it does.

                                The text file on the Apache2 server is presented like this:

                                and the output of the http link looks like this:

                                17/10/11 11:35:52 57.4 37 31.3 3.1 7.6 135 0.00 0.00 30.06 SE 1 mph F in in 14.5 -0.01 0.29 0.29 0.02 81.3 21 57.4 +3.1 59.0 11:16 39.7 05:31 6.0 11:24 15.9 11:32 30.08 09:33 30.04 03:08 1.9.2 1018 15.9 57.4 57.4 0 0 0 262 0.00 -26 1 0 W 6072 ft 51.9 0.0 579 0
                                Funny that a simple (yet complex) application like Cumulus is resource intensive; where as HSPro running with 18 serial / XX USB devices; countless variables, events and multiple DB's (and types of DB's) remains at less than 15% CPU utilization.

                                BTW Adam; on another topic.

                                Starting to change my HSTouchscreen XP client elements to scripts in that they seem to update faster than defined status variable elements on HSTouchscreens. I noticed this by creating one changing variable from two different changing variables (for RFID stuff). Using the framebuffer / VNC I can look at multiple HSTouch screen updates at one PC. There are no disconnects (using your application) on the network that I can tell.
                                Last edited by Pete; October 17, 2011, 11:50 AM.
                                - Pete

                                Auto mator
                                Homeseer 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 11

                                X10, UPB, Zigbee, ZWave and Wifi MQTT automation-Tasmota-Espurna. OmniPro 2, Russound zoned audio, Alexa, Cheaper RFID, W800 and Home Assistant

                                Comment

                                Working...
                                X