From 310705820f498667aee6b481ff53bf8c25091c52 Mon Sep 17 00:00:00 2001 From: "Community Hass.io Add-ons Bot" Date: Wed, 16 May 2018 20:16:34 +0000 Subject: [PATCH] :tada: Release of add-on Happy Bubbles 0.1.0 --- README.md | 23 +++++++++++++++ happy-bubbles/CHANGELOG.md | 1 + happy-bubbles/README.md | 56 +++++++++++++++++++++++++++++++++++++ happy-bubbles/config.json | 53 +++++++++++++++++++++++++++++++++++ happy-bubbles/icon.png | Bin 0 -> 5031 bytes happy-bubbles/logo.png | Bin 0 -> 5191 bytes 6 files changed, 133 insertions(+) create mode 100644 happy-bubbles/CHANGELOG.md create mode 100644 happy-bubbles/README.md create mode 100644 happy-bubbles/config.json create mode 100644 happy-bubbles/icon.png create mode 100644 happy-bubbles/logo.png diff --git a/README.md b/README.md index aa00007c..5afffabf 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,19 @@ A secure and fast FTP server for Hass.io [:books: FTP add-on documentation][addon-doc-ftp] +### ✓ [Happy Bubbles][addon-happy-bubbles] + +![Latest Version][happy-bubbles-version-shield] +![Supports armhf Architecture][happy-bubbles-armhf-shield] +![Supports aarch64 Architecture][happy-bubbles-aarch64-shield] +![Supports amd64 Architecture][happy-bubbles-amd64-shield] +![Supports i386 Architecture][happy-bubbles-i386-shield] +![Docker Pulls][happy-bubbles-pulls-shield] + +Presence detection server for Happy Bubbles Bluetooth beacon-based presence detection system. + +[:books: Happy Bubbles add-on documentation][addon-doc-happy-bubbles] + ### ✓ [Home Assistant Control Panel][addon-control-panel] ![Latest Version][control-panel-version-shield] @@ -240,6 +253,7 @@ on the correct GitHub repository matching the add-on. - [Open an issue for the add-on: AppDaemon][appdaemon3-issue] - [Open an issue for the add-on: Example][example-issue] - [Open an issue for the add-on: FTP][ftp-issue] +- [Open an issue for the add-on: Happy Bubbles][happy-bubbles-issue] - [Open an issue for the add-on: Home Assistant Control Panel][control-panel-issue] - [Open an issue for the add-on: Homebridge][homebridge-issue] - [Open an issue for the add-on: IDE][ide-issue] @@ -342,6 +356,15 @@ SOFTWARE. [ftp-amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg [ftp-armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg [ftp-i386-shield]: https://img.shields.io/badge/i386-yes-green.svg +[addon-happy-bubbles]: https://github.com/hassio-addons/addon-happy-bubbles/tree/v0.1.0 +[addon-doc-happy-bubbles]: https://github.com/hassio-addons/addon-happy-bubbles/blob/v0.1.0/README.md +[happy-bubbles-issue]: https://github.com/hassio-addons/addon-happy-bubbles/issues +[happy-bubbles-version-shield]: https://img.shields.io/badge/version-v0.1.0-blue.svg +[happy-bubbles-pulls-shield]: https://img.shields.io/docker/pulls/hassioaddons/happy-bubbles-armhf.svg +[happy-bubbles-aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg +[happy-bubbles-amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg +[happy-bubbles-armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg +[happy-bubbles-i386-shield]: https://img.shields.io/badge/i386-yes-green.svg [addon-control-panel]: https://github.com/hassio-addons/addon-control-panel/tree/v1.1.0 [addon-doc-control-panel]: https://github.com/hassio-addons/addon-control-panel/blob/v1.1.0/README.md [control-panel-issue]: https://github.com/hassio-addons/addon-control-panel/issues diff --git a/happy-bubbles/CHANGELOG.md b/happy-bubbles/CHANGELOG.md new file mode 100644 index 00000000..fc331b5a --- /dev/null +++ b/happy-bubbles/CHANGELOG.md @@ -0,0 +1 @@ +🎉 Initial add-on release \ No newline at end of file diff --git a/happy-bubbles/README.md b/happy-bubbles/README.md new file mode 100644 index 00000000..a43467b8 --- /dev/null +++ b/happy-bubbles/README.md @@ -0,0 +1,56 @@ +# Community Hass.io Add-ons: Happy Bubbles + +[![Release][release-shield]][release] ![Project Stage][project-stage-shield] ![Project Maintenance][maintenance-shield] + +[![Discord][discord-shield]][discord] [![Community Forum][forum-shield]][forum] + +[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee] + +Presence detection server for Happy Bubbles Bluetooth beacon-based +presence detection system. + +## About + +This add-on is a server that subscribes to MQTT topics that the "Happy Bubbles" +Bluetooth Beacon Presence Detectors publish to. It checks to see which of the +detectors found the strongest signal for a particular beacon, and then lets +you access that info either over an API, or a web interface. + +It is designed to be used as a home-automation presence detection system. +If you install the detectors through-out a home and family members carry +beacons around the house, you can program your home automation hubs to +take certain actions depending on who entered or left certain rooms. + +This add-on also publishes changes in location to a particular topic. +So you can program your hub to listen for these and make the desired changes +as they happen, to not have to keep polling it. + +[Click here for the full documentation][docs] + +## WARNING! THIS IS A BETA VERSION! + +This Hass.io Add-ons repository contains beta releases of add-ons. + +- They might stop working at any time. +- They could have a negative impact on your system. + +This repository was created for: + +- Anybody willing to test. +- Anybody interested in trying out upcoming add-ons or add-on features. + +If you are more interested in stable releases of our add-ons: + + + +[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg +[buymeacoffee]: https://www.buymeacoffee.com/frenck +[discord-shield]: https://img.shields.io/discord/330944238910963714.svg +[discord]: https://discord.gg/c5DvZ4e +[docs]: https://github.com/hassio-addons/addon-happy-bubbles/blob/v0.1.0/README.md +[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg +[forum]: https://community.home-assistant.io/t/community-hass-io-add-on-happy-bubbles/53511?u=frenck +[maintenance-shield]: https://img.shields.io/maintenance/yes/2018.svg +[project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg +[release-shield]: https://img.shields.io/badge/version-v0.1.0-blue.svg +[release]: https://github.com/hassio-addons/addon-happy-bubbles/tree/v0.1.0 \ No newline at end of file diff --git a/happy-bubbles/config.json b/happy-bubbles/config.json new file mode 100644 index 00000000..a9795be7 --- /dev/null +++ b/happy-bubbles/config.json @@ -0,0 +1,53 @@ +{ + "name": "Happy Bubbles", + "version": "0.1.0", + "slug": "happy-bubbles", + "description": "Presence detection server for Happy Bubbles Bluetooth beacon-based presence detection system.", + "url": "https://community.home-assistant.io/t/community-hass-io-add-on-happy-bubbles/53511?u=frenck", + "webui": "[PROTO:ssl]://[HOST]:[PORT:5555]", + "startup": "services", + "arch": [ + "aarch64", + "amd64", + "armhf", + "i386" + ], + "boot": "auto", + "hassio_api": true, + "homeassistant_api": false, + "host_network": true, + "map": [ + "ssl" + ], + "ports": { + "5555/tcp": 5555 + }, + "options": { + "log_level": "info", + "ssl": false, + "certfile": "fullchain.pem", + "keyfile": "privkey.pem", + "ipv6": false, + "mqtt_host": "homeassistant", + "mqtt_port": 1883, + "mqtt_client_id": "happy_bubbles", + "mqtt_username": "", + "mqtt_password": "" + }, + "schema": { + "log_level": "match(^(trace|debug|info|notice|warning|error|fatal)$)", + "ssl": "bool", + "certfile": "str", + "keyfile": "str", + "ipv6": "bool", + "mqtt_host": "str", + "mqtt_port": "port", + "mqtt_client_id": "str", + "mqtt_username": "str", + "mqtt_password": "str" + }, + "environment": { + "LOG_FORMAT": "{LEVEL}: {MESSAGE}" + }, + "image": "hassioaddons/happy-bubbles-{arch}" +} \ No newline at end of file diff --git a/happy-bubbles/icon.png b/happy-bubbles/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..784bc030f0c882255d0322f5639039f8f896407c GIT binary patch literal 5031 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 literal 0 HcmV?d00001 diff --git a/happy-bubbles/logo.png b/happy-bubbles/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6dea5f5bbf4934c715250831671ccee16a0b2ae5 GIT binary patch literal 5191 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 BaMJ() literal 0 HcmV?d00001