Announcement

Collapse
No announcement yet.

Openweathermap.org http profil sharing !!-- Forecast Weather

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

    Openweathermap.org http profil sharing !!-- Forecast Weather

    ** I live in Canada ---Chek your metrics/imperial system**


    Here I want to share my httpGET profil to get values from openweathermap Forecast api.



    So you want to get the api key from there https://home.openweathermap.org/users/sign_up


    When you got the api key, write it at the end of this address, and replace the lat /lon values with yours

    Imp ex : https://samples.openweathermap.org/data/2.5/forecast?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae 22

    ----



    The next profile will create 133 devices. You can poll 40 ( [0] to 39] ) different hours ( 3 hours gaps each) in the total of 5 days.

    1.Here I poll 3h[0], 6h[1], 9h[2], 12h[3], 15h[4], 18h[5], 21h[6], 24h[7], 48h[15], 72h[23], 96h[31], 114h[37]
    ( why i do not poll 120[39]...or 117[38] ? Because sometimes they are not available...so 114h[37] seems to be safer.)

    Feel free to add the ForecastTime you want!

    2. The first device is your city. Then there are 11 devices per number I just listed.

    Temperature moment (time of the forecast estimate)
    Temperature unit ( here in Celsius)
    Wheather
    Description of the Wheather
    Clouds %
    rain (mm)
    Snow (mm)
    Pressure
    Humidity %
    WindSpeed (here in Km/h)
    Wind direction in degrees



    Here is my http profile :

    name:
    Code:
     Weather Forecast
    Method (outgoing) :
    Code:
     get
    Url:
    Code:
     http://api.openweathermap.org/data/2.5/forecast?lat=[B]999.439770[/B]&lon=[B]-999.481730[/B]&[B]units=metric[/B]&APPID=[B]MY_KEY [/B]

    Device name expression (optional):
    Code:
    "City" && "Temperature moment 3h" && "Temperature In 3h" && "Wheather In 3h" && "Description of the Wheather In 3h" && "Clouds In 3h" && "rain In 3h" && "Snow In 3h" && "Pressure In 3h" && "Humidity In 3h" && "WindSpeed In 3h" && "Wind direction In 3h" && "Temperature moment 6h" && "Temperature In 6h" && "Wheather In 6h" && "Description of the Wheather In 6h" && "Clouds In 6h" && "rain In 6h" && "Snow In 6h" && "Pressure In 6h" && "Humidity In 6h" && "WindSpeed In 6h" && "Wind direction In 6h" && "Temperature moment 9h" && "Temperature In 9h" && "Wheather In 9h" && "Description of the Wheather In 9h" && "Clouds In 9h" && "rain In 9h" && "Snow In 9h" && "Pressure In 9h" && "Humidity In 9h" && "WindSpeed In 9h" && "Wind direction In 9h" && "Temperature moment 12h" && "Temperature In 12h" && "Wheather In 12h" && "Description of the Wheather In 12h" && "Clouds In 12h" && "rain In 12h" && "Snow In 12h" && "Pressure In 12h" && "Humidity In 12h" && "WindSpeed In 12h" && "Wind direction In 12h" && "Temperature moment 15h" && "Temperature In 15h" && "Wheather In 15h" && "Description of the Wheather In 15h" && "Clouds In 15h" && "rain In 15h" && "Snow In 15h" && "Pressure In 15h" && "Humidity In 15h" && "WindSpeed In 15h" && "Wind direction In 15h" && "Temperature moment 18h" && "Temperature In 18h" && "Wheather In 18h" && "Description of the Wheather In 18h" && "Clouds In 18h" && "rain In 18h" && "Snow In 18h" && "Pressure In 18h" && "Humidity In 18h" && "WindSpeed In 18h" && "Wind direction In 18h" && "Temperature moment 21h" && "Temperature In 21h" && "Wheather In 21h" && "Description of the Wheather In 21h" && "Clouds In 21h" && "rain In 21h" && "Snow In 21h" && "Pressure In 21h" && "Humidity In 21h" && "WindSpeed In 21h" && "Wind direction In 21h" && "Temperature moment 24h" && "Temperature In 24h" && "Wheather In 24h" && "Description of the Wheather In 24h" && "Clouds In 24h" && "rain In 24h" && "Snow In 24h" && "Pressure In 24h" && "Humidity In 24h" && "WindSpeed In 24h" && "Wind direction In 24h" && "Temperature moment 48h" && "Temperature In 48h" && "Wheather In 48h" && "Description of the Wheather In 48h" && "Clouds In 48h" && "rain In 48h" && "Snow In 48h" && "Pressure In 48h" && "Humidity In 48h" && "WindSpeed In 48h" && "Wind direction In 48h" && "Temperature moment 72h" && "Temperature In 72h" && "Wheather In 72h" && "Description of the Wheather In 72h" && "Clouds In 72h" && "rain In 72h" && "Snow In 72h" && "Pressure In 72h" && "Humidity In 72h" && "WindSpeed In 72h" && "Wind direction In 72h" && "Temperature moment 96h" && "Temperature In 96h" && "Wheather In 96h" && "Description of the Wheather In 96h" && "Clouds In 96h" && "rain In 96h" && "Snow In 96h" && "Pressure In 96h" && "Humidity In 96h" && "WindSpeed In 96h" && "Wind direction In 96h" && "Temperature moment 114h" && "Temperature In 114h" && "Wheather In 114h" && "Description of the Wheather In 114h" && "Clouds In 114h" && "rain In 114h" && "Snow In 114h" && "Pressure In 114h" && "Humidity In 114h" && "WindSpeed In 114h" && "Wind direction In 114h"
    Device value expression (optional) :
    Code:
     JSON(input,"city.name") && JSON(input,"list[0].dt_txt") && JSON(input,"list[0].main.temp") && JSON(input,"list[0].weather[0].main") && JSON(input,"list[0].weather[0].description") && JSON(input,"list[0].clouds.all") && JSON(input,"list[0].rain.3h") && JSON(input,"list[0].snow.3h") && JSON(input,"list[0].main.pressure") && JSON(input,"list[0].main.humidity") && JSON_Num(input,"list[0].wind.speed") *3.6 && JSON(input,"list[0].wind.deg") && JSON(input,"list[1].dt_txt") && JSON(input,"list[1].main.temp") && JSON(input,"list[1].weather[0].main") && JSON(input,"list[1].weather[0].description") && JSON(input,"list[1].clouds.all") && JSON(input,"list[1].rain.3h") && JSON(input,"list[1].snow.3h") && JSON(input,"list[1].main.pressure") && JSON(input,"list[1].main.humidity") && JSON_Num(input,"list[1].wind.speed") *3.6 && JSON(input,"list[1].wind.deg") && JSON(input,"list[2].dt_txt") && JSON(input,"list[2].main.temp") && JSON(input,"list[2].weather[0].main") && JSON(input,"list[2].weather[0].description") && JSON(input,"list[2].clouds.all") && JSON(input,"list[2].rain.3h") && JSON(input,"list[2].snow.3h") && JSON(input,"list[2].main.pressure") && JSON(input,"list[2].main.humidity") && JSON_Num(input,"list[2].wind.speed") *3.6 && JSON(input,"list[2].wind.deg") && JSON(input,"list[3].dt_txt") && JSON(input,"list[3].main.temp") && JSON(input,"list[3].weather[0].main") && JSON(input,"list[3].weather[0].description") && JSON(input,"list[3].clouds.all") && JSON(input,"list[3].rain.3h") && JSON(input,"list[3].snow.3h") && JSON(input,"list[3].main.pressure") && JSON(input,"list[3].main.humidity") && JSON_Num(input,"list[3].wind.speed") *3.6 && JSON(input,"list[3].wind.deg") && JSON(input,"list[4].dt_txt") && JSON(input,"list[4].main.temp") && JSON(input,"list[4].weather[0].main") && JSON(input,"list[4].weather[0].description") && JSON(input,"list[4].clouds.all") && JSON(input,"list[4].rain.3h") && JSON(input,"list[4].snow.3h") && JSON(input,"list[4].main.pressure") && JSON(input,"list[4].main.humidity") && JSON_Num(input,"list[4].wind.speed") *3.6 && JSON(input,"list[4].wind.deg") && JSON(input,"list[5].dt_txt") && JSON(input,"list[5].main.temp") && JSON(input,"list[5].weather[0].main") && JSON(input,"list[5].weather[0].description") && JSON(input,"list[5].clouds.all") && JSON(input,"list[5].rain.3h") && JSON(input,"list[5].snow.3h") && JSON(input,"list[5].main.pressure") && JSON(input,"list[5].main.humidity") && JSON_Num(input,"list[5].wind.speed") *3.6 && JSON(input,"list[5].wind.deg") && JSON(input,"list[6].dt_txt") && JSON(input,"list[6].main.temp") && JSON(input,"list[6].weather[0].main") && JSON(input,"list[6].weather[0].description") && JSON(input,"list[6].clouds.all") && JSON(input,"list[6].rain.3h") && JSON(input,"list[6].snow.3h") && JSON(input,"list[6].main.pressure") && JSON(input,"list[6].main.humidity") && JSON_Num(input,"list[6].wind.speed") *3.6 && JSON(input,"list[6].wind.deg") && JSON(input,"list[7].dt_txt") && JSON(input,"list[7].main.temp") && JSON(input,"list[7].weather[0].main") && JSON(input,"list[7].weather[0].description") && JSON(input,"list[7].clouds.all") && JSON(input,"list[7].rain.3h") && JSON(input,"list[7].snow.3h") && JSON(input,"list[7].main.pressure") && JSON(input,"list[7].main.humidity") && JSON_Num(input,"list[7].wind.speed") *3.6 && JSON(input,"list[7].wind.deg") && JSON(input,"list[15].dt_txt") && JSON(input,"list[15].main.temp") && JSON(input,"list[15].weather[0].main") && JSON(input,"list[15].weather[0].description") && JSON(input,"list[15].clouds.all") && JSON(input,"list[15].rain.3h") && JSON(input,"list[15].snow.3h") && JSON(input,"list[15].main.pressure") && JSON(input,"list[15].main.humidity") && JSON_Num(input,"list[15].wind.speed") *3.6 && JSON(input,"list[15].wind.deg") && JSON(input,"list[23].dt_txt") && JSON(input,"list[23].main.temp") && JSON(input,"list[23].weather[0].main") && JSON(input,"list[23].weather[0].description") && JSON(input,"list[23].clouds.all") && JSON(input,"list[23].rain.3h") && JSON(input,"list[23].snow.3h") && JSON(input,"list[23].main.pressure") && JSON(input,"list[23].main.humidity") && JSON_Num(input,"list[23].wind.speed") *3.6 && JSON(input,"list[23].wind.deg") && JSON(input,"list[31].dt_txt") && JSON(input,"list[31].main.temp") && JSON(input,"list[31].weather[0].main") && JSON(input,"list[31].weather[0].description") && JSON(input,"list[31].clouds.all") && JSON(input,"list[31].rain.3h") && JSON(input,"list[31].snow.3h") && JSON(input,"list[31].main.pressure") && JSON(input,"list[31].main.humidity") && JSON_Num(input,"list[31].wind.speed") *3.6 && JSON(input,"list[31].wind.deg") && JSON(input,"list[37].dt_txt") && JSON(input,"list[37].main.temp") && JSON(input,"list[37].weather[0].main") && JSON(input,"list[37].weather[0].description") && JSON(input,"list[37].clouds.all") && JSON(input,"list[37].rain.3h") && JSON(input,"list[37].snow.3h") && JSON(input,"list[37].main.pressure") && JSON(input,"list[37].main.humidity") && JSON_Num(input,"list[37].wind.speed") *3.6 && JSON(input,"list[37].wind.deg")
    NB-----The following is ONLY applicable to people that use the metric measurement system :

    - the wind.speed value was in meter/sec. So i needed to multiply it by 3.6 to get a km/h value : JSON_Num(input,"list[0].wind.speed") *3.6

    NB-- some values wont appears in their respective Homeseer device ( unknown). you have to change the device property to allow an interval big enough for the value you will get.

    ex: if it is -5 degrees Celsius, you wont see it , you'll have to edit your device property.
    Same thing for the wind direction (ex: can be 270 degrees) , so your interval most include 0-360 here.

    NB-- Some device will be ''off'', that means there is no metric available for this device ( ex: here i can see 5mm of snow for the snow device, but i see nothing for the rain device). Feel free to remove the snow device if you don't have any snow at your place. But if you live in a place like Canada, keep both ( In the winter the snow device will get its value, but the rain wont (most of the time), And in summer we'll get the rain , but not the snow).

    ** see picture to understand the last two NBs


    ---


    Then I create an event that will trigger every |15 minutes to poll the API.
    Attached Files

    #2

    ​​​​​​​Thanks for sharing. I do recommend this one strongly to anyone who wants to get his feet wet with APIs. Very good entry level API and useful too.

    Comment


      #3
      Here is a picture with the first 3 hours forecast edited
      Attached Files

      Comment


        #4
        Yes. Looks much nicer now when you add some extra work. It is on our "to-do" list to allow users to tell Big5 what kind of attributes (text, graphics) to assign to the HS3 devices that Big5 creates. It won't be easy or perfect due to the large number of devices Big5 creates sometimes especially when parsing JSON.

        Comment


          #5
          risquare all the device have the option '' Do not update device last change time if device value does not change:'' selected...

          Some of them do not change at all. Why is the column ''last change '' updated on each poll? Do you send something like thoses

          setdeviceproperty&ref=####&property=NewDevString&value=STRIN G_VALUE
          setdeviceproperty&ref=####&property=ChangedValueORString&val ue=TRUE
          setdeviceproperty&ref=####&property=NewDevValue&value=xxxx


          Every time a profil is polled? If , yes , i am afraid the event engine wont work as supposed with those values. How do you (BIG5) insert a value into a device ? Thanks Matt

          Comment


            #6
            BTW I spent time to setup graphics for wind direction that I can share. See below Click image for larger version

Name:	Screenshot (155).png
Views:	372
Size:	118.9 KB
ID:	1278298

            Comment


              #7
              UOTE=risquare;n1278297]BTW I spent time to setup graphics for wind direction that I can share. See below [/QUOTE]

              wow those are really nice ! (better idea than the NE SE SW NW I put in the suffix ( see picture)). Can you share those graphics? Thanks.
              Attached Files

              Comment


                #8
                Originally posted by MattL0 View Post
                risquare all the device have the option '' Do not update device last change time if device value does not change:'' selected...

                Some of them do not change at all. Why is the column ''last change '' updated on each poll? Do you send something like thoses

                setdeviceproperty&ref=####&property=NewDevString&value=STRIN G_VALUE
                setdeviceproperty&ref=####&property=ChangedValueORString&val ue=TRUE
                setdeviceproperty&ref=####&property=NewDevValue&value=xxxx


                Every time a profil is polled? If , yes , i am afraid the event engine wont work as supposed with those values. How do you (BIG5) insert a value into a device ? Thanks Matt
                Maybe I am wrong, but the '' Do not update device last change time if device value does not change:'' is not respected

                Comment


                  #9
                  This is what i thought.

                  i did set this event.

                  The device '' Big5 HTTP Weather Forecast - Pressure In 3h'' did stay at 1033.3 all the time .

                  I manually pressed the ''run event'' button two times, and i received two pushover messages.

                  The event was not supposed to fire since there was no change in the value..

                  If i let the polling occur ( every 15 minutes without any intervention... the event is trigered two times... ( i received two pushover messages)
                  And again... the value is still 1033.3


                  Edit: sent this to the bug report thread . So we can continue the chat here.
                  Attached Files

                  Comment


                    #10
                    It seems that this is General HS3 issue. I think there are ways in HS3 to deal with it as there is more than one way to track value change. Big5 creates devices in a certain way. If we do something else than others may be unhappy. Remember we went full circle with the import of value as a string. Some clients asked for it and we delivered, than others didn't like it and asked for us to go back as it was originally. I personally do have hundreds of HS3 devices created/updated by Big5 and I never experience problems acting on value change or lack of change.

                    Comment


                      #11
                      Just finished .

                      Will surely add some icons in the future.

                      edit: sorry for the picture quality. But it is quite hard to get all the devices into one picture. As you can see , I was not able to show all devices into one picture... but you get the idea
                      Attached Files

                      Comment


                        #12
                        Having trouble configuring current conditions to populate - i.e., JSON(input, "list.weather.description") All other fields with numerical data show up fine. Am I missing something?

                        Comment


                          #13
                          Hello all , spend many time to work around on following problem:
                          HS3 PRO ( Ubuntu based installation) + Big5 v1.33.0.0
                          Try to get "simple" device which will show Wind Speed.
                          Configuration:

                          Big5 HTTP Profile - VERY SIMPLE:

                          Click image for larger version  Name:	1.PNG Views:	0 Size:	93.0 KB ID:	1346151


                          Name: Weather Forecast
                          Method: GET
                          URL: <correct one > - at lest return all required JSON values ( with metric)
                          Device value expressions: JSON_Num(input, "wind.speed")


                          HS3 Event: Very Simple

                          Click image for larger version  Name:	2.PNG Views:	0 Size:	94.3 KB ID:	1346152



                          And Device Created !! BUT !!:

                          Click image for larger version  Name:	3.PNG Views:	0 Size:	79.7 KB ID:	1346153

                          How to get OUT OF THIS "Dim" - BEFORE "5.1%"

                          Why devices created by Big5 - is DIMMABLE , why I cannot un-check this options ???

                          Click image for larger version  Name:	4.PNG Views:	0 Size:	94.2 KB ID:	1346154


                          Click image for larger version  Name:	5.PNG Views:	0 Size:	63.6 KB ID:	1346155


                          Something very primitive - But I cant find where is my fault , why Big5 create new device which is "Dimmable=True" ?!




                          In Case Logs files required :
                          Dec-12 13:29:29 Big5 [Big5 Plugin] [HTTP Weather Forecast - GET http://api.openweathermap.org/data/2...c81cXXXXXXXXXX IN]: 5.7
                          Dec-12 13:29:29 Big5 [Big5 Plugin] message =
                          Dec-12 13:29:29 Big5 [Big5 Plugin] profile = 848664
                          Dec-12 13:29:29 Big5 [Big5 Plugin] type = HTTP
                          Dec-12 13:29:29 Big5 [Big5 Plugin] Debugging dictionary with 3 keys
                          Dec-12 13:29:29 Event Event Trigger "Weather Get Values"
                          Dec-12 13:25:38 Big5 [Big5 Plugin] type = HTTP
                          Dec-12 13:25:38 Big5 [Big5 Plugin] [HTTP Weather Forecast - GET http://api.openweathermap.org/data/2...c43XXXXXXXXXXX IN]: 5.7
                          Dec-12 13:25:38 HSTouch Server Warning Exception on Value Change callback: Object reference not set to an instance of an object
                          Dec-12 13:25:38 Big5 [Big5 Plugin] message =
                          Dec-12 13:25:38 Big5 [Big5 Plugin] profile = 848664
                          Dec-12 13:25:38 Big5 [Big5 Plugin] Debugging dictionary with 3 keys
                          Dec-12 13:25:38 Event Event Trigger "Weather Get Values"

                          Comment


                            #14
                            Originally posted by kolka10 View Post
                            Hello all , spend many time to work around on following problem:
                            HS3 PRO ( Ubuntu based installation) + Big5 v1.33.0.0
                            Try to get "simple" device which will show Wind Speed.
                            Configuration:
                            By the end for now found ugly wor:
                            Under Big5 HTTP profile check the "Nun as string"
                            This is add windspeed value into string , and now HS3 show it like "Number" - But it String
                            So, I can't use this like a raw value for math or comparing math operations
                            But at least it now NOT show like :
                            "Dim 5.1%" ..

                            Comment


                              #15
                              Need guidance please - this : JSON(input, "weather.description")


                              Is yielding this : Click image for larger version

Name:	ugh.PNG
Views:	284
Size:	34.7 KB
ID:	1346200

                              Are the text values not correct? All other data comes through fine including location name without problem......

                              Comment

                              Working...
                              X