Skip to content

SenswaveLabs/Mobile

Repository files navigation

Senswave

Mobile app for managing your DIY smart home devices.

Get it on Google Play

Stats

Build Latest Release Open Issues Stars Commits License

Built With

React Native TypeScript Expo Expo Router React Native Paper SignalR

What is Senswave?

Senswave is a smart home platform for DIY MQTT devices. The mobile app connects to a self-hosted or cloud Senswave backend and lets you control devices, monitor sensor data, and configure automations — all in real time.

Core capabilities:

  • Device control — send commands to any MQTT device via configurable operations and dashboard widgets
  • Live dashboards — real-time widget updates over SignalR; no manual refresh needed
  • Automations — create rules that trigger device operations when sensor values cross thresholds
  • Home sharing — join or share homes with role-based access (Display / Manage)
  • Data sources — connect MQTT brokers and map topic payloads to device operations via JSON path selectors
  • Google Sign-In — authenticate with Google or email/password; tokens stored securely on-device

Example Use Cases

Control a custom LED controller

A Raspberry Pi Pico LED controller supports multiple modes and brightness levels. Through Senswave you switch modes and adjust brightness from a dashboard slider or radio widget — no manual MQTT publish needed.

Auto-off lights when room is empty

A presence sensor publishes occupancy data. An automation turns off all lights when occupancy drops to zero — saves energy without any manual action.

Monitor sensor data in real time

Temperature, humidity, or any numeric sensor streams to a Display widget on your dashboard. Values update the moment the broker receives a new message.

How to Use

Prerequisites

  • Node.js + npm
  • Android Studio + Java 17
  • Expo CLI

Setup

  1. Copy .env.template to .env and fill in your backend URL and Google OAuth client IDs.
  2. Install dependencies and build:
npm i
npx expo run:android   # first build — compiles native code
npm start              # subsequent runs

See AGENTS.md for full architecture reference, environment variables, and development conventions.

Contributing

Pull requests are welcome.

  • Read AGENTS.md for architecture concepts and development conventions before writing code.
  • Report bugs using the Bug report issue template.
  • Propose features using the Feature request issue template.

License

Distributed under the Apache License 2.0. See LICENSE for details.

Releases

No releases published

Contributors