Ubunatic Coding

Android · Local-first · Open source

Smarthome control your home devices without the cloud.

Pair an Android app with a Go command-line companion to control LG webOS televisions and manage selected AVM FRITZ!Box parental controls on your local network. Credentials stay encrypted on your device; the app includes TV discovery, QR sharing and Wake-on-LAN.

One dashboard for household devices

Flimmerkasten (LG TV)
Online on the local network; turn it off or control playback.
Quick Launch
Launch installed apps such as ARD Mediathek and Tagesschau.
TV Online Budget
Check remaining FRITZ!Box time and grant a 45-minute bonus.

Designed for privacy and simple local control

Direct TV control

Wake the TV over the network, power off through SSAP WebSocket, and control playback.

Quick app launch

Pin and launch installed TV apps such as ARD Mediathek, YouTube, and ZDF.

FRITZ!Box parental controls

Check the remaining daily online budget, grant bonus time, or block a device through TR-064.

Encrypted account transfer

Share FRITZ!Box configuration with time-limited AES-256-GCM QR codes and six-digit confirmation codes.

Restricted network scope

Android network security limits cleartext traffic to private LAN subnets and .local hosts.

No cloud or telemetry

No analytics, advertising SDKs, or third-party cloud connections; credentials stay in Android Keystore.

Smarthome v0.1.0 release artifacts

The universal APK requires Android 8.0 (API 26) or newer. Download the standalone release APK, with its SHA256SUMS and Minisign signature.

Check the checksum and signature

sha256sum -c SHA256SUMS
# Expected: smarthome-0.1.0-phase1.apk: OK

Verify the checksum file with Minisign and the release public key below. Long keys and commands scroll within their code blocks on small screens.

RWSh4EKeMIxgiaYw5jABwqGRKTRqFCoftR5iWzJJakbkqz/CwgFaLnHZ
minisign -Vm SHA256SUMS -P RWSh4EKeMIxgiaYw5jABwqGRKTRqFCoftR5iWzJJakbkqz/CwgFaLnHZ

Sideloading guide

1. Download the APK
Download the release file from this page using your mobile browser.
2. Allow installation
In Android settings, allow your browser or file manager to install unknown apps.
3. Play Protect notice
If Android shows an unrecognized-app prompt, review the details and choose Install anyway.
4. Configure local devices
In Settings, enter the TV's local IP and MAC address, and optionally the FRITZ!Box router address and credentials.

Access required for local operation

Internet and network state

Send Wake-on-LAN packets and local SSAP and TR-064 requests.

Camera (optional)

Scan encrypted QR codes; images are parsed in memory and never stored.

No background access

No location, contacts, microphone, SMS, or storage permissions.

See the privacy policy and the Impressum for details.

From TV controls to a household toolset

The Go companion made protocol behavior easier to inspect while the Android app grew to include TV discovery, QR sharing, Wake-on-LAN, and selected router controls. Read the Smarthome engineering story.

At a glance

Stack
Kotlin 2.3.21, Android/Gradle, Go 1.26.6, Cobra, LG webOS SSAP, FRITZ!Box TR-064
Milestones
FRITZ!Box internet access controls (#013, 647a770) · Go companion command-line tool (#041, 5cc87ea) · Wake-on-LAN across interfaces and routers (#057, 58d20b8, d4fb91e)
Commits
194