Home Assistant custom integration for Glance Clock devices via Bluetooth.
- 🔔 Send Notifications - Display custom messages with animations and sounds
- 💡 Light Control - Adjust brightness and power state
- 🔄 Switch Controls - Toggle various clock features (time mode, night mode, points display)
- 🎛️ Select Options - Choose different display modes and date formats
- 📊 Sensor Data - Monitor battery level and device information
- 🌤️ Weather Forecast - Send 24-hour weather data with color gradients
- 🔗 Bluetooth Native - Leverages Home Assistant's built-in Bluetooth integration
- Reset your Glance Clock to factory settings
- (Optional) Update the firmware
- Synchronize the time using the bluetooth-cts Home Assistant add-on
- Pair with your system's Bluetooth
Before setup, perform a complete factory reset on your Glance Clock. This ensures a clean state for pairing and configuration.
To reset your Glance Clock:
Hold the reset button + Power button. Let go of the reset button and keep holding the Power button until the LED blinking pattern changes. Then release it as well.
NOTE: this will also reset the firmware back to the factory version.
If you wish to update your Glance Clock's firmware, you can use the nRF Connect app to perform a Device Firmware Update (DFU):
- Android: nRF Connect on Google Play
- iOS: nRF Connect on App Store
- Download the latest firmware from the
/firmwaredirectory in this repository. - Open the nRF Connect app on your phone.
- Go to the Scanner tab and find your Glance Clock in the device list.
- Tap Connect to connect to your Glance Clock.
- Tap the DFU icon (circular arrows) in the top right corner.
- Select Distribution packet (ZIP) when prompted.
- Browse and select the firmware ZIP file you downloaded.
- Tap Start to begin the update. Wait for the update to complete (do not disconnect). The clock will restart automatically when finished.
For more details, see the original instructions.
The Glance Clock requires time synchronization before use. This can now be done easily using the bluetooth-cts Home Assistant add-on, which provides a GATT Current Time Service (CTS) server for your clock to sync with.
To set the time:
- Install the bluetooth-cts add-on in Home Assistant (follow the instructions in that repository).
- Start the add-on so it advertises the Current Time Service (CTS) over Bluetooth.
- Once your Glance Clock is connected in the next step, the time will automatically sync.
- Leave the add-on running to keep your clock in sync with Home Assistant time.
After resetting and setting the time, pair the clock with Home Assistant.
Open a terminal in Home Assistant (Settings → System → Terminal) and run:
bluetoothctl
agent on
default-agent
scan onWait until you see your Glance Clock appear (look for "Glance" in the name). Note the MAC address (format: XX:XX:XX:XX:XX:XX), then:
pair XX:XX:XX:XX:XX:XXReplace XX:XX:XX:XX:XX:XX with your actual MAC address. When prompted, enter the PIN shown on the Glance Clock display, then exit:
exitYour Glance Clock is now paired and ready to add to Home Assistant.
- Open HACS in Home Assistant
- Click on "Integrations"
- Click the three dots in the top right corner
- Select "Custom repositories"
- Add the repository URL:
https://github.com/PorlyBe/glance_clock_ha - Select category "Integration"
- Click "Add"
- Find "Glance Clock" in the integration list and click "Download"
- Restart Home Assistant
- Download the latest release from the releases page
- Extract the
glance_clockfolder to yourcustom_componentsdirectory - Restart Home Assistant
After pairing your Glance Clock, Home Assistant will automatically discover it.
- Go to Settings → Devices & Services
- You should see a "Discovered" notification for your Glance Clock
- Click Configure on the discovered device
- Follow the prompts to complete setup
If the device doesn't appear automatically, you can manually add it:
- Click Add Integration
- Search for "Glance Clock"
- Select your Glance Clock from the list of discovered devices
- Click Submit
Once configured, the integration provides:
- Light - Control brightness and power state
- Switches - Time Mode, Night Mode, Always Show Points
- Selects - Date Format options
- Sensors - Battery level percentage
- Notify - Send notifications via
notify.glance_clock
You can include icons in your Glance Clock notifications by inserting special codes in your message text. To add an icon, use [icon:CODE] in your message (for example: Wake up! [icon:128]).
See the full list of available icon codes and their meanings in ICONS.md.
Send a custom notification to your Glance Clock.
Service: notify.glance_clock
service: notify.glance_clock
data:
message: "Meeting in 5 minutes!"
data:
title: "Calendar Reminder"
animation: "pulse"
sound: "bells"
color: "blue"
priority: "high"Parameters:
message(required): Notification texttitle: Notification titleanimation: Animation effect (none, pulse, wave, fire, wheel, flower, sun, thunderstorm, cloud)sound: Sound effect (none, waves, rise, bells, radar, hello, complete)color: Display color (white, red, blue, lime, dark_orange, blue_violet, lawn_green)priority: Priority level (low, medium, high, critical)text_modifier: Text effect (none, repeat, rapid, delay)
Configure display settings on your Glance Clock.
Service: glance_clock.update_display_settings
service: glance_clock.update_display_settings
data:
nightModeEnabled: true
displayBrightness: 128
timeModeEnable: true
timeFormat12: false
dateFormat: 1Send weather forecast data with color gradients.
Service: glance_clock.send_forecast
service: glance_clock.send_forecast
data:
weather_entity: weather.home
max_color: "#FF0000"
min_color: "#0000FF"Retrieve current device settings.
Service: glance_clock.read_current_settings
Force refresh all entity states.
Service: glance_clock.refresh_entities
Automatically update your Glance Clock with weather forecast data whenever it changes.
- Go to Settings → Automations & Scenes
- Click Create Automation → Create new automation
- Click the three dots (⋮) and select Edit in YAML
- Paste the following configuration:
alias: Weather Update
description: Update Glance Clock with weather forecast
triggers:
- trigger: state
entity_id:
- weather.forecast_home # Replace with your weather entity
conditions: []
actions:
- action: glance_clock.send_forecast
data:
weather_entity: weather.forecast_home # Replace with your weather entity
max_color: [255, 102, 0] # Orange for hot temperatures
min_color: [0, 120, 255] # Blue for cold temperatures
min_value: 0 # Minimum temperature scale (°C)
max_value: 40 # Maximum temperature scale (°C)
- action: glance_clock.send_notice
data:
text: Weather Updated
animation: sun
sound: none
color: blue
priority: medium
mode: single- Update
weather.forecast_hometo match your weather entity - Adjust
min_valueandmax_valueto suit your local temperature range - Click Save and give your automation a name
The clock will now automatically display a 24-hour temperature forecast with color gradients whenever the weather updates!
- Ensure your Glance Clock is paired with your system via Bluetooth (see Prerequisites)
- Verify the MAC address is correct (use
bluetoothctl devicesto list paired devices) - Check that Home Assistant's Bluetooth integration is enabled and working
- Restart Home Assistant and try again
- The Glance Clock may have gone to sleep or moved out of range
- Check Bluetooth adapter signal strength
- Re-pair the device if connection issues persist
- Ensure the Glance Clock is powered on and connected
- Check that the message text is not empty
- Try sending a simple notification without optional parameters
- Some Glance Clock models may not support battery reporting via Bluetooth
- Battery data updates periodically, not in real-time
This integration uses protocol and implementation insights from Hypfer's Glance Clock project. Special thanks to the original developers for documenting the Glance Clock protocol and providing a foundation for Bluetooth communication.
This project is licensed under the MIT License - see the LICENSE file for details.