mirror of
https://github.com/sudoxnym/sleepd.git
synced 2026-04-14 19:47:29 +00:00
styled readme
This commit is contained in:
parent
7ca0571d76
commit
b61f04e3e8
1 changed files with 44 additions and 19 deletions
63
README.md
63
README.md
|
|
@ -1,21 +1,35 @@
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|
<img src="brands/icon.png" width="128" height="128" alt="sleepd icon">
|
||||||
|
|
||||||
# sleepd
|
# sleepd
|
||||||
|
|
||||||
> real-time sleep state tracking for home assistant via mqtt
|
**real-time sleep state tracking for home assistant**
|
||||||
|
|
||||||
[](https://hacs.xyz/docs/faq/custom_repositories)
|
[](https://hacs.xyz/docs/faq/custom_repositories)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
|
||||||
|
*processes sleep mqtt messages from android apps and exposes states, events, and controls to home assistant - automate your smart home based on whether you're awake or asleep.*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## what it does
|
</div>
|
||||||
|
|
||||||
sleepd processes sleep-related mqtt messages from android apps that track sleep in real time. it exposes sleep states, events, and controls to home assistant - letting you automate your smart home based on whether you're awake or asleep.
|
## ✨ features
|
||||||
|
|
||||||
|
- **wake status sensor** — `awake` or `asleep` based on configurable thresholds
|
||||||
|
- **sleep stage tracking** — light, deep, rem, awake
|
||||||
|
- **alarm controls** — dismiss, snooze, skip via HA buttons
|
||||||
|
- **sound detection** — snore, talk, cough events
|
||||||
|
- **lullaby control** — playback status and stop button
|
||||||
|
- **disturbance alerts** — apnea and anti-snoring events
|
||||||
|
|
||||||
|
## 📱 compatible apps
|
||||||
|
|
||||||
**compatible apps:**
|
|
||||||
- [sleep as android](https://sleep.urbandroid.org/) (primary)
|
- [sleep as android](https://sleep.urbandroid.org/) (primary)
|
||||||
- any app that publishes sleep events via mqtt in a compatible format
|
- any app that publishes sleep events via mqtt
|
||||||
|
|
||||||
## sensors
|
## 📊 sensors
|
||||||
|
|
||||||
| sensor | description |
|
| sensor | description |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|
|
@ -28,7 +42,7 @@ sleepd processes sleep-related mqtt messages from android apps that track sleep
|
||||||
| lullaby | lullaby playback status |
|
| lullaby | lullaby playback status |
|
||||||
| state | raw event from last mqtt message |
|
| state | raw event from last mqtt message |
|
||||||
|
|
||||||
## buttons
|
## 🎮 buttons
|
||||||
|
|
||||||
*requires home assistant companion app*
|
*requires home assistant companion app*
|
||||||
|
|
||||||
|
|
@ -37,7 +51,9 @@ sleepd processes sleep-related mqtt messages from android apps that track sleep
|
||||||
- sleep tracking start / stop / pause / resume
|
- sleep tracking start / stop / pause / resume
|
||||||
- sleep tracking start with smart alarm
|
- sleep tracking start with smart alarm
|
||||||
|
|
||||||
## installation
|
## 📥 installation
|
||||||
|
|
||||||
|
### option 1: hacs (recommended)
|
||||||
|
|
||||||
1. add this repo to HACS custom repositories:
|
1. add this repo to HACS custom repositories:
|
||||||
```
|
```
|
||||||
|
|
@ -48,11 +64,15 @@ sleepd processes sleep-related mqtt messages from android apps that track sleep
|
||||||
|
|
||||||
3. restart home assistant
|
3. restart home assistant
|
||||||
|
|
||||||
4. add integration via UI or click below:
|
4. add integration via UI:
|
||||||
|
|
||||||
[](https://my.home-assistant.io/redirect/config_flow_start/?domain=saas)
|
[](https://my.home-assistant.io/redirect/config_flow_start/?domain=saas)
|
||||||
|
|
||||||
## configuration
|
### option 2: manual
|
||||||
|
|
||||||
|
copy `custom_components/saas` to your HA `custom_components` directory
|
||||||
|
|
||||||
|
## ⚙️ configuration
|
||||||
|
|
||||||
| option | description |
|
| option | description |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|
|
@ -64,7 +84,7 @@ sleepd processes sleep-related mqtt messages from android apps that track sleep
|
||||||
| sleep states | which states indicate being asleep |
|
| sleep states | which states indicate being asleep |
|
||||||
| mobile app | companion app target for buttons (optional) |
|
| mobile app | companion app target for buttons (optional) |
|
||||||
|
|
||||||
## mqtt message format
|
## 📡 mqtt setup
|
||||||
|
|
||||||
sleepd expects json messages with an `event` field:
|
sleepd expects json messages with an `event` field:
|
||||||
|
|
||||||
|
|
@ -77,9 +97,9 @@ sleepd expects json messages with an `event` field:
|
||||||
{"event": "rem"}
|
{"event": "rem"}
|
||||||
```
|
```
|
||||||
|
|
||||||
## sleep as android setup
|
### sleep as android config
|
||||||
|
|
||||||
1. open sleep as android > settings > services > automation > MQTT
|
1. open sleep as android → settings → services → automation → MQTT
|
||||||
|
|
||||||
2. connection string:
|
2. connection string:
|
||||||
```
|
```
|
||||||
|
|
@ -90,9 +110,8 @@ sleepd expects json messages with an `event` field:
|
||||||
|
|
||||||
4. enable automatic tracking
|
4. enable automatic tracking
|
||||||
|
|
||||||
## compatible wearables
|
## ⌚ tested wearables
|
||||||
|
|
||||||
tested with sleep as android:
|
|
||||||
- xiaomi mi band 7 (via notify for mi band)
|
- xiaomi mi band 7 (via notify for mi band)
|
||||||
- garmin fenix 7x (via garmin alternative)
|
- garmin fenix 7x (via garmin alternative)
|
||||||
- amazfit gtr3 pro
|
- amazfit gtr3 pro
|
||||||
|
|
@ -108,10 +127,16 @@ awk -F ", " '{print $17}' | grep authKey | tail -1 | awk -F "=" '{print $2}'
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## changelog
|
## 📜 license
|
||||||
|
|
||||||
**1.0.0** - rebranded, removed next alarm sensor, generic mqtt focus
|
MIT — do whatever you want with it
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|
made by [sudoxnym](https://sudoxreboot.com) ⚡
|
||||||
|
|
||||||
*formerly known as saas*
|
*formerly known as saas*
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue