Watchface: ForeCal Reloaded (Weather Forecast & Calendar) by Skylar Sadlier

ForeCal Reloaded (Weather Forecast & Calendar) by Skylar Sadlier

:party: There’s a new watchface on the Rebble App Store!

Go check it out in the App Store!

:pebble-orange: Aplite screenshots:

:pebble-time-red: Basalt screenshots:

Expand

:pebble-time-round-14-rainbow: Chalk screenshots:

Expand

:pebble-2-aqua: Diorite screenshots:

Expand
P.S.: I’m just a helpful robot that posted this. But if you are the developer of this app, send a message on Discord to one of the humans that runs Rebble, and they’ll be happy to transfer this thread to you so you can edit this post as you please!
2 Likes

This is great to see this effort to update this for new weather APIs! I especially like the idea of using the NWS API in US locations.

How exactly are you personally using the remote sync of the battery feature? I think it’s interesting but I’d be curious if you have a use case for why you built it.

1 Like

Nicely done! Very solid upgrade.

1 Like

I wanted a way to get the charge state and % into Home Assistant so I could track battery life as well as create automations such as notification for when I need to charge my watch. This was really helpful for my older Pebble Time that only lasted a couple days and now with my new Core 2 Duo I want to see how long it lasts on a single charge.

I currently have it post to Node-RED which then creates the entities in Home Assistant. Here is the flow I use:

[{“id”:“d4a5df806beb6eb5”,“type”:“group”,“z”:“pebble-timeline-flow”,“name”:“Pebble Time Battery Sync”,“style”:{“label”:true},“nodes”:[“def5cd0cf332c53d”,“574070e89339e19d”,“3bab52caf8f92f75”,“cee883a8a834ac6e”,“266714bd47b552a3”,“4d532e3626abf2b5”,“b5caa58dd88e9b3d”,“713cbeb05a63dd59”],“x”:174,“y”:1319,“w”:1092,“h”:182},{“id”:“def5cd0cf332c53d”,“type”:“http in”,“z”:“pebble-timeline-flow”,“g”:“d4a5df806beb6eb5”,“name”:“”,“url”:“/pebble/battery”,“method”:“post”,“upload”:false,“swaggerDoc”:“”,“x”:300,“y”:1400,“wires”:[[“cee883a8a834ac6e”,“713cbeb05a63dd59”]]},{“id”:“574070e89339e19d”,“type”:“debug”,“z”:“pebble-timeline-flow”,“g”:“d4a5df806beb6eb5”,“name”:“Debug Request”,“active”:true,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“true”,“targetType”:“full”,“statusVal”:“”,“statusType”:“auto”,“x”:740,“y”:1360,“wires”:},{“id”:“3bab52caf8f92f75”,“type”:“http response”,“z”:“pebble-timeline-flow”,“g”:“d4a5df806beb6eb5”,“name”:“”,“statusCode”:“200”,“headers”:{},“x”:1180,“y”:1400,“wires”:},{“id”:“cee883a8a834ac6e”,“type”:“switch”,“z”:“pebble-timeline-flow”,“g”:“d4a5df806beb6eb5”,“name”:“Authenticate”,“property”:“req.headers.authorization”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“Bearer YOUR_TOKEN_HERE”,“vt”:“str”},{“t”:“else”}],“checkall”:“true”,“repair”:false,“outputs”:2,“x”:530,“y”:1400,“wires”:[[“574070e89339e19d”,“4d532e3626abf2b5”],[“266714bd47b552a3”]]},{“id”:“266714bd47b552a3”,“type”:“http response”,“z”:“pebble-timeline-flow”,“g”:“d4a5df806beb6eb5”,“name”:“”,“statusCode”:“401”,“headers”:{},“x”:720,“y”:1460,“wires”:},{“id”:“4d532e3626abf2b5”,“type”:“ha-sensor”,“z”:“pebble-timeline-flow”,“g”:“d4a5df806beb6eb5”,“name”:“Pebble Watch Battery”,“entityConfig”:“e5d03d994bfc9eec”,“version”:0,“state”:“payload.battery_percent”,“stateType”:“msg”,“attributes”:,“inputOverride”:“allow”,“outputProperties”:,“x”:760,“y”:1400,“wires”:[[“b5caa58dd88e9b3d”]]},{“id”:“b5caa58dd88e9b3d”,“type”:“ha-binary-sensor”,“z”:“pebble-timeline-flow”,“g”:“d4a5df806beb6eb5”,“name”:“Pebble Watch Charging”,“entityConfig”:“1e39065148c6fd25”,“version”:0,“state”:“payload.is_charging”,“stateType”:“msg”,“attributes”:,“inputOverride”:“allow”,“outputProperties”:,“x”:990,“y”:1400,“wires”:[[“3bab52caf8f92f75”]]},{“id”:“713cbeb05a63dd59”,“type”:“debug”,“z”:“pebble-timeline-flow”,“g”:“d4a5df806beb6eb5”,“name”:“Debug Request”,“active”:true,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“true”,“targetType”:“full”,“statusVal”:“”,“statusType”:“auto”,“x”:520,“y”:1460,“wires”:},{“id”:“e5d03d994bfc9eec”,“type”:“ha-entity-config”,“server”:“233a9c63.e2baf4”,“deviceConfig”:“574428e633c30873”,“name”:“Pebble Watch Battery”,“version”:6,“entityType”:“sensor”,“haConfig”:[{“property”:“name”,“value”:“Pebble Watch Battery”},{“property”:“icon”,“value”:“mdi:battery”},{“property”:“entity_picture”,“value”:“”},{“property”:“entity_category”,“value”:“”},{“property”:“device_class”,“value”:“”},{“property”:“unit_of_measurement”,“value”:“%”},{“property”:“state_class”,“value”:“”}],“resend”:false,“debugEnabled”:false},{“id”:“1e39065148c6fd25”,“type”:“ha-entity-config”,“server”:“233a9c63.e2baf4”,“deviceConfig”:“574428e633c30873”,“name”:“Pebble Watch Charging”,“version”:6,“entityType”:“binary_sensor”,“haConfig”:[{“property”:“name”,“value”:“Pebble Watch Charging”},{“property”:“icon”,“value”:“mdi:battery-charging-100”},{“property”:“entity_picture”,“value”:“”},{“property”:“entity_category”,“value”:“”},{“property”:“device_class”,“value”:“”}],“resend”:false,“debugEnabled”:false},{“id”:“233a9c63.e2baf4”,“type”:“server”,“name”:“Home Assistant”,“version”:5,“addon”:false,“rejectUnauthorizedCerts”:true,“ha_boolean”:“y|yes|true|on|home|open”,“connectionDelay”:true,“cacheJson”:true,“heartbeat”:false,“heartbeatInterval”:“30”,“areaSelector”:“friendlyName”,“deviceSelector”:“friendlyName”,“entitySelector”:“friendlyName”,“statusSeparator”:“at: “,“statusYear”:“hidden”,“statusMonth”:“short”,“statusDay”:“numeric”,“statusHourCycle”:“h23”,“statusTimeFormat”:“h:m”,“enableGlobalContextStore”:true},{“id”:“574428e633c30873”,“type”:“ha-device-config”,“name”:“Pebble Watch”,“hwVersion”:””,“manufacturer”:“Node-RED”,“model”:“”,“swVersion”:“”}]

It looks like this:

This all started as a GitHub issue on my other Home Assistant WS app: Syncing health/battery data to Home Assistant · Issue #4 · skylord123/pebble-home-assistant-ws · GitHub

Was looking into ways to get health & battery data into HA and figured a watch face was the best approach with the current limitations. Haven’t added health data yet as I am just playing around with battery as a proof-of-concept.

1 Like

:heart: Update alert!

:party: Skylar Sadlier just released version 6.0 of ForeCal Reloaded (Weather Forecast & Calendar)!

Go check it out!

Release notes

  • Fix issue with weather not updating after quiet time ends when weather was set to not pull during quiet time
  • Fix issue with weather not always updating properly
  • Add the ability for Remote Timeline Sync to restore remote timeline support for the watch
  • Fix issue with timeline sync sometimes being skipped due to timer jitter

More information about the remote timeline sync here:
ForeCal/docs/timeline-sync/README.md at master · skylord123/ForeCal · GitHub

:partying_face: Update alert!

:party: Skylar Sadlier just released version 6.1 of ForeCal Reloaded (Weather Forecast & Calendar)!

Go check it out!

Release notes

New watch support

  • Pebble Time 2, Pebble 2 Duo and Pebble Round 2 are now supported natively. The watchface draws at each watch’s real resolution, so you no longer need to turn on display upscaling on a Pebble Time 2. Weather icons and the battery and bluetooth indicators were redrawn for the larger screens, and the clock is sized to match. Nothing changes on the existing watches.

Fixes

  • Settings could be wiped and reset to defaults if the phone stopped the app partway through saving. Settings are now written with a backup copy, and a damaged config is recovered from that backup instead of starting over.
  • Fixed a crash when opening the watchface caused by corrupted saved data.
  • Fixed day/night mode getting stuck in the wrong mode after a missed sunrise or sunset.
  • Fixed the forecast going stale for hours after quiet time ended.
  • Fixed searching for a location by name failing.

Full release notes:
Release v6.1 · skylord123/ForeCal · GitHub