From d76173697a959c8d7fda7aa72668d42be420a2c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 31 Aug 2024 02:54:21 +0100 Subject: [PATCH] devices documentation --- README.md | 63 ++++++++++++++++-- doc/images/51ojy7qoMmL._SL1500_.jpg | Bin 0 -> 13416 bytes ...dlink-universal-remote-irwifi-rm4-mini.jpg | Bin 0 -> 7560 bytes .../images/integrations-broadlink.png | Bin .../images/portainer-has.png | Bin doc/images/shellysmartplug.png | Bin 0 -> 48120 bytes 6 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 doc/images/51ojy7qoMmL._SL1500_.jpg create mode 100644 doc/images/broadlink-universal-remote-irwifi-rm4-mini.jpg rename {documentation => doc}/images/integrations-broadlink.png (100%) rename {documentation => doc}/images/portainer-has.png (100%) create mode 100644 doc/images/shellysmartplug.png diff --git a/README.md b/README.md index 0ceb986..ea1ddd9 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,17 @@ Welcome to my home assistant setup repo. -This repository serves to document and maintain the home assistant that runs in my house. +This repository serves to document and maintain home assistant running in my house. -Currently this runs in a docker container hosted at [homesrv01](#hosting). All necessary docker containers (example: mqtt, speech recognition) are hosted on the same [server](#hosting). +Currently runs on docker hosted at [homesrv01](#hosting). All necessary docker containers (example: mqtt, speech recognition) are hosted on the same [server](#hosting). ## Table of Contents +- [Devices](#devices) + - [Broadlink - RM4 Pro](#broadlink---rm4-pro) + - [ZigBee - Smart Plugs](#zigbee---smart-plugs) + - [Shelly - Smart Plugs](#shelly---smart-plugs) - [Integrations](#integrations) - [mqtt](#mqtt) - [zigbee2mqtt](#zigbee2mqtt) @@ -30,6 +34,47 @@ Currently this runs in a docker container hosted at [homesrv01](#hosting). All n - [Hosting](#hosting) - [Editing and Maintenance](#editing-and-maintenance) +## Devices + +### Broadlink - RM4 Pro + +Using as Ir blaster for living room devices and temperature meter. + +![ZigBee Smart Plugs](doc/images/broadlink-universal-remote-irwifi-rm4-mini.jpg) + +**Integrations:** + +- [broadlink](#broadlink) + +### ZigBee - Smart Plugs + +Currently controlling: + +- bed room lights +- dining table lights + +![ZigBee Smart Plugs](doc/images/51ojy7qoMmL._SL1500_.jpg) + +**Integrations:** + +- [zigbee2mqtt](#zigbee2mqtt) +- [mqtt](#mqtt) + +### Shelly - Smart Plugs + +Currently controlling and monitoring: + +- brutus.dev.lan (proxmox server) +- office light + +![Shelly - Smart Plug](doc/images/shellysmartplug.png) + +Devices connected to IOT lan. + +**Integrations:** + +- [shelly](#shelly) + ## Integrations ### mqtt @@ -52,7 +97,7 @@ Using SONOFF Universal Zigbee 3.0 USB Dongle Plus. The [broadlink integration](https://www.home-assistant.io/integrations/broadlink) allows you to control and monitor Broadlink universal remotes, smart plugs, power strips, switches and sensors. -![broadlink integration](./documentation/images/integrations-broadlink.png) +![broadlink integration](./doc/images/integrations-broadlink.png) Devices: @@ -94,7 +139,6 @@ Docker containers currently hosted at [homesrv01.dev.lan](https://git.limbosolut - [Home Assistant - Official integration documentation](https://www.home-assistant.io/integrations/cast) - [Official git repo](https://github.com/home-assistant/core/tree/dev/homeassistant/components/cast) - ### LG webOS Smart TV The webostv platform allows you to control a LG webOS Smart TV. @@ -142,6 +186,14 @@ Proxmox VE Custom Integration Home Assistant Integrate Shelly devices into Home Assistant. +[Devices](#shelly---smart-plugs) connected to IOT lan. + +**Firewall rules:** + +- allow TCP:80(HTTP) from server homesrv to vlan IOT +- allow TCP:5683(CoIoT) from vlan IOT to server homesrv +- allow TCP:80(HTTP) from vlan IOT to server homesrv + **Links:** - [Home Assistant - Official integration documentation](https://www.home-assistant.io/integrations/shelly) @@ -182,7 +234,6 @@ The time and date (time_date) integration allows one to create sensors for the c - [Home Assistant - Official integration documentation](https://www.home-assistant.io/integrations/time_date) - ### Xbox The Xbox integration allows you to control Xbox One (or newer) consoles from Home Assistant. @@ -199,7 +250,7 @@ Currently hosted on [homesrv01.dev.lan](marcio.fernandes/homesrv01.dev.lan). Using [portainer stack (name: has)](./docker-compose.yaml) connected to this repo. -![alt text](documentation/images/portainer-has.png) +![portainer - home assistant](documentation/images/portainer-has.png) Docker volumes should be restored from backups. Repo version of docker volumes exists only for history and documentation. diff --git a/doc/images/51ojy7qoMmL._SL1500_.jpg b/doc/images/51ojy7qoMmL._SL1500_.jpg new file mode 100644 index 0000000000000000000000000000000000000000..53fd87e8778aaa429312d691fee0156d5a39b25c GIT binary patch literal 13416 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 literal 0 HcmV?d00001 diff --git a/doc/images/broadlink-universal-remote-irwifi-rm4-mini.jpg b/doc/images/broadlink-universal-remote-irwifi-rm4-mini.jpg new file mode 100644 index 0000000000000000000000000000000000000000..65c8b8de14a11d8a8fb1162e10a374a158348419 GIT binary patch literal 7560 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 YH1CJ<7v~b+8A-`nZQ_WYIej<&0sje7aR2}S literal 0 HcmV?d00001 diff --git a/documentation/images/integrations-broadlink.png b/doc/images/integrations-broadlink.png similarity index 100% rename from documentation/images/integrations-broadlink.png rename to doc/images/integrations-broadlink.png diff --git a/documentation/images/portainer-has.png b/doc/images/portainer-has.png similarity index 100% rename from documentation/images/portainer-has.png rename to doc/images/portainer-has.png diff --git a/doc/images/shellysmartplug.png b/doc/images/shellysmartplug.png new file mode 100644 index 0000000000000000000000000000000000000000..ba8ca4562f668d22be25fc77a6b6bac74247c234 GIT binary patch literal 48120 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