Announcement

Collapse
No announcement yet.

Get local weather data by Big5 and API (no equipment needed)

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

    #16
    Yeah i got it for the forecast !!

    ex with temperature :

    JSON(input,"list[0].main.temp") for the first
    JSON(input,"list[1].main.temp") for the second


    and so on.



    Comment


      #17
      Attached Files

      Comment


        #18
        I give the syntax for anyone wanting it . Created 8 http get profiles and 8 events for convenience.

        NB: to be safe the last one is not really 120h ( five days ). I tries to poll value for 120h, then tried 117h... than 114h (4.75 days).

        114 hours seems to be safe, because the data for 117h and 120h were not there.

        So this is why the last digit is not [39] ( 120/3-1=39) , but [37]


        Code:
        "Temperature moment1" && "Temperature In 3h" && "Pressure In 3h" && "Humidity In 3h" && "WindSpeed In 3h"
        
        JSON(input,"list[0].dt_txt") && JSON(input,"list[0].main.temp") && JSON(input,"list[0].main.pressure") && JSON(input,"list[0].main.humidity") && JSON_Num(input,"list[0].wind.speed") *3.6
        
        --
        
        "Temperature moment2" && "Temperature In 6h" && "Pressure In 6h" && "Humidity In 6h" && "WindSpeed In 6h"
        
        JSON(input,"list[1].dt_txt") && JSON(input,"list[1].main.temp") && JSON(input,"list[1].main.pressure") && JSON(input,"list[1].main.humidity") && JSON_Num(input,"list[1].wind.speed") *3.6
        
        --
        
        "Temperature moment3" && "Temperature In 12h" && "Pressure In 12h" && "Humidity In 12h" && "WindSpeed In 12h"
        
        JSON(input,"list[3].dt_txt") && JSON(input,"list[3].main.temp") && JSON(input,"list[3].main.pressure") && JSON(input,"list[3].main.humidity") && JSON_Num(input,"list[3].wind.speed") *3.6
        
        --
        
        "Temperature moment4" && "Temperature In 24h" && "Pressure In 24h" && "Humidity In 24h" && "WindSpeed In 24h"
        
        JSON(input,"list[7].dt_txt") && JSON(input,"list[7].main.temp") && JSON(input,"list[7].main.pressure") && JSON(input,"list[7].main.humidity") && JSON_Num(input,"list[7].wind.speed") *3.6
        
        --
        
        "Temperature moment5" && "Temperature In 48h" && "Pressure In 48h" && "Humidity In 48h" && "WindSpeed In 48h"
        
        JSON(input,"list[15].dt_txt") && JSON(input,"list[15].main.temp") && JSON(input,"list[15].main.pressure") && JSON(input,"list[15].main.humidity") && JSON_Num(input,"list[15].wind.speed") *3.6
        
        --
        
        "Temperature moment6" && "Temperature In 72h" && "Pressure In 72h" && "Humidity In 72h" && "WindSpeed In 72h"
        
        JSON(input,"list[23].dt_txt") && JSON(input,"list[23].main.temp") && JSON(input,"list[23].main.pressure") && JSON(input,"list[23].main.humidity") && JSON_Num(input,"list[23].wind.speed") *3.6
        
        ---
        
        "Temperature moment7" && "Temperature In 96h" && "Pressure In 96h" && "Humidity In 96h" && "WindSpeed In 96h"
        
        JSON(input,"list[31].dt_txt") && JSON(input,"list[31].main.temp") && JSON(input,"list[31].main.pressure") && JSON(input,"list[31].main.humidity") && JSON_Num(input,"list[31].wind.speed") *3.6
        
        --
        
        "Temperature moment8" && "Temperature In 120h" && "Pressure In 120h" && "Humidity In 120h" && "WindSpeed In 120h"
        
        JSON(input,"list[37].dt_txt") && JSON(input,"list[37].main.temp") && JSON(input,"list[37].main.pressure") && JSON(input,"list[37].main.humidity") && JSON_Num(input,"list[37].wind.speed") *3.6

        Comment


          #19
          When I read this thread it make me think that an enhancement to be able to export and import profiles would be be a useful capability.

          Comment


            #20
            True!!

            Comment


              #21
              Originally posted by MattLau View Post
              True!!
              +1

              Comment


                #22
                Originally posted by risquare View Post
                Life got better after the release of Big5 v1.20. Now you can parse the whole JSON API at once and create/update as many HS3 devices at once.

                All you need to do is to separate Name Expressions and Device expressions with && (see below)

                In the example below we chose to create 4 HS3 devices.


                Example:

                This is the API as it comes from the Weather data provider


                {
                "coord":{
                "lon":-117.18,
                "lat":33.01
                },
                "weather":[
                {
                "id":741,
                "main":"Fog",
                "description":"fog",
                "icon":"50n"
                }
                ],
                "base":"stations",
                "main":{
                "temp":67.24,
                "pressure":1014,
                "humidity":46,
                "temp_min":62.06,
                "temp_max":75.2
                },
                "visibility":16093,
                "wind":{
                "speed":4.7,
                "deg":310
                },
                "clouds":{
                "all":1
                },
                "dt":1541296560,
                "sys":{
                "type":1,
                "id":425,
                "message":0.0041,
                "country":"US",
                "sunrise":1541340574,
                "sunset":1541379272
                },
                "id":5347315,
                "name":"Fairbanks Ranch",
                "cod":200
                }

                Device name expressions

                "Temperature" && "Pressure" && "Humidity" && "Community"

                Device Value Expressions

                JSON(input, "main.temp") && JSON(input, "main.pressure") && JSON(input, "main.humidity") && JSON(input, "name")

                This produces 4 HS3 devices each containing value if the RegEx result is numerical and string if the RegEx result is a string

                Click image for larger version

Name:	Screenshot (136).png
Views:	1022
Size:	77.4 KB
ID:	1257048


                hello,
                can you tell me, what im doing wrong?
                After setup and triggering event this is what it looks for me:

                Click image for larger version

Name:	report.jpg
Views:	322
Size:	33.9 KB
ID:	1279879

                Comment


                  #23
                  Originally posted by joesch View Post



                  hello,
                  can you tell me, what im doing wrong?
                  After setup and triggering event this is what it looks for me:

                  Click image for larger version  Name:	report.jpg Views:	1 Size:	33.9 KB ID:	1279879
                  You need to edit device property to include the possible value the device can get.

                  ex : your Weather report- temperature should have a Value range of 0-100 ,you can remove the prefix, dans add a % suffix.

                  The pressure one is surely bucause the value is in the 1000 ...so in your device property i would set a range of 0-9999

                  Please take a loomk at my explaination here : https://forums.homeseer.com/forum/li...recast-weather

                  Comment


                    #24
                    Thank you for your quick reply. I tried to change the things in device property. when I was ready, the displayed temperature changed from "unknown" to an empty field.
                    the current temperature here is 1,51 degrees. the value inside the device is shown as 151.


                    i raised the value to 400 and now you can see 151 degrees in mainview. you have an idea why it does not show 1.51 or 1,51 degrees?

                    Comment


                      #25
                      in the api your are seing 1,51 , and not 1.51 ?

                      on what big5 version are u ?

                      try putting

                      JSON_Num(input, "main.temp"). Not sure why you get a decimal ? can you copy past the api values you got on the web page?

                      Comment


                        #26


                        Originally posted by MattL0 View Post
                        in the api your are seing 1,51 , and not 1.51 ?

                        on what big5 version are u ?

                        try putting

                        JSON_Num(input, "main.temp"). Not sure why you get a decimal ? can you copy past the api values you got on the web page?
                        im still testing big5 since today. 30 days left. So i guess its the newest version.
                        In the api you can see now "1.99" but the value is 199 to me.
                        here are the screenshots, perhaps I missed something:




                        omg. after updating from version 1.25.0.0 to 1.26.0.0 NOTHING works anymore. no device will be created.

                        Comment


                          #27
                          Originally posted by joesch View Post



                          im still testing big5 since today. 30 days left. So i guess its the newest version.
                          In the api you can see now "1.99" but the value is 199 to me.
                          here are the screenshots, perhaps I missed something:




                          omg. after updating from version 1.25.0.0 to 1.26.0.0 NOTHING works anymore. no device will be created.
                          YUP..... my guess is ti wait for risquare on this...

                          Comment


                            #28
                            Confirmed. Working on it.

                            Comment


                              #29
                              Resolved. Tested. No need for software update. Just the new version 1.26 treats data differently. In this case you need to setup and save the whole URL in the data box of the Big5 HTTP output command (not just in the profile). Note is taken and the online documentation will be updated.

                              Comment


                                #30
                                so i have to copy the url from the http profile and input it again in field "override request body"? do you want to change this is next version or is this going to stay. if so i dont understand the sence to type a url twice. wouldnt different profils be needless then?

                                im just interested to get the correct temperature but i still have problems to get the right value. if the openweathermap api says its 1.99 degrees, i always get 199 degrees. do you have an idea how to change to see the correct value?


                                there is just another thing i do not understand yet. to create a temperature device, i have to trigger an event with big5 http action. do i regulary have to trigger this event for updating value or does it do automatically?

                                Comment

                                Working...
                                X