diff --git a/Makefile b/Makefile index d4b36fd4c..04dd91458 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ netlify: netlify-dependencies netlify-api html copy-svg2png python3 travis.py webserver: html - cd "$(BUILDDIR)/html" && python3 -m http.server + cd "_build/html" && python3 -m http.server # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). diff --git a/cookbook/images/mirabella-genio-b22-rgbw-homeassistant.jpg b/cookbook/images/mirabella-genio-b22-rgbw-homeassistant.jpg new file mode 100644 index 000000000..7ba9f7441 Binary files /dev/null and b/cookbook/images/mirabella-genio-b22-rgbw-homeassistant.jpg differ diff --git a/cookbook/images/mirabella-genio-b22-rgbw.jpg b/cookbook/images/mirabella-genio-b22-rgbw.jpg new file mode 100644 index 000000000..ed6a16d3d Binary files /dev/null and b/cookbook/images/mirabella-genio-b22-rgbw.jpg differ diff --git a/cookbook/mirabella-genio-bulb.rst b/cookbook/mirabella-genio-bulb.rst new file mode 100644 index 000000000..4448b8d00 --- /dev/null +++ b/cookbook/mirabella-genio-bulb.rst @@ -0,0 +1,269 @@ +Mirabella Genio Bulbs +===================== + +The Mirabella Genio is a tuya based smart bulb sold by Kmart in Australia. + +.. figure:: images/mirabella-genio-b22-rgbw.jpg + :align: center + :width: 50.0% + +Originally intended to be used with their companion app once flashed using `tuya-convert `__ ESPHome generated +firmware can be uploaded allowing you to control the bulbs via Home Assistant. + +1. Create the ESPHome Firmware +------------------------------ + +#. Refer to either :doc:`/guides/getting_started_command_line` or :doc:`/guides/getting_started_hassio` before moving onto the next step. +#. Select a bulb configuration below based on the bulb/s you have and copy all of the text in the code block and paste into your + ``name_of_esphome_configuration.yaml`` file. +#. Compile the firmware, again depending on your chosen setup refer to the guides in the first point. + +2. Flashing +----------- + +2.1 Prerequisites +***************** + +#. Before you begin you'll need one of the following linux machines running the latest copy of `Raspbian Stretch Lite + `__ + + a. Raspberry Pi 2B/B+ with `USB WiFi Dongle `__. + b. Raspberry Pi 3B/B+. + +.. note:: + + As per the `tuya-convert documentation `__: + + Any Linux with a Wifi adapter which can act as an Access Point should also work. Please note that we have tested the Raspberry Pi with clean installations + only. If you use your Raspberry Pi for anything else, we recommend using another SD card with a clean installation. + +#. A microSD card (minimum 2GB, 8GB+ recommended). +#. Any WiFi device which can connect to the SSID generated by the Raspberry Pi and eventually the flashed tuya device. **This cannot be an iOS / Apple device. + Android devices will work.** + +2.2 Installing the OS +********************* + +#. It's recommended to read the documentation provided by the Raspberry Pi Foundation on the best way to flash the OS to the microSD card depending on your + platform - `Installing operating system images `__. +#. After you've flashed the microSD card browse to the "boot" partition and add a blank file called "ssh" **(without any extension)** which will enable the + SSH server upon first boot, extended information on this step can be found `here + `__. +#. Plug the microSD card into the Raspberry Pi, connect network cable and power, the Raspberry Pi will start to boot. + +2.3 Connecting to the Pi via SSH +******************************** + +#. Download and install `Putty `__. +#. Open Putty. +#. Enter the IP of Raspberry Pi in the box that says "Host Name", leaving the port set to 22 (default for SSH). A list of recommended ways can be found `here + `__, but the easiest is to download and use `Fing `__ + (`Android `__ / `iOS + `__). +#. In the "Saved Sessions" input box, name the Raspberry Pi connection and then press "Save". +#. Select your new saved session from the list. +#. Press "Open". + +2.4 Configuring the Pi +********************** + +#. In the putty window login with the **pi** as the user and **raspberry** for the password. +#. Type ``sudo apt-get update && sudo apt-get dist-upgrade -y`` and wait for the upgrades to install. +#. Type ``sudo apt-get install git`` and wait for it to install. + +2.5 Setup and Install tuya-convert +********************************** + +#. In the putty window type ``git clone https://github.com/ct-Open-Source/tuya-convert`` press enter and wait while the repository is cloned. +#. Type ``cd tuya-convert`` and press enter. +#. Type ``./install_prereq.sh`` press enter and wait as the script gathers all the required components needed to function. + +2.6 Upload ESPHome Firmware using SFTP +************************************** + +#. Download `FileZilla `__ or `WinSCP `__ or use your preferred FTP + client. +#. Depending on the program you need to connect to the Pi using the IP address as the hostname and the username and password the same as you used to connect + via SSH and ensure your connection type is set to **SFTP** +#. Browse to ``/root/tuya-convert/files``. +#. Upload your compiled ``firmware.bin`` file to this directory. For command line based installs you can access the file under + ``//.pioenvs//firmware.bin`` alternatively Hass.io users can download the file directly from the web ui. + +2.7 Use tuya-convert to install ESPHome Firmware +************************************************ + +#. Type ``./start_flash.sh`` +#. Type ``yes`` to accept the warning. +#. Connect your alternative WiFi device (non iOS / Apple based) to the ``vtrust-flash`` SSID using ``flashmeifyoucan`` as the password. This is the network + being broadcast by the Pi from the tuya flash script. +#. If you haven't already install your bulb and flip the switch. It should automatically enter pairing mode represented by the bulb flashing on and off. If it + doesn't, switch your bulb, on-off-on-off-on as per the instructions `here + `__. +#. Press enter on your putty window to start the flash process and wait. The bulb will stop flashing followed by a large amount of scrolling text, this is the + script backing up the factory shipped firmware. +#. Once the process is complete you can type ``curl http://10.42.42.42/flashURL?url=http://10.42.42.1/files/firmware.bin`` +#. The bulb will restart and if everything is working correctly after a few seconds the light should be on. + +3. Bulb Configurations +---------------------- + +Thanks to the `existing work `__ by +`@so3n `__ which these adaptions created by `@cryptelli +`__ and `@bircoe `__ are based on. + + +3.1 Monochromatic Bulbs +*********************** + +So the brightness of the bulb can be controlled we use the ``esp8266_pwm`` output component connected to the light component using the id configuration +variable ``output_component1``. + +.. code-block:: yaml + + esphome: + name: mirabella_genio_cw_1 + platform: ESP8266 + board: esp01_1m + + # Ensure the light turns on by default if the physical switch is actuated. + on_boot: + priority: 100 # Highest priority, ensures light turns on without delay. + then: + - light.turn_on: light + + wifi: + ssid: 'WIFI' + password: 'WIFIPASS' + + logger: + + api: + + ota: + + light: + - platform: monochromatic + name: "Mirabella Genio Smart Bulb" + id: light + output: output_component1 + + output: + - platform: esp8266_pwm + id: output_component1 + pin: GPIO13 + +3.2 Cold + Warm White Bulbs +*************************** + +.. code-block:: yaml + + esphome: + name: mirabella_genio_cwww_1 + platform: ESP8266 + board: esp01_1m + + # Ensure the light turns on by default if the physical switch is actuated. + on_boot: + priority: 100 # Highest priority, ensures light turns on without delay. + then: + - light.turn_on: light + + wifi: + ssid: 'WIFI' + password: 'WIFIPASS' + + logger: + + api: + + ota: + + output: + - platform: esp8266_pwm + id: output_warm_white + pin: GPIO14 + - platform: esp8266_pwm + id: output_daylight + pin: GPIO5 + + light: + - platform: cwww + name: "Mirabella Genio Smart Bulb" + id: light + cold_white: output_daylight + warm_white: output_warm_white + cold_white_color_temperature: 6500 K + warm_white_color_temperature: 2700 K + +3.3 RGBW Color Bulbs +******************** + +.. code-block:: yaml + + esphome: + name: rgbw_e27_01 + platform: ESP8266 + board: esp01_1m + + # Ensure the light turns on by default if the physical switch is actuated. + on_boot: + priority: 100 # Highest priority, ensures light turns on without delay. + then: + - light.turn_on: light + + wifi: + ssid: 'WIFI' + password: 'WIFIPASS' + + logger: + + api: + + ota: + + output: + - platform: esp8266_pwm + id: output_red + pin: GPIO4 + - platform: esp8266_pwm + id: output_green + pin: GPIO12 + - platform: esp8266_pwm + id: output_blue + pin: GPIO14 + - platform: esp8266_pwm + id: output_white + pin: GPIO5 + + light: + - platform: rgbw + name: "rgbw_e27_01" + id: light + red: output_red + green: output_green + blue: output_blue + white: output_white + + +4. Adding to Home Assistant +--------------------------- + +You can now add your bulb to home assistant via the configurations page, look for 'ESPHome' under the Integrations option and click 'Configure'. + +.. figure:: images/mirabella-genio-b22-rgbw-homeassistant.jpg + :align: center + :width: 50.0% + +See Also +-------- + +- :doc:`/components/light/index` +- :doc:`/components/light/monochromatic` +- :doc:`/components/light/cwww` +- :doc:`/components/light/rgbw` +- :doc:`/components/output/index` +- :doc:`/components/output/esp8266_pwm` +- :doc:`/guides/automations` +- :ghedit:`Edit` + +.. disqus:: diff --git a/images/cookbook-mirabella-genio-b22-rgbw.jpg b/images/cookbook-mirabella-genio-b22-rgbw.jpg new file mode 100644 index 000000000..8678df0c2 Binary files /dev/null and b/images/cookbook-mirabella-genio-b22-rgbw.jpg differ diff --git a/index.rst b/index.rst index 86cf9b84b..41a9c0df0 100644 --- a/index.rst +++ b/index.rst @@ -289,6 +289,7 @@ Cookbook Sonoff Fishpond Pump, cookbook/sonoff-fishpond-pump, cookbook-sonoff-fishpond-pump.jpg H801 LED Controller, cookbook/h801, h801.jpg Time & Temperature on OLED Display, cookbook/display_time_temp_oled, display_time_temp_oled_2.jpg + Mirabella Genio Bulb, cookbook/mirabella-genio-bulb, cookbook-mirabella-genio-b22-rgbw.jpg Do you have other awesome automations or cool setups? Please feel free to add them to the documentation for others to copy. See :doc:`Contributing `.