diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2694a1b5..8dc06dd8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,6 +54,10 @@ jobs: - file: esphome/kwh-water-test.yaml name: s0tool-kwh-water-test manifest_filename: s0tool-kwh-water-test-manifest.json + - file: esphome/pulscounter_flux.yaml + name: s0tool-standard-flux + manifest_filename: s0tool-standard-flux-manifest.json + fail-fast: false steps: - name: Checkout source code diff --git a/esphome/components/s0tool-standard-flux-update.yml b/esphome/components/s0tool-standard-flux-update.yml index 2cc29af2..983c2950 100644 --- a/esphome/components/s0tool-standard-flux-update.yml +++ b/esphome/components/s0tool-standard-flux-update.yml @@ -1,5 +1,5 @@ -update: - - platform: http_request - name: Firmware Update - id: update_http_request +update: + - platform: http_request + name: Firmware Update + id: update_http_request source: https://s0tool.nl/s0tool-standard-flux-manifest.json \ No newline at end of file diff --git a/esphome/pulscounter_flux.yaml b/esphome/pulscounter_flux.yaml index 2013c1e2..30fe877a 100644 --- a/esphome/pulscounter_flux.yaml +++ b/esphome/pulscounter_flux.yaml @@ -28,4 +28,6 @@ packages: - esphome/components/basis.yaml - esphome/components/kwhpuls.yml - esphome/components/watermeter_flux.yaml + - esphome/components/s0tool-standard-flux-update.yml + refresh: 0d \ No newline at end of file diff --git a/static/Installation.html b/static/Installation.html index 39b16a62..e0096b71 100644 --- a/static/Installation.html +++ b/static/Installation.html @@ -5,12 +5,13 @@ S0tool.nl - Installation + - - + @@ -29,34 +30,34 @@ gtag('config', 'G-9HB5QGY82J'); - - - - - -
- -
-
+ + + + +
+
+
+ +
+
+

Installation

-

+ Pre-requisite: Make sure you have installed the drivers for the Wemos d1 to communicate with your pc / laptop. Look for it at the troubleshooting page.
And you must connect the S0tool to your pc or laptop with a cable that transfers both power and data.
You can use the button below to install the S0tool firmware directly to your device via USB from the browser.
-

+

S0tool Installation

-

- Pick your product to turn it into a S0tool for Home Assistant.

-

+ + Pick your product to turn it into a S0tool for Home Assistant. + No programming or other software required. -

+
+ +

-

+
+ + + + s0tool-standard-flux

-

+

Looking for the other versions? Show Special configurations Click to show more special versions.
-

+

Its possible now to adjust the kWh puls rate settings from Home Assistant dashboard an it stays on your setting with reboot and after updating the firmware.
The combinations are possible between 10 and 4000 puls/kWh with steps of 10 pulses. -
-

+

+ Special versions .
Only needed if the kWh counter has a impulse length other than between the 50 an 100ms on the datasheet. Or versions - for a other watermeter.

- -
-
-
- -
- + for a other watermeter.
+ - - - \ No newline at end of file +
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/static/Troubleshooting.html b/static/Troubleshooting.html index 9f97a727..d67009d9 100644 --- a/static/Troubleshooting.html +++ b/static/Troubleshooting.html @@ -5,12 +5,13 @@ S0tool.nl - Troubleshooting + - - + @@ -29,18 +30,17 @@ gtag('config', 'G-9HB5QGY82J'); - - - + - - -
- -
-
+ + +
+
+
+ +
+
+

Troubleshooting

@@ -56,55 +56,55 @@

How to change the total readings

servescall_calibrate And you can find your readings and reset it -
-

Check also the readme file in the repro of the S0tool on github for more information S0tool Github

+

+ Check also the readme file in the repro of the S0tool on github for more information S0tool Github

Update function, Updating Through ESPHome Addon

-

+ 1. In HomeAssistant open the ESPHome addon.
2. Find the sensor (s0tool) you want to update and click the three dots in the bottom right.
3. Select “Validate” from the list.
4. Once the validation completes, click “Install” in the bottom right.
-

+

drivers

-

+ If the serial port is not showing up, your computer might be missing the drivers for the USB serial chip used in your ESP device.
These drivers work for most ESP devices: -

+

For problems or solutions

-

- Pull requests + + Pull request : Pull requests .
- For problems - issues . -

+ For problems : + issues . + For more information about the code etc. - Github repro of the S0tool -
+ Github repro of the S0tool +

For more information about the S0tool look at my (Dutch) website. - +

Advanced Users

    @@ -119,13 +119,18 @@

    Advanced Users

    GitHub
-
-
-
- -
- - - - - \ No newline at end of file +
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/static/contact.html b/static/contact.html new file mode 100644 index 00000000..05ce256e --- /dev/null +++ b/static/contact.html @@ -0,0 +1,67 @@ + + + + + + + S0tool.nl - Contact + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ +
+

Contact

+ + Contact +
+ For information : info(at)s0tool(dot)nl + replace (at) for @ and (dot) for . +
+
+
+
+ + + + + + + + + + + \ No newline at end of file diff --git a/static/contributing.html b/static/contributing.html index f36c5ac2..13fc9c2f 100644 --- a/static/contributing.html +++ b/static/contributing.html @@ -5,12 +5,13 @@ S0tool.nl - Contributing + - - + @@ -29,58 +30,60 @@ gtag('config', 'G-9HB5QGY82J'); + - - - - - -
- -
-
+ + +
+
+
+ +
+
+

-

+

Contributing


If you'd like to contribute to the s0tool project, please fork the repository and submit a pull request.
We welcome - contributions of all kinds, including bug fixes, new features, and documentation updates.

- Be sure to 🌟 this repository for updates! + contributions of all kinds, including bug fixes, new features, and documentation updates.
+ Be sure to 🌟 this repository for updates!

- Have fun with the

S0tool

. + Have fun with the S0tool.

Wobbe
- From Huizebruin.nl & s0tool.nl.

-

Do you like my work ?

+ From Huizebruin.nl & s0tool.nl.
+ Do you like my work ?
-
+
Buy Me a Coffee at ko-fi.com
- +
Buy Me A Coffee - - -
-
-
- -
- - - - - \ No newline at end of file +
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/static/diyorbuy.html b/static/diyorbuy.html index 76183d97..7e086818 100644 --- a/static/diyorbuy.html +++ b/static/diyorbuy.html @@ -4,13 +4,14 @@ - S0tool.nl - Diy or Buy + Diy or buy - s0tool.nl + - - + @@ -29,26 +30,25 @@ gtag('config', 'G-9HB5QGY82J'); - - - -
- -
-
+ +
+
+
+ +
+
+

-

Diy water counter

-

+

Diy water counter

+ To create a DIY water counter, you'll need specific components like Wemos D1 mini, NPN sensor, and a 10K resistor. the 10K resistor should be put between the 5v and the D2 and from the d2 to the npn sensor. -

+ You need a couple of things 🛒
- +
Wemos D1 mini ep8266 AliExpress or Amazon or dutch webshop Diy water counter href="https://opencircuit.nl/Product/10K%CE%A9-Metaalfilm-weerstand-1-4W-10-stuks?affiliate=1VL4KIAMBZ&cid=github" target="_blank">Opencircuit
- And a usb cable and minimal a usb power adapter with 5v and 1A
+ And a usb cable and minimal a usb power adapter with 5v and 1A
S0tool-diy
@@ -72,21 +72,24 @@

Diy water counter

Will it work with my meter check it out here. https://github.com/huizebruin/s0tool/discussions/57
- -

How to order the S0tool 🛒 ?

+
+

How to order the S0tool 🛒 ?


https://www.huizebruin.nl/shop
At this moment we only ship to : The Netherlands and België - -
-
-
-
- -
- - - - - \ No newline at end of file +
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/static/energydashboard.html b/static/energydashboard.html index 90f0d6cf..f21874b4 100644 --- a/static/energydashboard.html +++ b/static/energydashboard.html @@ -5,12 +5,13 @@ S0tool.nl - Energy dashboard + - - + @@ -29,49 +30,52 @@ gtag('config', 'G-9HB5QGY82J'); + - - - - - -
- -
-
+ + +
+
+
+ +
+
+

-

Watermeter to energy dashboard.

-

+

Watermeter and s0 port in to energy dashboard.

+ From Home Assistant version 2022.11.X it is possible to add the water meter to the energy dashboard with the S0tool - from version v22.10.20. -

+ from version v22.10.20.
+ But also the s0 port (D5) for heating units or solar power or units with a s0 port on it. +

- + - - + + -
water-energy-dashboardwater & energy-dashboard dashboard
energiedashsotooldashenergiedashsotooldash
+
Open your Home Assistant instance and show your energy configuration panel. -

And look for watermeter stand and add that to the water usage ad the energy dashboard.

- - -
-
-
- -
- - - + alt="Open your Home Assistant instance and show your energy configuration panel." />
+ And look for watermeter stand and add that to the water usage ad the energy dashboard.
+ And look for Totaal opgebracht and add that to the 0s port usage ad the energy dashboard. +
+
+ + - \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/static/footer.html b/static/footer.html index ed5443fa..fa8ca166 100644 --- a/static/footer.html +++ b/static/footer.html @@ -1,4 +1,6 @@ -
Affiliated links are used on this website to support S0tool.nl & Huizebruin.nl and the development of the S0tool.
-ESPHome +
\ No newline at end of file +ESP Web Tools. + diff --git a/static/index.html b/static/index.html index 3f206211..62a952c5 100644 --- a/static/index.html +++ b/static/index.html @@ -1,16 +1,15 @@ - - S0tool.nl - Home + Home - s0tool.nl + - @@ -20,46 +19,36 @@ - - - - - - -
- -
-
-
-

S0tool & Made for ESPHome program

+ +
+
+
+ +
+
+
+ S0tool & Made for ESPHome program - + - +
S0tool-logoS0tool-logo
Made for ESPHome programMade for ESPHome program
-

- + S0tool is a versatile tool for monitoring water and energy consumption. It works seamlessly with ESPHome and offers various features. -

- + + With the S0tool you can keep track of the consumption of both your water meter and a kWh meter that has an S0 connection.
@@ -71,16 +60,18 @@ port that is always present in most cases and it works with ESPHome and with Home Assistant
And has a official Made for ESPHome license

- - S0tool-and_case +
+
+
+
+ -
-
- - + + + + + \ No newline at end of file diff --git a/static/index.md b/static/index.md deleted file mode 100644 index b9399719..00000000 --- a/static/index.md +++ /dev/null @@ -1,201 +0,0 @@ - - -| Repository Status | ESPHome S0tool discord Community | -| :----- | :----- | -| [![last commit time][github-last-commit]][github-master] [![GitHub Activity][commits-shield]][commits] | [![Discord][discord-shield]][discord] ![Twitter Follow](https://img.shields.io/twitter/follow/huizebruin?style=social) -| [![License][license-shield]](LICENSE) [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] | [![Contributors][contributors-shield]][contributors-url] [![GitHub release](https://img.shields.io/github/release/huizebruin/s0tool.svg)](https://GitHub.com/huizebruin/s0tool/releases/)| - -### Table of Contents - -- [Home](#s0tool) -- [Diy watercounter](#diy-watercounter) -- [Information](#Information) -- [Watermeter to energy dashboard](#watermeter-to-energy-dashboard) -- [Installation](#installation) -- [Troubleshooting](#troubleshooting) - - [Drivers](#drivers) -- [For problems or solutions](#for-problems-or-solutions) -- [Contributing](#contributing) -- [License](#license) - -## S0tool - - -| S0tool | Made for ESPHome program | -| :--- | :--- | -| ![S0tool-logo](./assets/s0tool-logo.jpg) | ![ESPHome](./assets/made-for-esphome-black-on-white.png) | - -
-With the S0tool you can keep track of the consumption of both your water meter and a kWh meter that has an S0 connection. - -The tool is ideal for keeping track of the consumption of devices such as heat pumps, or the yield of your solar panels. -A suitable kWh meter with an S0 connection must be installed for this. - -S0tool transforms a *(not so smart)* kwh meter with a s0 port into a smart meter, reading the pulse from the S0 port that is always present in most cases and it works with [ESPHome][esphome]!
And has a official Made for ESPHome license
- -![S0tool-and_case](./assets/S0tool_case.jpg) - -## diy watercounter. -You need a couple of things
- -Wemos D1 mini ep8266 [Aliexpres](https://s.click.aliexpress.com/e/_9fhHxf) or [Amazon](https://amzn.to/3FL7O48) or dutch webshop [Opencircuit](https://opencircuit.nl/Product/WeMos-D1-mini-V3.1-Wifi-Module?affiliate=1VL4KIAMBZ&cid=github)
- -Npn Sensor [Aliexpres](https://s.click.aliexpress.com/e/_AVaoGr) or [Amazon](https://amzn.to/3DFVsaL) or dutch webshop [Opencircuit](https://opencircuit.nl/product/lj18a3-8-z-bx-5v-nabijheids-sensor-n-o-npn-8mm?affiliate=1VL4KIAMBZ&cid=github)
- -10K resistor [Aliexpres](https://s.click.aliexpress.com/e/_A10BHz) or [Amazon](https://amzn.to/3NBjjx2) or dutch webshop [Opencircuit](https://opencircuit.nl/Product/10K%CE%A9-Metaalfilm-weerstand-1-4W-10-stuks?affiliate=1VL4KIAMBZ&cid=github)
- -And a usb cable and minimal a usb power adapter with 5v and 1A - -![S0tool-diy](./assets/npn-watermeter-wemosd1.png) - -Will it work with my meter check it out here. [https://github.com/huizebruin/s0tool/discussions/57](https://github.com/huizebruin/s0tool/discussions/57) - - -## Information: -
- Wi-fi : IEEE 802.11 b/g/n 2.4GHz - - -
- -## Watermeter to energy dashboard. -From Home Assistant version 2022.11.X it is possible to add the water meter to the energy dashboard with the S0tool from version v22.10.20.
- -| Enegry dashboard | Dashboard | -| :----------- | :------- | -| ![S0tool-water-energy-dashboard](./assets/water-energydashboard.jpg) | ![dashboard](./assets/s0tool-dashboard.png) | - -
- -## Installation - -Pre-requisite: Make sure you have installed the drivers for the Wemos d1 to communicate with your pc / laptop. Look below for troubleshooting.
- -And you must connect the S0tool to your pc or laptop with a cable that transfers both power and data. - -You can use the button below to install the S0tool firmware directly to your device via USB from the browser.

-Works only for a Wemos d1 mini V1 & v3.0 & 4.0 esp8266 at this moment.
-Wi-fi: IEEE 802.11 b/g/n 2.4GHz

- - -| S0tool version | Install | Info | Pin | -| :------ | :----- | :------- | :------- | -|Standard | |Standard with watermeter(npn) and kWh meter imp(50-100ms) |D2 & D5 | -|S0tool Watermeter | |Only watermeter (npn sensor) |D2 | -|S0tool kWh meter| |Only kWh meter |D5 | -| | | | | -| | | | | -|Specials| | Specials | | -|S0tool dsz12d| |Special for the dsz12d |D5 | -|S0tool lem022sj| |Special for the lem022sj 400imp |D5 | -|S0tool s0-watermeter| |Special for the s0-watermeter |D2 | -|S0tool flux and puls| |Special for flow sensor and puls sensor |D2 | -|S0tool wsz15d32a and water| |Special for the wsz15d32a imp(30ms) and watermeter(npn) |D2 & D5 | -|S0tool sdm72d and water| |Special for the sdm72d imp(35ms) and watermeter(npn) |D2 & D5 | -| | | | | -|Look out !!| | | | -|S0tool blank| |Wipes the hole esp8266 | | - - - -*** -Its possible now to adjust the kWh puls rate settings from Home Assistant dashboard an it stays on your setting with reboot and after updating the firmware.
The combinations are possible between 10 and 4000 puls/kWh with steps of 10 pulses. -*** - -## Special versions .
-Only needed if the kWh counter has a impulse length other than between the 50 an 100ms on the datasheet.
- - -*** - -## How to change the total readings - [![Open your Home Assistant instance and show your service developer tools with a specific service selected.](https://my.home-assistant.io/badges/developer_call_service.svg)](https://my.home-assistant.io/redirect/developer_call_service/?service=ESPHome%3A+s0tool_meterstand_water) For the water counter: D2 -
- [![Open your Home Assistant instance and show your service developer tools with a specific service selected.](https://my.home-assistant.io/badges/developer_call_service.svg)](https://my.home-assistant.io/redirect/developer_call_service/?service=ESPHome%3A+s0tool_meterstand_kwh) For the S0 port of the kwh meter : D5 -
-[![Open your Home Assistant instance and show your service developer tools with a specific service selected.](https://my.home-assistant.io/badges/developer_call_service.svg)](https://my.home-assistant.io/redirect/developer_call_service/?service=Nutsmeter%3A+Calibrate) -And you can find your readings and reset it. - - - -*** - -## Troubleshooting - -#### Drivers -

- If the serial port is not showing up, your computer might be missing the - drivers for the USB serial chip used in your ESP device. These drivers - work for most ESP devices: -

- -
- -#### For problems or solutions -[Pull requests](https://github.com/huizebruin/s0tool/pulls) .
-For problems -[issues](https://github.com/huizebruin/s0tool/issues) . -

- -Have fun with the S0tool. -

-Wobbe
-From [Huizebruin.nl](https://www.huizebruin.nl)
-Do you like my work ?
[![](https://img.shields.io/badge/send%20me%20a%20small%20gift-paypal-blue.svg?style=flat-square)](https://paypal.me/huizebruin) - -

-For more information about the code etc. -[Github repro of the S0tool](https://github.com/huizebruin/s0tool) -
-For more information about the S0tool look at my (Dutch) [website](https://www.huizebruin.nl/home-assistant/wat-is-de-s0tool/). - - -## Contributing -If you'd like to contribute to the s0tool project, please fork the repository and submit a pull request. We welcome contributions of all kinds, including bug fixes, new features, and documentation updates. - - -## License - -#### MIT License -##### Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -##### The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -
-
- S0tool Installer powered by ESP Web Tools
- Copyright (c) 2021 / 2023 Huizebruin
- - - - -[esphome]: https://esphome.io/ -[commits-shield]: https://img.shields.io/github/commit-activity/m/huizebruin/s0tool.svg -[commits]: https://github.com/huizebruin/s0tool/commits/main -[github-last-commit]: https://img.shields.io/github/last-commit/huizebruin/s0tool.svg?style=plasticr -[github-master]: https://github.com/huizebruin/s0tool/commits/main -[license-shield]: https://img.shields.io/github/license/huizebruin/s0tool.svg -[discord-shield]: https://img.shields.io/discord/723629686093119650.svg?logo=discord&color=7289da -[discord]: https://discord.gg/bN8rC7gEng -[contributors-url]: https://github.com/huizebruin/s0tool/graphs/contributors -[contributors-shield]: https://img.shields.io/github/contributors/huizebruin/s0tool.svg -[forks-shield]: https://img.shields.io/github/forks/huizebruin/s0tool.svg -[forks-url]: https://github.com/huizebruin/s0tool/network/members -[stars-shield]: https://img.shields.io/github/stars/huizebruin/s0tool.svg -[stars-url]: https://github.com/huizebruin/s0tool/stargazers -[issues-shield]: https://img.shields.io/github/issues/huizebruin/s0tool.svg -[issues-url]: https://github.com/huizebruin/s0tool/issues diff --git a/static/information.html b/static/information.html index 5227d5b3..a130b906 100644 --- a/static/information.html +++ b/static/information.html @@ -5,12 +5,13 @@ S0tool.nl - Information + - - + @@ -29,50 +30,63 @@ gtag('config', 'G-9HB5QGY82J'); + - - - - - -
- -
-
+ + +
+
+
+ +
+
+

-

Information:

-
  • Wi-fi : IEEE 802.11 b/g/n 2.4GHz
  • -
  • Minimal ESPHome version 2024.02.x (20-02-2024)
  • -
  • Works only for a Wemos d1 mini V1 & v3.0 & 4.0 esp8266 at this moment.
  • -
    - -
  • Wemos D1 mini ep8266 AliExpress or Amazon or dutch webshop Opencircuit
  • - -
  • Npn Sensor AliExpress or Amazon or dutch webshop Opencircuit
  • - -
  • 10K resistor AliExpress or Amazon or dutch webshop Opencircuit
  • +

    Information:


    +
    +
    + Wi-fi: IEEE 802.11 b/g/n 2.4GHz + Minimal ESPHome version 2024.06.x (01-07-2024) + Minimal Home Assistant version 2024.07.x (01-07-2024) +

    Works only for a Wemos D1 mini V1, V3.0, and 4.0 ESP8266 at this moment. +

    +
    + +
    +
    And a usb cable and minimal a usb power adapter with 5v and 1A

    Installation

    -

    Use the method below to provide your ESP with the correct firmware.

    + Use the method below to provide your ESP with the correct firmware.

    USB

    -

    Make sure this page is opened in a Chromium-based browser on a desktop. The software installation does not work with - a tablet or phone.

    -

    NOTE: If your device does not appear in the list, make sure you are using a USB data cable (i.e., - not power-only), and try installing the driver for the serial chip.

    + Make sure this page is opened in a Chromium-based browser on a desktop. The software installation does not work with + a tablet or phone. + NOTE: If your device does not appear in the list, make sure you are using a USB data cable (i.e., + not power-only), and try installing the driver for the serial chip.
    1. Click the blue connect button below, a pop-up window will appear with a list of available USB devices.
    2. Plug the USB cable into the ESP and connect it to your computer.
    3. @@ -81,64 +95,64 @@

      USB

    4. If the installation does not go well, you may need to first hold down the boot button and then click Install.
    5. Once the installation is completed, click Next.
    -

    Add the S0tool to your Wi-Fi network:

    + Add the S0tool to your Wi-Fi network:
    1. When prompted, select your network from the list and enter the credentials to your 2.4 GHz Wi-Fi network.
    2. Click Connect.
    -

    The S0tool is now connected to your network.

    -

    Congratulations 🎉 You have successfully installed the firmware on your S0tool.

    + The S0tool is now connected to your network. + Congratulations 🎉 You have successfully installed the firmware on your S0tool.

    Connect

    -

    Step 3: Connect to Home Assistant

    -

    You have two options to add the S0tool to Home Assistant:

    + Step 3: Connect to Home Assistant + You have two options to add the S0tool to Home Assistant:

    Option 1: During firmware installation

    -

    Immediately after setting up your Wi-Fi network (from step 2), you will see a screen with the option Add to Home - Assistant.

    -

    This opens the My link to Home Assistant.

    -

    If you have not used My Home Assistant before, you will need to configure it. If your Home Assistant URL is not - accessible on http://homeassistant.local:8123, replace it with the URL to your Home Assistant instance.

    -

    Click on Open the link.

    -

    It opens your Home Assistant instance and asks you to set up, click OK.

    -

    Congratulations 🎉 You have successfully added the S0tool to your Home Assistant instance.

    + Immediately after setting up your Wi-Fi network (from step 2), you will see a screen with the option Add to Home + Assistant. + This opens the My link to Home Assistant. + If you have not used My Home Assistant before, you will need to configure it. If your Home Assistant URL is not + accessible on http://homeassistant.local:8123, replace it with the URL to your Home Assistant instance. + Click on Open the link. + It opens your Home Assistant instance and asks you to set up, click OK. + Congratulations 🎉 You have successfully added the S0tool to your Home Assistant instance.

    Option 2: Auto discovery

    -

    When the S0tool is added to a network to which your Home Assistant instance is also connected, your - device will automatically be recognized in Home Assistant.

    -

    Under Settings > Devices & Services, your S0tool should be discovered.

    -

    Click on Configure, at the discovered device.

    -

    It asks if you want to add the device and click Submit.

    -

    Congratulations 🎉 You have successfully added the S0tool to your Home Assistant instance.

    - Devices & Services, your S0tool should be discovered. + Click on Configure, at the discovered device. + It asks if you want to add the device and click Submit. + Congratulations 🎉 You have successfully added the S0tool to your Home Assistant instance. + S0tool-diy

    Sensors for S0tool and Home Assistant

    -

    Place this inside your configuration.yaml file.

    - packages-ha -

    Make a folder like the name ```packages```

    -

    Copy the content from below and make a new file (s0tool.yaml) and place the content in this file from below.

    -

    After that safe the file and reboot HA now you have a couple of more sensors for the s0tool.

    -

    + Place this inside your configuration.yaml file. + packages-ha + Make a folder like the name ```packages``` + Copy the content from below and make a new file (s0tool.yaml) and place the content in this file from below. + After that safe the file and reboot HA now you have a couple of more sensors for the s0tool. + -

    +

    Blueprint for S0tool and Home Assistant

    -

    + With this you can create an automation that will notify you when a new version is online on Github Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled. + class="img-fluid" alt="Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled." />
    Blueprint automation when you use more than 100L water inside 1 hour Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled. + class="img-fluid" alt="Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled." />
      @@ -147,14 +161,18 @@

    Blueprint for S0tool and Home Assistant

    -
    - -
    -
    - -
    - - - - - \ No newline at end of file +
    +
    + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/js/script.js b/static/js/script.js new file mode 100644 index 00000000..a3ec65e6 --- /dev/null +++ b/static/js/script.js @@ -0,0 +1,25 @@ +// Load Navbar +fetch('navbar.html') + .then(response => response.text()) + .then(data => { + document.getElementById('navbar').innerHTML = data; + }) + .catch(error => console.error('Error loading navbar:', error)); + +// Load Sidebar +fetch('sidebar.html') + .then(response => response.text()) + .then(data => { + document.getElementById('sidebar').innerHTML = data; + }) + .catch(error => console.error('Error loading sidebar:', error)); + +// Load Footer +fetch('footer.html') + .then(response => response.text()) + .then(data => { + document.getElementById('footer').innerHTML = data; + }) + .catch(error => console.error('Error loading footer:', error)); + + diff --git a/static/licence.html b/static/licence.html index 55212465..f5287549 100644 --- a/static/licence.html +++ b/static/licence.html @@ -5,11 +5,16 @@ S0tool.nl - License + - + + + + @@ -25,46 +30,50 @@ gtag('config', 'G-9HB5QGY82J'); + - - - - - -
    - -
    -
    + + +
    +
    +
    + +
    +
    +


    License

    - +
    MIT License - Copyright (c) 2021 / 2024 From Huizebruin.nl & Huizebruin.nl & s0tool.nl. - -

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +

    + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the - Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT + Software.

    THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -

    -
    -
    -
    - -
    - - - - - \ No newline at end of file + +
    +
    + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/menu.html b/static/menu.html deleted file mode 100644 index bed8566d..00000000 --- a/static/menu.html +++ /dev/null @@ -1,14 +0,0 @@ - - diff --git a/static/navbar.html b/static/navbar.html new file mode 100644 index 00000000..b27cf493 --- /dev/null +++ b/static/navbar.html @@ -0,0 +1,64 @@ + + + + + + + Navbar with GitHub Version + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/s0tool-1000imp-esp8266/s0tool-1000imp-manifest.json b/static/s0tool-1000imp-esp8266/s0tool-1000imp-manifest.json deleted file mode 100644 index 48d867e2..00000000 --- a/static/s0tool-1000imp-esp8266/s0tool-1000imp-manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-1000imp-esp8266/s0tool-1000imp-esp8266.bin", - "offset": 0 - } - ] -} diff --git a/static/s0tool-2000imp-esp8266/s0tool-1000imp-manifest.json b/static/s0tool-2000imp-esp8266/s0tool-1000imp-manifest.json deleted file mode 100644 index 48b07fdb..00000000 --- a/static/s0tool-2000imp-esp8266/s0tool-1000imp-manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-2000imp-esp8266/s0tool-2000imp-esp8266.bin", - "offset": 0 - } - ] -} diff --git a/static/s0tool-blank-esp8266/manifest.json b/static/s0tool-blank-esp8266/manifest.json deleted file mode 100644 index 8940c82f..00000000 --- a/static/s0tool-blank-esp8266/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-blank-esp8266/s0tool-blank-esp8266.bin", - "offset": 0 - } - ] -} \ No newline at end of file diff --git a/static/s0tool-blank-esp8266/s0tool-blank-esp8266.bin b/static/s0tool-blank-esp8266/s0tool-blank-esp8266.bin deleted file mode 100644 index 8d681c0a..00000000 --- a/static/s0tool-blank-esp8266/s0tool-blank-esp8266.bin +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/s0tool-blank-manifest.json b/static/s0tool-blank-manifest.json deleted file mode 100644 index d9bb6259..00000000 --- a/static/s0tool-blank-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool blank", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-blank-esp8266/s0tool-blank-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-dsz12d-manifest.json b/static/s0tool-dsz12d-manifest.json deleted file mode 100644 index dc8a63a3..00000000 --- a/static/s0tool-dsz12d-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool dsz12d", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-dsz12d-esp8266/s0tool-dsz12d-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-fluxandpuls-manifest.json b/static/s0tool-fluxandpuls-manifest.json deleted file mode 100644 index 0e81cf42..00000000 --- a/static/s0tool-fluxandpuls-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool standard flux and puls", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-fluxandpuls/s0tool-fluxandpuls-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-kwh-puls-manifest.json b/static/s0tool-kwh-puls-manifest.json deleted file mode 100644 index ab9bcb93..00000000 --- a/static/s0tool-kwh-puls-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool kwh puls", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-kwh-puls-esp8266/s0tool-kwh-puls-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-kwh-water-test-manifest.json b/static/s0tool-kwh-water-test-manifest.json deleted file mode 100644 index 4a48a620..00000000 --- a/static/s0tool-kwh-water-test-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool kwh-water-test", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-kwh-water-test-esp8266/s0tool-kwh-water-test-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-lem022sj-manifest.json b/static/s0tool-lem022sj-manifest.json deleted file mode 100644 index f8d09f88..00000000 --- a/static/s0tool-lem022sj-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool lem022sj", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-lem022sj-esp8266/s0tool-lem022sj-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-s0-watermeter-manifest.json b/static/s0tool-s0-watermeter-manifest.json deleted file mode 100644 index 7a341a05..00000000 --- a/static/s0tool-s0-watermeter-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool s0-watermeter", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-s0-watermeter-esp8266/s0tool-s0-watermeter-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-sdm72d-manifest.json b/static/s0tool-sdm72d-manifest.json deleted file mode 100644 index 9d79a7a2..00000000 --- a/static/s0tool-sdm72d-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool sdm72d", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-sdm72d-esp8266/s0tool-sdm72d-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-standard-esp8266/manifest.json b/static/s0tool-standard-esp8266/manifest.json deleted file mode 100644 index 7cba82ab..00000000 --- a/static/s0tool-standard-esp8266/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-esp8266/s0tool-esp8266.bin", - "offset": 0 - } - ] -} \ No newline at end of file diff --git a/static/s0tool-standard-internal-manifest.json b/static/s0tool-standard-internal-manifest.json deleted file mode 100644 index 123b0f70..00000000 --- a/static/s0tool-standard-internal-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "s0tool-standard-internal", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-standard-internal-esp8266/s0tool-standard-internal-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-standard-manifest.json b/static/s0tool-standard-manifest.json deleted file mode 100644 index 9b9ff301..00000000 --- a/static/s0tool-standard-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool standard", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-standard-esp8266/s0tool-standard-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-watermeter-esp8266/s0tool-watermeter-manifest.json b/static/s0tool-watermeter-esp8266/s0tool-watermeter-manifest.json deleted file mode 100644 index 59a74696..00000000 --- a/static/s0tool-watermeter-esp8266/s0tool-watermeter-manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-watermeter-esp8266/s0tool-watermeter-esp8266.bin", - "offset": 0 - } - ] -} diff --git a/static/s0tool-watermeter-manifest.json b/static/s0tool-watermeter-manifest.json deleted file mode 100644 index b6f4b23b..00000000 --- a/static/s0tool-watermeter-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool watermeter", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-watermeter-esp8266/s0tool-watermeter-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/s0tool-wsz15d32a-esp8266/manifest.json b/static/s0tool-wsz15d32a-esp8266/manifest.json deleted file mode 100644 index a497079f..00000000 --- a/static/s0tool-wsz15d32a-esp8266/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-wsz15d32a-esp8266/s0tool-wsz15d32a-esp8266.bin", - "offset": 0 - } - ] -} \ No newline at end of file diff --git a/static/s0tool-wsz15d32a-esp8266/s0tool-wsz15d32a-manifest.json b/static/s0tool-wsz15d32a-esp8266/s0tool-wsz15d32a-manifest.json deleted file mode 100644 index 4161ae09..00000000 --- a/static/s0tool-wsz15d32a-esp8266/s0tool-wsz15d32a-manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-wsz15d32a-esp8266/s0tool-wsz15d32a-esp8266.bin", - "offset": 0 - } - ] -} diff --git a/static/s0tool-wsz15d32a-manifest.json b/static/s0tool-wsz15d32a-manifest.json deleted file mode 100644 index 7d52bf1a..00000000 --- a/static/s0tool-wsz15d32a-manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ -"name": "S0tool wsz15d32a", - "home_assistant_domain": "esphome", - "funding_url": "https://paypal.me/huizebruin", - "new_install_skip_erase": false, - "builds": [ - { - "chipFamily": "ESP8266", - "parts": [ - { - "path": "s0tool-wsz15d32a-esp8266/s0tool-wsz15d32a-esp8266.bin", - "offset": 0 - } - ] - } - ] -} diff --git a/static/script.js b/static/script.js deleted file mode 100644 index 92db66fe..00000000 --- a/static/script.js +++ /dev/null @@ -1,23 +0,0 @@ -document.addEventListener("DOMContentLoaded", function () { - fetch('sidebar.html') - .then(response => response.text()) - .then(data => { - document.getElementById('sidebar').innerHTML = data; - }) - .catch(error => console.error('Error fetching sidebar content:', error)); - - fetch('footer.html') - .then(response => response.text()) - .then(data => { - document.getElementById('footer').innerHTML = data; - }) - .catch(error => console.error('Error fetching footer content:', error)); - - fetch('menu.html') - .then(response => response.text()) - .then(data => { - document.getElementById('header').innerHTML = data; - }) - .catch(error => console.error('Error fetching menu content:', error)); - -}); \ No newline at end of file diff --git a/static/sidebar.html b/static/sidebar.html index ef25414d..f6be17ca 100644 --- a/static/sidebar.html +++ b/static/sidebar.html @@ -1,61 +1,60 @@ -S0tool-logo
    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - GitHub Activity -
    - Made for ESPHome -
    - Last Commit -
    - issues -
    - issues -
    - starts -
    - GitHub forks -
    - contributors -
    - discord -
    - License -
    - release -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    S0tool-logo
    +
    + GitHub Activity +
    + Made for ESPHome +
    + Last Commit +
    + issues +
    + starts +
    + GitHub forks +
    + contributors +
    + discord +
    + License +
    + release +
    +
    \ No newline at end of file diff --git a/static/sitemap.xml b/static/sitemap.xml index 34e7569f..7de2c571 100644 --- a/static/sitemap.xml +++ b/static/sitemap.xml @@ -1,27 +1,15 @@ + - + https://s0tool.nl/ - 2024-04-11T20:39:20+00:00 - - - https://s0tool.nl/diyorbuy.html - - - https://s0tool.nl/information.html - - - https://s0tool.nl/energydashboard.html - - - https://s0tool.nl/Installation.html - - - https://s0tool.nl/Troubleshooting.html - - - https://s0tool.nl/contributing.html - - - https://s0tool.nl/licence.html - + 2024-07-08T11:56:31+00:00 + + https://s0tool.nl/diyorbuy.html + https://s0tool.nl/information.html + https://s0tool.nl/energydashboard.html + https://s0tool.nl/Installation.html + https://s0tool.nl/Troubleshooting.html + https://s0tool.nl/contributing.html + https://s0tool.nl/licence.html + https://s0tool.nl/contact.html \ No newline at end of file diff --git a/static/style.css b/static/style.css deleted file mode 100644 index 037de3ee..00000000 --- a/static/style.css +++ /dev/null @@ -1,182 +0,0 @@ - - body { - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", - Roboto, Ubuntu, sans-serif; - padding: 10px; - margin: 0; - line-height: 1.4; - background-color: rgb(100, 100, 100); - } - .content { - margin: 0 auto; - padding: 20px; - font-size: 14px; - background-color: rgb(235, 233, 233); - } - .header { - display: block; - width: 100%; - border-radius: 1px; - } - h3 { - margin-top: 1.5em; - } - a { - color: #03a9f4; - } - .hidden { - display: none; - } - li { - padding: 4px 0; - } - .footer { - margin-top: 24px; - font-size: 14px; - border-top: 1px solid #ccc; - padding-top: 24px; - text-align: center; - } - .footer .initiative { - font-style: italic; - margin-top: 16px; - } - .radios { - display: flex; - flex-direction: row; - flex-wrap: wrap; - align-items: center; - } - .radios label { - padding: 4px; - cursor: pointer; - width: calc(33.3% - 16px); - display: block; - position: relative; - } - .radios input { - position: absolute; - top: 12px; - left: 12px; - } - .radios img { - display: block; - width: calc(100% - 8px); - border: 4px solid #01ab7e; - aspect-ratio: 1; - } - input:checked + img { - border-color: #01ab7e; - } - @media (prefers-color-scheme: dark) { - body { - background-color: #333; - color: #fff; - } - .content { background-color: rgb(74, 74, 74);} - a { - color: #58a6ff; - } - } - @media only screen and (max-width: 450px) { - .radios label { - width: calc(50% - 16px); - max-width: initial; - } - } - .special::after { - content: "Special"; - background-color: #f44336; - color: #fff; - padding: 1px 4px; - border-radius: 4px; - font-size: 0.7em; - position: absolute; - bottom: 20px; - left: 150px; - } - body .special { - display: none; - } - body.show-special .special { - display: initial; - } - header { - background-color: #333; - color: #fff; - padding: 0px 0; -} - img { - max-width: 280px; - max-height: 280px; - width: auto; - height: auto; - } -/* Style the navigation menu */ -.topnav { -overflow: hidden; -background-color: #333; -} - -.topnav a { -float: left; -display: block; -color: #f2f2f2; -text-align: center; -padding: 14px 16px; -text-decoration: none; -font-size: 15px; -} - -.topnav a:hover { -background-color: #ddd; -color: black; -} - -.topnav a.active { -background-color: #04AA6D; -color: white; -} - -.topnav .icon { -display: none; -} - -@media screen and (max-width: 600px) { -.topnav a:not(:first-child) { - display: none; -} - -.topnav a.icon { - float: right; - display: block; -} -} - -@media screen and (max-width: 600px) { -.topnav.responsive { - position: relative; -} - -.topnav.responsive .icon { - position: absolute; - right: 0; - top: 0; -} - -.topnav.responsive a { - float: none; - display: block; - text-align: left; -} -} -h1 { - text-decoration: none; - color: #01ab7e; -} -h2 { - text-decoration: none; - color: #01ab7e; -} - - diff --git a/static/styles.css b/static/styles.css index d002d89d..d41cea51 100644 --- a/static/styles.css +++ b/static/styles.css @@ -1,166 +1,44 @@ body { font-family: Arial, sans-serif; - margin: 2px; - padding: 0; - display: flex; - flex-direction: column; - min-height: 100vh; + background-color: #f8f9fa; } -header { - background-color: rgb(1, 171, 126); - color: #fff; - padding: 10px; - text-align: center; -} - -header nav ul { - list-style-type: none; - padding: 0; -} - -header nav ul li { - display: inline; -} - -header nav a { - color: #fff; - text-decoration: none; - padding: 10px; -} - -header nav a:hover { - background-color: rgb(14, 127, 192); -} - -header nav a.active { - background-color: rgb(14, 127, 192); -} - -.container { - display: flex; - flex: 1; - /* This ensures the container stretches to fill available space */ -} - -aside { - background-color: #ddd; - padding: 20px; - width: 200px; - /* Set a default width for the sidebar */ -} - -aside h2 { - margin-top: 0; -} - -main { - flex: 1; - padding: 20px; +h1 { + color: #343a40; + margin-top: 20px; } -footer { - background-color: rgb(1, 171, 126); - color: #fff; - margin-top: auto; - /* This pushes the footer to the bottom */ - padding: 10px; +p { + font-size: 1.2rem; + color: #6c757d; } -.radios { - display: flex; - flex-direction: row; - flex-wrap: wrap; +.navbar { + margin-bottom: 20px; + background-color: #343a40; align-items: center; + text-align: center; } -.radios label { - padding: 12px; - cursor: pointer; - width: calc(33.3% - 16px); - display: block; - position: relative; -} - -.radios input { - position: absolute; - top: 1px; - left: 1px; -} - -.radios img { - display: block; - width: calc(100% - 8px); - border: 4px solid #01ab7e; - aspect-ratio: 1; -} - -input:checked+img { - border-color: #01ab7e; -} - -@media only screen and (max-width: 620px) { - .container { - flex-direction: column; - } - - aside { - width: 100%; - /* Make the sidebar occupy full width on smaller screens */ - margin-top: 20px; - /* Add some space between main content and sidebar on mobile */ - } -} - -.special::after { - content: "Special"; - background-color: #f44336; - color: #fff; - padding: 1px 4px; - border-radius: 4px; - font-size: 0.7em; - position: absolute; - top: 5px; - left: 25px; -} - -body .special { - display: none; -} - -body.show-special .special { - display: initial; -} - -.hidden { - display: none; -} - -li { - padding: 4px 0; -} - -img { - max-width: 280px; - max-height: 280px; -} - -h1 { - text-decoration: none; - color: #01ab7e; +footer { + background-color: #343a40; + color: white; + padding: 2px 0; + position: fixed; + font-size: x-small; + bottom: 0; + width: 100%; } -h2 { - text-decoration: none; - color: #01ab7e; +.container { + margin-bottom: 100px; + /* Ensures footer does not overlap content */ } -h3 { - text-decoration: none; - color: #01ab7e; +.red-text { + color: red; } -h4 { - text-decoration: none; - color: #01ab7e; -} +.content-section { + margin: 20px 0; +} \ No newline at end of file