Skip to content

Any way to rename the host? I want to merge my devices #133

Description

@skorphil

Hi, I want to somehow merge data from my phone to tablet, so I can see it in one place.
Is it possible if hosts are unknown in the both devices?

Activity

  1. TimeToBuildBob commented on Feb 27, 2026

    @TimeToBuildBob
    Contributor

    Yes, you can merge data from multiple devices — here's how:

    How AW identifies devices: Each device creates buckets named {watcher}-{hostname}, e.g. aw-watcher-android-Pixel8 and aw-watcher-android-GalaxyTab. The hostname comes from android.os.Build.MODEL by default.

    To see all data in one place, use aw-sync (built into aw-server-rust):

    1. Enable sync on both devices: In the Android app settings, enable sync and point both devices to the same sync target (your desktop running aw-server-rust)
    2. Both devices push their data to the server
    3. The webui on the server shows a host selector dropdown — you can view data per-device or across all devices

    If your devices show as "unknown": The hostname might be defaulting to a generic value. You can check what hostname each device reports in the AW Android app's "About" or "Buckets" screen. If they both report the same hostname, their data will merge into the same buckets (which might cause overlapping events). To fix this, you'd need to ensure each device has a distinct hostname.

    Direct renaming isn't supported in the Android UI today, but if you're comfortable with the API, you can create new buckets with the desired names and copy events via the REST API:

    # Export events from old bucket
    curl http://device:5600/api/0/buckets/aw-watcher-android-unknown/events > events.json
    
    # Create new bucket on target server and import
    curl -X POST http://server:5600/api/0/buckets/aw-watcher-android-MyPhone \
      -H 'Content-Type: application/json' \
      -d '{"type": "currentwindow", "client": "aw-watcher-android", "hostname": "MyPhone"}'
    
    curl -X POST http://server:5600/api/0/buckets/aw-watcher-android-MyPhone/events \
      -H 'Content-Type: application/json' \
      -d @events.json

    The simplest path is just enabling sync on both devices — that gives you the combined view without needing to rename anything.

  2. weeebdev commented on May 17, 2026

    @weeebdev

    Yes, you can merge data from multiple devices — here's how:

    How AW identifies devices: Each device creates buckets named {watcher}-{hostname}, e.g. aw-watcher-android-Pixel8 and aw-watcher-android-GalaxyTab. The hostname comes from android.os.Build.MODEL by default.

    To see all data in one place, use aw-sync (built into aw-server-rust):

    1. Enable sync on both devices: In the Android app settings, enable sync and point both devices to the same sync target (your desktop running aw-server-rust)
    2. Both devices push their data to the server
    3. The webui on the server shows a host selector dropdown — you can view data per-device or across all devices

    If your devices show as "unknown": The hostname might be defaulting to a generic value. You can check what hostname each device reports in the AW Android app's "About" or "Buckets" screen. If they both report the same hostname, their data will merge into the same buckets (which might cause overlapping events). To fix this, you'd need to ensure each device has a distinct hostname.

    Direct renaming isn't supported in the Android UI today, but if you're comfortable with the API, you can create new buckets with the desired names and copy events via the REST API:

    # Export events from old bucket
    curl http://device:5600/api/0/buckets/aw-watcher-android-unknown/events > events.json
    
    # Create new bucket on target server and import
    curl -X POST http://server:5600/api/0/buckets/aw-watcher-android-MyPhone \
      -H 'Content-Type: application/json' \
      -d '{"type": "currentwindow", "client": "aw-watcher-android", "hostname": "MyPhone"}'
    
    curl -X POST http://server:5600/api/0/buckets/aw-watcher-android-MyPhone/events \
      -H 'Content-Type: application/json' \
      -d @events.json

    The simplest path is just enabling sync on both devices — that gives you the combined view without needing to rename anything.

    I am sorry, but how do I enable sync on android? I'm on 0.12.1 and there is no option like that
    Screenshot_20260517_125348_ActivityWatch.jpg

  3. TimeToBuildBob commented on May 17, 2026

    @TimeToBuildBob
    Contributor

    My apologies — you're right, and I was wrong. The sync feature isn't available in the Android app on 0.12.1. I assumed it was there because the server-side support landed, but the Android UI for it hasn't been built yet.

    What's actually available right now in 0.12.1: The embedded server runs locally on 127.0.0.1:5600. There's no sync UI, and no built-in way to combine data from multiple devices.

    What's coming: There's an open PR adding a network access toggle (#144) that would let you point a desktop aw-server at the phone's API. That's the first step toward sync, but it's not merged yet.

    What you can do today (manual workaround):

    1. Export the database file from both devices (it's at {filesDir}/aw-server-rust/aw-server.db)
    2. Use aw-sync on a computer to import both databases into a merged instance

    Or, if you're comfortable building from source, you could try PR #144's branch which adds the network access setting — that would let your tablet connect to your phone's server directly.

    Again, sorry for the misleading answer. I should have checked what's actually shipped before telling you to look for a feature that doesn't exist yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions