WU for WM: Weather Underground for Watchmaker Instructions Version: 2019-04-30 Original: 2016-04-03 If you are updating please read the Release Notes file! Introduction: This tool will allow you to automatically get weather data from the Weather Underground and make it available to any Watchmaker face. The file contains two ways for you to do this. You can install and run the WU for WM app or you can import the Profiles, Tasks, and Scenes into the Tasker app. You should not do both. Using the app is simpler in almost every way, but those who are already comfortable with Tasker may prefer to use it instead. General Instructions: You will need an API key from the Weather Underground. You can choose whether or not to get astronomy and tide data. This allows you to use fewer API calls and make the process run a little faster. Select whether to get or skip each type of data from the Settings screen. Setting up the App: You need to have Watchmaker installed on your phone. Install the "WU for WM" app that is included in this file and run it. It will ask you to fill in your Weather Underground API Key the first time it starts. Once you have it setup and running you can leave the main screen by tapping the "Continue" button. Do not hit the "Stop Updating" button unless you want the app to no longer perform updates! You can return to the Settings screen at any time from the main screen. From there you can change your API Key, select English or Metric units, force a fixed location, choose whether to get some types of data, reset all your data, or shut down the app. Any time the app is running, and not just during updates, an alarm clock icon will show in the central part of the status bar at the top of your screen. That is a side effect of the "reliable alarms" setting that is needed to provide reliable updates under Marshmallow. Setting up Tasker: You need to have Tasker and Watchmaker installed on your phone. In Tasker, long-hold on the Home icon in the bottom left until the menu pops up. Tap Import and select the WU for WM Project XML file. The first time the task runs it will ask you to fill in your Weather Underground API Key. You can also select your update interval, select English or Metric units, force a fixed location, or choose whether to get some types of data. If you need to change your Settings later go to the Tasks tab, open the Weather Settings task, and click the "Play" button. Your location will be determined by GPS, if you have it turned on, or cell if not. However, you can also force a fixed location by entering a latitude,longitude pair, a US State/City pair (TX/Austin), a Country/City pair (Australia/Melbourne), or a US zipcode (78753) from the Settings screen. If your phone is running Marshmallow or later you may need to enable the "Reliable Alarms" in the Tasker Preferences to make sure that your updates trigger. Using the Weather Underground Data inside Watchmaker: You should now be all set up. Your phone will automatically get new weather data from the Weather Underground every 30 minutes based on your current GPS location. You can simply reference the new tags below from within Watchmaker just like you do the built-in tags. This app now supplies two sets of tags. The original "twu" tags and the newer "tww" tags that are designed to be used with multiple weather sources. Here are the Watchmaker tags and descriptions: Tag Description --- ----------- {twu_version} Version {twu_as} Running as Tasker or app ("Tasker" or "app") {twu_interval} Update Interval (minutes, -1 if disabled) {twu_units} Units Type ("English" or "Metric") {twu_update_time} Update Time (YYYY-MM-DD hh.mm, not zero-padded) {twu_update_location} Location that is being sent to Weather Underground {twu_update_astronomy} Retrieval setting for Astronomy ("Get" or "Skip") {twu_update_tides} Retrieval setting for Tides ("Get" or "Skip") {twu_overall_errors} Errors since last success in updating {twu_conditions_errors} Errors since last success in updating Conditions {twu_forecast_errors} Errors since last success in updating Forecast {twu_astronomy_errors} Errors since last success in updating Astronomy {twu_tides_errors} Errors since last success in updating Tides Conditions: {twu_time} Current Observation Time {twu_location} Current Observation Location Full {twu_location_area} Current Observation Location Area (may be blank) {twu_location_city} Current Observation Location City {twu_location_state} Current Observation Location State {twu_location_country} Current Observation Location Country {twu_display_location} Current Display Location Full {twu_display_location_area} Current Display Location Area (may be blank) {twu_display_location_city} Current Display Location City {twu_display_location_state} Current Display Location State {twu_display_location_country} Current Display Location Country {twu_temperature} Current Temperature (F or C) {twu_feelslike} Current Feels Like (Apparent) Temperature (F or C) {twu_humidity} Current Relative Humidity (%) {twu_dewpoint} Current Dewpoint (F or C) {twu_pressure} Current Air Pressure (inHg or mb) {twu_pressure_trend} Current Air Pressure Trend ("+", "0", or "-") {twu_wind_bearing} Current Wind Bearing (deg) {twu_wind_speed} Current Wind Speed (mph or kph) {twu_wind_gusts} Current Wind Gusts (mph or kph) {twu_visibility} Current Visibility (mi or km) {twu_description} Current Weather Description {twu_icon} Current WU Weather Icon (name) {twu_icon_id} Current WU Weather Icon ID (1 to 20) {twu_icon4x4_id} Current WU Weather Icon ID (1 to 16) {twu_wm_icon_id} Current Watchmaker Icon (1 to 9) Forecast: {twu_temperature_high} Today's High Temperature (F or C) {twu_temperature_low} Today's Low Temperature (F or C) {twu_date_p1} Period 1 (today) Date (yyyy-mm-dd, zero padded) {twu_time_p1} Period 1 (today) Time (hh:mm, zero-padded) {twu_epoch_p1} Period 1 (today) Epoch (seconds since 1970-01-01 0:00) {twu_temperature_high_p1} Period 1 (today) High Temperature (F or C) {twu_temperature_low_p1} Period 1 (today) Low Temperature (F or C) {twu_description_p1} Period 1 (today) Weather Description {twu_icon_p1} Period 1 (today) WU Weather Icon (name) {twu_icon_id_p1} Period 1 (today) WU Weather Icon ID (1 to 20) {twu_icon4x4_id_p1} Period 1 (today) WU Weather Icon ID (1 to 16) {twu_wm_icon_id_p1} Period 1 (today) Watchmaker Icon (1 to 9) {twu_pop_p1} Period 1 (today) Probability of Precipitation (%) {twu_qpf_p1} Period 1 (today) Quantitative Precipitation Forecast (in or mm) {twu_snow_p1} Period 1 (today) Snow Forecast (in or cm) {twu_date_p2} Period 2 (+1 day) Date (yyyy-mm-dd, zero padded) {twu_time_p2} Period 2 (+1 day) Time (hh:mm, zero-padded) {twu_epoch_p2} Period 2 (+1 day) Epoch (seconds since 1970-01-01 00:00) {twu_temperature_high_p2} Period 2 (+1 day) High Temperature (F or C) {twu_temperature_low_p2} Period 2 (+1 day) Low Temperature (F or C) {twu_description_p2} Period 2 (+1 day) Weather Description {twu_icon_p2} Period 2 (+1 day) WU Weather Icon (name) {twu_icon_id_p2} Period 2 (+1 day) WU Weather Icon ID (1 to 20) {twu_icon4x4_id_p2} Period 2 (+1 day) WU Weather Icon ID (1 to 16) {twu_wm_icon_id_p2} Period 2 (+1 day) Watchmaker Icon (1 to 9) {twu_pop_p2} Period 2 (+1 day) Probability of Precipitation (%) {twu_qpf_p2} Period 2 (+1 day) Quantitative Precipitation Forecast (in or mm) {twu_snow_p2} Period 2 (+1 day) Snow Forecast (in or cm) {twu_date_p3} Period 3 (+2 days) Date (yyyy-mm-dd, zero padded) {twu_time_p3} Period 3 (+2 days) Time (hh:mm, zero-padded) {twu_epoch_p3} Period 3 (+2 days) Epoch (seconds since 1970-01-01 00:00) {twu_temperature_high_p3} Period 3 (+2 days) High Temperature (F or C) {twu_temperature_low_p3} Period 3 (+2 days) Low Temperature (F or C) {twu_description_p3} Period 3 (+2 days) Weather Description {twu_icon_p3} Period 3 (+2 days) WU Weather Icon (name) {twu_icon_id_p3} Period 3 (+2 days) WU Weather Icon ID (1 to 20) {twu_icon4x4_id_p3} Period 3 (+2 days) WU Weather Icon ID (1 to 16) {twu_wm_icon_id_p3} Period 3 (+2 days) Watchmaker Icon (1 to 9) {twu_pop_p3} Period 3 (+2 days) Probability of Precipitation (%) {twu_qpf_p3} Period 3 (+2 days) Quantitative Precipitation Forecast (in or mm) {twu_snow_p3} Period 3 (+2 days) Snow Forecast (in or cm) {twu_date_p4} Period 4 (+3 days) Date (yyyy-mm-dd, zero padded) {twu_time_p4} Period 4 (+3 days) Time (hh:mm, zero-padded) {twu_epoch_p4} Period 4 (+3 days) Epoch (seconds since 1970-01-01 00:00) {twu_temperature_high_p4} Period 4 (+3 days) High Temperature (F or C) {twu_temperature_low_p4} Period 4 (+3 days) Low Temperature (F or C) {twu_description_p4} Period 4 (+3 days) Weather Description {twu_icon_p4} Period 4 (+3 days) WU Weather Icon (name) {twu_icon_id_p4} Period 4 (+3 days) WU Weather Icon ID (1 to 20) {twu_icon4x4_id_p4} Period 4 (+3 days) WU Weather Icon ID (1 to 16) {twu_wm_icon_id_p4} Period 4 (+3 days) Watchmaker Icon (1 to 9) {twu_pop_p4} Period 4 (+3 days) Probability of Precipitation (%) {twu_qpf_p4} Period 4 (+3 days) Quantitative Precipitation Forecast (in or mm) {twu_snow_p4} Period 4 (+3 days) Snow Forecast (in or cm) Astronomy: {twu_moon_age} Moon Age (0 to 30 days) {twu_moon_age_dec} Moon Age Decimal of cycle (0 to <1) {twu_moon_age_wm} Moon Age Watchmaker (1 to 9) {twu_moon_rise} Moon Rise (hh:mm, zero-padded) {twu_moon_rise_dec} Moon Rise Decimal of day (0 to <1) {twu_moon_set} Moon Set (hh:mm, zero-padded) {twu_moon_set_dec} Moon Set Decimal of day (0 to <1) {twu_sun_rise} Sun Rise (hh:mm, zero-padded) {twu_sun_rise_dec} Sun Rise Decimal of day (0 to <1) {twu_sun_set} Sun Set (hh:mm, zero-padded) {twu_sun_set_dec} Sun Set Decimal of day (0 to <1) Tides: {twu_tide_location} Tide Location {twu_tide_height_max} Tide Maximum Height (ft or m) {twu_tide_height_min} Tide Minimum Height (ft or m) {twu_tide_high_date} Tide Next High Tide Date (yyyy-mm-dd, zero padded) {twu_tide_high_time} Tide Next High Tide Time (hh:mm, zero-padded) {twu_tide_high_time_dec} Tide Next High Tide Time Decimal of day (0 to <1) {twu_tide_high_epoch} Tide Next High Tide Epoch (seconds since 1970-01-01 00:00) {twu_tide_high_height} Tide Next High Tide Height (ft or m) {twu_tide_low_date} Tide Next Low Tide Date (yyyy-mm-dd, zero padded) {twu_tide_low_time} Tide Next Low Tide Time (hh:mm, zero-padded) {twu_tide_low_time_dec} Tide Next Low Tide Time Decimal of day (0 to <1) {twu_tide_low_epoch} Tide Next Low Tide Epoch (seconds since 1970-01-01 00:00) {twu_tide_low_height} Tide Next Low Tide Height (ft or m) {twu_tide_count} Count of Tide Periods in List {twu_tide_date_p1} Period 1 Tide Date (yyyy-mm-dd, zero padded) {twu_tide_time_p1} Period 1 Tide Time (hh:mm, zero-padded) {twu_tide_epoch_p1} Period 1 Tide Epoch (seconds since 1970-01-01 00:00) {twu_tide_type_p1} Period 1 Tide Type (High Tide, Low Tide) {twu_tide_height_p1} Period 1 Tide Height (ft or m) {twu_tide_date_p} Period Tide Date (yyyy-mm-dd, zero padded) {twu_tide_time_p} Period Tide Time (hh:mm, zero-padded) {twu_tide_epoch_} Period Tide Epoch (seconds since 1970-01-01 00:00) {twu_tide_type_p} Period Tide Type (High Tide, Low Tide) {twu_tide_height_p} Period Tide Height (ft or m) Events: non-tide events {twu_event_count} Count of Event Periods in List {twu_event_date_p1} Period 1 Event Date (yyyy-mm-dd, zero padded) {twu_event_time_p1} Period 1 Event Time (hh:mm, zero-padded) {twu_event_epoch_p1} Period 1 Event Epoch (seconds since 1970-01-01 00:00) {twu_event_type_p1} Period 1 Event Type (Sunrise, Sunset, Moonrise, Moonset, etc.) {twu_event_date_p} Period Event Time (yyyy-mm-dd, zero padded) {twu_event_time_p} Period Event Date (hh:mm, zero-padded) {twu_event_epoch_p} Period Event Epoch (seconds since 1970-01-01 00:00) {twu_event_type_p} Period Event Type (Sunrise, Sunset, Moonrise, Moonset, etc.) WW (Weather for Watchmaker): {tww_version} {tww_as} {tww_interval} {tww_errors} {tww_units} {tww_check_epoch} {tww_update_epoch} {tww_observation_epoch} {tww_description} {tww_icon} {tww_icon_wu_id} {tww_icon_wm_id} {tww_temperature} {tww_temperature_high} {tww_temperature_low} {tww_temperature_apparent} {tww_temperature_dewpoint} {tww_humidity} {tww_pressure} {tww_pressure_trend} {tww_wind_speed} {tww_wind_bearing} {tww_wind_gusts} {tww_visibility} {tww_precip_probability} {tww_precip_rate} {tww_moon_age_dec} {tww_moon_age_days} {tww_moon_age_wm} {tww_moon_rise_time} {tww_moon_rise_dec} {tww_moon_set_time} {tww_moon_set_dec} {tww_sun_rise_time} {tww_sun_rise_dec} {tww_sun_set_time} {tww_sun_set_dec} {tww_days} {tww_observation_epoch_d?} {tww_descrition_d?} {tww_icon_d?} {tww_icon_ds_d?} {tww_icon_wu_id_d?} {tww_icon_wm_id_d?} {tww_temperature_high_d?} {tww_temperature_low_d?} {tww_precip_probability_d?} {tww_precip_rate_d?} Notes: Values which are not available are reported as a space (" ") and will need to be handled by whatever formulas reference them in Watchmaker. The "tide" tags represent actual tidal events with associated heights. The "event" tags represent non-tidal events such as astronomical events. The number of periods of tide and event data varies, but both will always start with 1. The is not literal, but is meant to represent a period number such as 2. The Icon ID values are provided to make it easier to build icon "sprites" in Watchmaker: {twu_wm_icon_id} provides values from 1 to 9 that correspond to the standard 3x3 weather icon elements used in Watchmaker. {twu_icon4x4_id} provides vales from 1 to 16 for implementing a 4x4 icon element that covers the daytime portion of the WU icon set fairly well. {twu_icon_id} provides values from 1 to 20 for implementing the complete daytime WU icon set. Watchmaker Icon Positions for Weather Underground Icons: WU 4x4 WM Name -- --- -- ---- 1 1 8 chanceflurries 2 2 5 chancerain 3 3 8 chancesleet 4 4 8 chancesnow 5 5 7 chancetstorms 6 6 1 clear 7 7 4 cloudy 8 8 8 flurries 9 9 9 fog 10 9 9 hazy 11 10 3 mostlycloudy 12 11 3 partlycloudy 13 11 2 partlysunny 14 12 2 mostlysunny 15 13 6 rain 16 14 8 sleet 17 15 8 snow 18 6 1 sunny 19 16 7 tstorms 20 6 1 unknown Troubleshooting: If you are getting errors you should go to the main apps screen and tap on any of the error counts. You will see information including the response that was received from Weather Underground. If you are unable to figure out the problem please email a copy of the error screen to support@apps.aslanrefuge.org and I will try to help. Note that the "error" section of a response is always present and will have a type of "unknownfeature" when things are working normally. Conclusion: I have tried to make this as simple as possible to setup. Please email problems, questions, suggestions, and feedback to support@apps.aslanrefuge.org. I'm sure there are bugs to be found. :-} I owe credit and thanks to /u/Terrman for the post "A Reliable and Accurate GPS Weather Solution" and to Simon Chester for the article "Ultimate guide to Tasker App". --Bob Quinlan support@apps.aslanrefuge.org http://apps.aslanrefuge.org Copyright © 2016-2019 by Bob Quinlan