To install this binding you will need to install Eclipse IoT Market add-on first under MISC in Paper UI. The binding, called “Australian BOM Weather Forecast Binding”, should then appear in Bindings page for you to install.
Items mapping with channel linking attached for easier configuration. You will need to name your BOM Thing ID as “default” or rename in the file accordingly.
You will have to uninstall the binding and the reinstall. If you are still not getting new fields, etc then you may have to remove your Thing and add again.
What is the actual name of the binding, I hand edit the text files and never use PaperUI for that? I’ve tried all parts of “market:binding-4491519” which PaperUI lists it as, also tried market:bom, but none seem to work.
EDIT: And how would the thing be configured in the .things text file, field names etc. ?
EDIT2: OK, worked out the things fields by inspecting the json files, so that works now, just need the binding name now.
BTW: I have a ton of items and sitemap definitions defined, but that all works if I install the binding from PaperUI, it’s just I don’t do things that way, I hate the abstraction and often delete the config, chache, jasondb and tmp directories to flush out dead wood. Much, much prefer the more direct direct editing approach. Makes it easier to backup that way too.
@Andrew_Pawelski, here’s a plain sitemap, the commented lines are just one’s I don’t care to see:
Group item=wForecast {
Frame label="Currently" {
Text item=BOM_Day1_WeatherStation
Text item=BOM_Day1_ObservationDateAndTime
Text item=BOM_Day1_AirTemperature
Text item=BOM_Day1_ApparentTemperature
Text item=BOM_Day1_RelativeHumidityPercentage
Text item=BOM_Day1_AtmosphericPressureHPa
Text item=BOM_Day1_DewPoint
Text item=BOM_Day1_WindDirection
Text item=BOM_Day1_WindDirectionDegrees
// Text item=BOM_Day1_WindSpeedKnots
Text item=BOM_Day1_WindSpeedKmH
}
Frame {
Text item=BOM_Day1_ForecastDateAndTime
// Text item=BOM_Day1_ForecastIcon
Text item=BOM_Day1_ForecastPrecis
// Text item=BOM_Day1_ForecastDescription
// Text item=BOM_Day1_MinimumTemperature
Text item=BOM_Day1_MaximumTemperature
Text item=BOM_Day1_ProbabilityOfPrecipitation
Text item=BOM_Day1_CurrentRainfallMm
Text item=BOM_Day1_Rainfall24HourMm
// Text item=BOM_Day1_MinimumPrecipitation
// Text item=BOM_Day1_MaximumPrecipitation
// Text item=BOM_Day1_UVAlert
}
Frame {
Text item=BOM_Day2_ForecastDateAndTime
// Text item=BOM_Day2_ForecastIcon
Text item=BOM_Day2_ForecastPrecis
// Text item=BOM_Day2_ForecastDescription
Text item=BOM_Day2_MaximumTemperature
Text item=BOM_Day2_MinimumTemperature
Text item=BOM_Day2_ProbabilityOfPrecipitation
// Text item=BOM_Day2_MinimumPrecipitation
Text item=BOM_Day2_MaximumPrecipitation
// Text item=BOM_Day2_UVAlert
}
Frame {
Text item=BOM_Day3_ForecastDateAndTime
// Text item=BOM_Day3_ForecastIcon
Text item=BOM_Day3_ForecastPrecis
// Text item=BOM_Day3_ForecastDescription
Text item=BOM_Day3_MaximumTemperature
Text item=BOM_Day3_MinimumTemperature
Text item=BOM_Day3_ProbabilityOfPrecipitation
// Text item=BOM_Day3_MinimumPrecipitation
Text item=BOM_Day3_MaximumPrecipitation
// Text item=BOM_Day3_UVAlert
}
............ REAPEAT DAY 2 UP UNTIL DAY 8
Frame {
Text item=BOM_Day8_ForecastDateAndTime
// Text item=BOM_Day8_ForecastIcon
Text item=BOM_Day8_ForecastPrecis
// Text item=BOM_Day8_ForecastDescription
Text item=BOM_Day8_MaximumTemperature
Text item=BOM_Day8_MinimumTemperature
Text item=BOM_Day8_ProbabilityOfPrecipitation
// Text item=BOM_Day8_MinimumPrecipitation
Text item=BOM_Day8_MaximumPrecipitation
// Text item=BOM_Day8_UVAlert
}
}
Here’s a fancier sitemap that used the “ForecastIcon” item as the icon for that forecast’s “ForecastDateAndTime”:
Group item=wForecast {
Frame label="Currently" {
Text item=BOM_Day1_WeatherStation
Text item=BOM_Day1_ObservationDateAndTime
Text item=BOM_Day1_AirTemperature
Text item=BOM_Day1_ApparentTemperature
Text item=BOM_Day1_RelativeHumidityPercentage
Text item=BOM_Day1_AtmosphericPressureHPa
Text item=BOM_Day1_DewPoint
Text item=BOM_Day1_WindDirection
Text item=BOM_Day1_WindDirectionDegrees
// Text item=BOM_Day1_WindSpeedKnots
Text item=BOM_Day1_WindSpeedKmH
}
Frame {
Text item=BOM_Day1_ForecastDateAndTime icon="weather_sunny_32" visibility=[BOM_Day1_ForecastIcon=="sunny"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_clear_32" visibility=[BOM_Day1_ForecastIcon=="clear"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_mostly_sunny_32" visibility=[BOM_Day1_ForecastIcon=="mostly-sunny"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_cloudy_32" visibility=[BOM_Day1_ForecastIcon=="cloudy"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_hazy_32" visibility=[BOM_Day1_ForecastIcon=="hazy"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_light_rain_32" visibility=[BOM_Day1_ForecastIcon=="light-rain"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_windy_32" visibility=[BOM_Day1_ForecastIcon=="windy"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_fog_32" visibility=[BOM_Day1_ForecastIcon=="fog"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_shower_32" visibility=[BOM_Day1_ForecastIcon=="shower"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_rain_32" visibility=[BOM_Day1_ForecastIcon=="rain"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_dusty_32" visibility=[BOM_Day1_ForecastIcon=="dusty"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_frost_32" visibility=[BOM_Day1_ForecastIcon=="frost"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_snow_32" visibility=[BOM_Day1_ForecastIcon=="snow"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_storm_32" visibility=[BOM_Day1_ForecastIcon=="storm"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_light_shower_32" visibility=[BOM_Day1_ForecastIcon=="light-shower"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_heavy_shower_32" visibility=[BOM_Day1_ForecastIcon=="heavy-shower"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_cyclone_32" visibility=[BOM_Day1_ForecastIcon=="cyclone"]
Text item=BOM_Day1_ForecastDateAndTime icon="weather_na_32" visibility=[BOM_Day1_ForecastIcon==""]
// Text item=BOM_Day1_ForecastIcon
Text item=BOM_Day1_ForecastPrecis
// Text item=BOM_Day1_ForecastDescription
// Text item=BOM_Day1_MinimumTemperature
Text item=BOM_Day1_MaximumTemperature
Text item=BOM_Day1_ProbabilityOfPrecipitation
Text item=BOM_Day1_CurrentRainfallMm
Text item=BOM_Day1_Rainfall24HourMm
// Text item=BOM_Day1_MinimumPrecipitation
// Text item=BOM_Day1_MaximumPrecipitation
// Text item=BOM_Day1_UVAlert
}
Frame {
Text item=BOM_Day2_ForecastDateAndTime icon="weather_sunny_32" visibility=[BOM_Day2_ForecastIcon=="sunny"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_clear_32" visibility=[BOM_Day2_ForecastIcon=="clear"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_mostly_sunny_32" visibility=[BOM_Day2_ForecastIcon=="mostly-sunny"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_cloudy_32" visibility=[BOM_Day2_ForecastIcon=="cloudy"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_hazy_32" visibility=[BOM_Day2_ForecastIcon=="hazy"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_light_rain_32" visibility=[BOM_Day2_ForecastIcon=="light-rain"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_windy_32" visibility=[BOM_Day2_ForecastIcon=="windy"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_fog_32" visibility=[BOM_Day2_ForecastIcon=="fog"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_shower_32" visibility=[BOM_Day2_ForecastIcon=="shower"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_rain_32" visibility=[BOM_Day2_ForecastIcon=="rain"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_dusty_32" visibility=[BOM_Day2_ForecastIcon=="dusty"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_frost_32" visibility=[BOM_Day2_ForecastIcon=="frost"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_snow_32" visibility=[BOM_Day2_ForecastIcon=="snow"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_storm_32" visibility=[BOM_Day2_ForecastIcon=="storm"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_light_shower_32" visibility=[BOM_Day2_ForecastIcon=="light-shower"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_heavy_shower_32" visibility=[BOM_Day2_ForecastIcon=="heavy-shower"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_cyclone_32" visibility=[BOM_Day2_ForecastIcon=="cyclone"]
Text item=BOM_Day2_ForecastDateAndTime icon="weather_na_32" visibility=[BOM_Day2_ForecastIcon==""]
// Text item=BOM_Day2_ForecastIcon
Text item=BOM_Day2_ForecastPrecis
// Text item=BOM_Day2_ForecastDescription
Text item=BOM_Day2_MaximumTemperature
Text item=BOM_Day2_MinimumTemperature
Text item=BOM_Day2_ProbabilityOfPrecipitation
// Text item=BOM_Day2_MinimumPrecipitation
Text item=BOM_Day2_MaximumPrecipitation
// Text item=BOM_Day2_UVAlert
}
Frame {
Text item=BOM_Day3_ForecastDateAndTime icon="weather_sunny_32" visibility=[BOM_Day3_ForecastIcon=="sunny"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_clear_32" visibility=[BOM_Day3_ForecastIcon=="clear"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_mostly_sunny_32" visibility=[BOM_Day3_ForecastIcon=="mostly-sunny"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_cloudy_32" visibility=[BOM_Day3_ForecastIcon=="cloudy"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_hazy_32" visibility=[BOM_Day3_ForecastIcon=="hazy"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_light_rain_32" visibility=[BOM_Day3_ForecastIcon=="light-rain"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_windy_32" visibility=[BOM_Day3_ForecastIcon=="windy"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_fog_32" visibility=[BOM_Day3_ForecastIcon=="fog"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_shower_32" visibility=[BOM_Day3_ForecastIcon=="shower"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_rain_32" visibility=[BOM_Day3_ForecastIcon=="rain"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_dusty_32" visibility=[BOM_Day3_ForecastIcon=="dusty"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_frost_32" visibility=[BOM_Day3_ForecastIcon=="frost"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_snow_32" visibility=[BOM_Day3_ForecastIcon=="snow"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_storm_32" visibility=[BOM_Day3_ForecastIcon=="storm"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_light_shower_32" visibility=[BOM_Day3_ForecastIcon=="light-shower"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_heavy_shower_32" visibility=[BOM_Day3_ForecastIcon=="heavy-shower"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_cyclone_32" visibility=[BOM_Day3_ForecastIcon=="cyclone"]
Text item=BOM_Day3_ForecastDateAndTime icon="weather_na_32" visibility=[BOM_Day3_ForecastIcon==""]
// Text item=BOM_Day3_ForecastIcon
Text item=BOM_Day3_ForecastPrecis
// Text item=BOM_Day3_ForecastDescription
Text item=BOM_Day3_MaximumTemperature
Text item=BOM_Day3_MinimumTemperature
Text item=BOM_Day3_ProbabilityOfPrecipitation
// Text item=BOM_Day3_MinimumPrecipitation
Text item=BOM_Day3_MaximumPrecipitation
// Text item=BOM_Day3_UVAlert
}
............ REAPEAT DAY 2 UP UNTIL DAY 8
Frame {
Text item=BOM_Day8_ForecastDateAndTime icon="weather_sunny_32" visibility=[BOM_Day4_ForecastIcon=="sunny"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_clear_32" visibility=[BOM_Day4_ForecastIcon=="clear"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_mostly_sunny_32" visibility=[BOM_Day4_ForecastIcon=="mostly-sunny"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_cloudy_32" visibility=[BOM_Day4_ForecastIcon=="cloudy"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_hazy_32" visibility=[BOM_Day4_ForecastIcon=="hazy"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_light_rain_32" visibility=[BOM_Day4_ForecastIcon=="light-rain"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_windy_32" visibility=[BOM_Day4_ForecastIcon=="windy"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_fog_32" visibility=[BOM_Day4_ForecastIcon=="fog"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_shower_32" visibility=[BOM_Day4_ForecastIcon=="shower"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_rain_32" visibility=[BOM_Day4_ForecastIcon=="rain"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_dusty_32" visibility=[BOM_Day4_ForecastIcon=="dusty"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_frost_32" visibility=[BOM_Day4_ForecastIcon=="frost"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_snow_32" visibility=[BOM_Day4_ForecastIcon=="snow"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_storm_32" visibility=[BOM_Day4_ForecastIcon=="storm"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_light_shower_32" visibility=[BOM_Day4_ForecastIcon=="light-shower"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_heavy_shower_32" visibility=[BOM_Day4_ForecastIcon=="heavy-shower"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_cyclone_32" visibility=[BOM_Day4_ForecastIcon=="cyclone"]
Text item=BOM_Day8_ForecastDateAndTime icon="weather_na_32" visibility=[BOM_Day4_ForecastIcon==""]
// Text item=BOM_Day8_ForecastIcon
Text item=BOM_Day8_ForecastPrecis
// Text item=BOM_Day8_ForecastDescription
Text item=BOM_Day8_MaximumTemperature
Text item=BOM_Day8_MinimumTemperature
Text item=BOM_Day8_ProbabilityOfPrecipitation
// Text item=BOM_Day8_MinimumPrecipitation
Text item=BOM_Day8_MaximumPrecipitation
// Text item=BOM_Day8_UVAlert
}
}
You’d expect Adelaide to keep their records up to date, the reason I asked is maybe some of the country towns might be a little lax in updating the records. If it’s not in the xml files, not sure what’s happening, hopefully Tom will have some ideas.
Aha not just Adelaide then - I have been using a python script to do what this binding is doing and use the last reported minimum if there isnt one but would prefer to go with this binding
I checked the XML quite thoroughly (I think). In my case the min temp data doesn’t seem to ever be there but yeah I noticed over the course of the day even the max drops off
The data on the BOM website must get the data from somewhere but I just don’t know where from
I have never seen min temp available in Perth myself. Max temp usually drops off at night (after 9pm? not sure). After this time the website/app displays tomorrow’s min and max. For the rest of the new day I think the min temp is retained from the switch over.
I can mimic the logic as implemented on the website if you guys want. What do you think? Or do you prefer the real min temp as encountered during the day? Or whichever one of the two is lowest?