Difference between revisions of "Infinitime-Weather"

From PINE64
Jump to navigation Jump to search
(Fxc moved page Infinitime-Weather to User:Kieranc/Infinitime-Weather: Moved to userspace for drafting purposes)
Tag: New redirect
 
(Add explanation on how to enable weather widget on PTS watch face.)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
#REDIRECT [[User:Kieranc/Infinitime-Weather]]
Infinitime features a weather subsystem which stores weather data on the watch in a timeline which can be queried by apps or watchfaces. It can store many different types of data (see [https://github.com/InfiniTimeOrg/InfiniTime/blob/main/src/components/ble/weather/WeatherData.h here]) and each entry includes a timestamp and an expiry time. When entries expire they are removed from the timeline automatically.
 
== Sending weather data to the watch ==
 
Weather data must be sent to the watch via a companion app. Currently, [https://gitea.elara.ws/Elara6331/itd ITD] and [https://www.gadgetbridge.org Gadgetbridge]  have this functionality implemented.
 
=== ITD ===
ITD is the easiest option as the feature simply needs enabling in the config file with a location specified. It uses data from MET.no and provides one hour of data at a time.
 
=== Gadgetbridge ===
Gadgetbridge is slightly more difficult to set up as it requires a separate app to fetch the weather data. Details are available on the [https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Weather Gadgetbridge wiki].
 
== Displaying weather data ==
 
Currently there are 2 ways to display weather data on the watch, a debug app  which is disabled by default, and the PineTimeStyle watchface. To enable it, press and hold on the watch face, tap the settings icon and enable weather.
 
The easiest way to enable the debug app is to change the entry for the navigation app in DisplayApp.cpp to load the weather debug app instead:
 
<pre>
    case Apps::Navigation:
      //currentScreen = std::make_unique<Screens::Navigation>(this, systemTask->nimble().navigation());
      currentScreen = std::make_unique<Screens::Weather>(this, systemTask->nimble().weather());
      break;</pre>
 
[[Category:PineTime]]

Latest revision as of 23:16, 21 November 2023

Infinitime features a weather subsystem which stores weather data on the watch in a timeline which can be queried by apps or watchfaces. It can store many different types of data (see here) and each entry includes a timestamp and an expiry time. When entries expire they are removed from the timeline automatically.

Sending weather data to the watch

Weather data must be sent to the watch via a companion app. Currently, ITD and Gadgetbridge have this functionality implemented.

ITD

ITD is the easiest option as the feature simply needs enabling in the config file with a location specified. It uses data from MET.no and provides one hour of data at a time.

Gadgetbridge

Gadgetbridge is slightly more difficult to set up as it requires a separate app to fetch the weather data. Details are available on the Gadgetbridge wiki.

Displaying weather data

Currently there are 2 ways to display weather data on the watch, a debug app which is disabled by default, and the PineTimeStyle watchface. To enable it, press and hold on the watch face, tap the settings icon and enable weather.

The easiest way to enable the debug app is to change the entry for the navigation app in DisplayApp.cpp to load the weather debug app instead:

    case Apps::Navigation:
      //currentScreen = std::make_unique<Screens::Navigation>(this, systemTask->nimble().navigation());
      currentScreen = std::make_unique<Screens::Weather>(this, systemTask->nimble().weather());
      break;