{"id":35514573,"url":"https://github.com/claudegel/sinope-130","last_synced_at":"2026-03-06T00:08:00.977Z","repository":{"id":37022949,"uuid":"224560492","full_name":"claudegel/sinope-130","owner":"claudegel","description":"Neviweb130 custom component for Home Assistant to manage devices connected via a GT130  and wifi devices from Sinopé","archived":false,"fork":false,"pushed_at":"2026-03-03T20:49:45.000Z","size":14286,"stargazers_count":116,"open_issues_count":12,"forks_count":24,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-03-04T00:27:26.932Z","etag":null,"topics":["home-assistant","home-automation","homeassistant","neviweb","sinope"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/claudegel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://www.paypal.me/phytoressources"]}},"created_at":"2019-11-28T03:12:47.000Z","updated_at":"2026-03-03T20:49:24.000Z","dependencies_parsed_at":"2023-02-19T13:50:16.505Z","dependency_job_id":"7ef899be-324c-40e6-a6e4-21de7cf4e45d","html_url":"https://github.com/claudegel/sinope-130","commit_stats":null,"previous_names":[],"tags_count":175,"template":false,"template_full_name":null,"purl":"pkg:github/claudegel/sinope-130","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claudegel%2Fsinope-130","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claudegel%2Fsinope-130/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claudegel%2Fsinope-130/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claudegel%2Fsinope-130/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/claudegel","download_url":"https://codeload.github.com/claudegel/sinope-130/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claudegel%2Fsinope-130/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30156253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"ssl_error","status_checked_at":"2026-03-05T22:39:24.771Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["home-assistant","home-automation","homeassistant","neviweb","sinope"],"created_at":"2026-01-03T22:17:12.025Z","updated_at":"2026-03-06T00:08:00.964Z","avatar_url":"https://github.com/claudegel.png","language":"Python","funding_links":["https://www.paypal.me/phytoressources","https://www.paypal.me/phytoressources/"],"categories":[],"sub_categories":[],"readme":"## Home Assistant Neviweb130 Custom Components\n[🇫🇷 Version française](doc/readme_fr.md)\n\u003e 💛 **Enjoying this integration?**  \n\u003e If you'd like to support its ongoing development, you can contribute here:\n\u003e [![Support via PayPal](https://cdn.rawgit.com/twolfson/paypal-github-button/1.0.0/dist/button.svg)](https://www.paypal.me/phytoressources/)\n\nCustom components to support [Neviweb](https://neviweb.com/) devices in [Home Assistant](http://www.home-assistant.io) (HA). \nNeviweb is a platform created by Sinopé Technologies to interact with their smart devices like thermostats, light \nswitches/dimmers , load controllers, plug, valves and water leak detector etc. \n\nNeviweb130 (Sinope Neviweb130 in HACS) will manage the Zigbee devices connected to Neviweb via the GT130 gateway and the new Wi-Fi devices connected \ndirectly to Neviweb. It is presently almost up to date with Neviweb but some information are still missing from Sinopé. \nAs new devices are launched by Sinopé, they are added to this custom-component. If you have a device that is not supported \nyet, please open an issue and I'll add it quickly.\n\nReport a problem or suggest an improvement: [Open an issue](https://github.com/claudegel/sinope-130/issues/new/choose)\n\n## Table of contents\n\n- [Announcement](#announcement)\n- [Supported devices](#supported-devices)\n- [Prerequisite](#prerequisite)\n- [Installation](#installation)\n- [Configuration](#legacy-configuration)\n- [Multi_accounts](#multi-account-configuration)\n- [Sedna valve](#sedna-valve)\n- [GT130](#gateway-gt130)\n- [Update system](#updater-system)\n- [Request counter](#neviweb-daily-request-counter)\n- [Multi instance (obsolete)](#running-more-than-one-instance-of-neviweb130-to-manage-different-neviweb-connections)\n- [Services / Actions](#custom-services)\n- [Debugging](#logging-for-debugging)\n- [Eco-Sinopé](#catch-eco-sinope-signal-for-peak-period)\n- [Energy statistic](#energy-statistic)\n- [Localisation (language)](#localisation)\n- [Sedna flow meeter](#statistic-for-sedna-flow-meeter)\n- [Troubleshooting](#troubleshooting)\n- [Customization](#customization)\n- [Device hard reset](#device-hard-reset)\n- [TO DO](#to-do)\n\n## Announcement\n### Big changes for Sedna valve devices\n\nSince version 2.6.2, valves devices are supported as new HA valve entities. They are no longer supported as switch. This \nwill cause all your `switch.neviweb130_switch_sedna_valve` to be replaced by `valve.neviweb130_valve_sedna_valve` entities. \nYou will need to revise your automations and cards to retrieve your valve entities.\n\n## Supported Devices\nHere is a list of currently supported devices. Basically, it's everything that can be added in Neviweb.\n- **Zigbee thermostats**:\n  - Sinopé TH1123ZB 3000W Line voltage thermostat\n  - Sinopé TH1124ZB 4000W Line voltage thermostat\n  - Sinopé TH1123ZB 3000W Thermostat for public areas\n  - Sinopé TH1124ZB 4000W Thermostat for public areas\n  - Sinopé TH1123ZB-G2 3000W Thermostat second generation\n  - Sinopé TH1124ZB-G2 4000W Thermostat second generation\n  - Sinopé TH1134ZB-HC for control of heating/cooling interlocking\n  - Sinopé TH1300ZB 3600W Floor heating thermostat\n  - Sinopé TH1320ZB-04 Floor heating thermostat\n  - Sinopé TH1400ZB Low voltage thermostat\n  - Sinopé TH1500ZB 3600W double pole thermostat\n  - Nordik TH1420ZB-01 Nordik low voltage radiant hydroponic floor thermostat\n  - Ouellet OTH3600-GA-ZB Ouellet Floor thermostat\n  - Ouellet OTH4000-ZB Ouellet 4000W Line voltage thermostat\n- **Wi-Fi thermostats** (no need for GT130):\n  - Sinopé TH1124WF Wi-Fi 4000W Line voltage thermostat\n  - Sinopé TH1123WF Wi-Fi 3000W Line voltage thermostat\n  - Sinopé TH1133WF Wi-Fi 3000W Line voltage thermostat lite\n  - Sinopé TH1133CR Sinopé Evo 3000w Line voltage thermostat lite\n  - Sinopé TH1134WF Wi-Fi 4000W Line voltage thermostat lite\n  - Sinopé TH1134CR Sinopé Evo 4000w Line voltage thermostat lite\n  - Sinopé TH1143WF Wi-Fi 3000W two wires connection, color screen\n  - Sinopé TH1144WF WI-Fi 4000W two wires connection, color screen\n  - Sinopé TH1300WF Wi-Fi 3600W floor thermostat\n  - Sinopé TH1310WF Wi-Fi 3600W floor thermostat\n  - Sinopé TH1325WF Wi-Fi 3600W floor thermostat\n  - Sinopé TH1400WF Wi-Fi low voltage thermostat\n  - Sinopé TH1500WF Wi-Fi 3600W double pole thermostat\n  - Sinopé TH6500WF Wi-Fi heat/cool\n  - Sinopé TH6510WF Wi-Fi heat/cool\n  - Sinopé TH6250WF Wi-Fi heat/cool\n  - Sinopé TH6250WF_PRO Wi-Fi heat/cool\n  - Sinopé THEWF01 Wi-Fi lite thermostat\n  - Flextherm concerto connect FLP55 floor thermostat (sku FLP55 do not provide energy stats in Neviweb)\n  - Flextherm True Comfort floor thermostat\n  - SRM40 floor thermostat\n- **Heatpump controller**:\n  - Sinopé HP6000ZB-GE for Ouellet heat pump with Gree connector\n  - Sinopé HP6000ZB-MA for Ouellet Convectair heat pump with Midea connector\n  - Sinopé PH6000ZB-HS for Hisense, Haxxair and Zephyr heat pump\n- **Wi-Fi Heatpump controller**:\n  - Sinopé HP6000WF-MA for Ouellet Convectair heat pump with Midea connector\n  - Sinopé HP6000WF-GE for Ouellet heat pump with Gree connector\n- **Zigbee lighting**:\n  - Sinopé SW2500ZB Light switch\n  - Sinopé SW2500ZB-G2 Light switch\n  - Sinopé DM2500ZB Dimmer\n  - Sinopé DM2500ZB-G2 Dimmer\n  - Sinopé DM2550ZB Dimmer\n  - Sinopé DM2550ZB-G2 Dimmer\n- **Zigbee lighting connected to Sedna valve**:\n  - Sinopé SW2500ZB-VA Light switch\n  - Sinopé DM2500ZB-VA Dimmer\n  - Sinopé DM2550ZB-VA Dimmer\n- **Zigbee specialized control**:\n  - Sinopé RM3250ZB Load controller 50A\n  - Sinopé RM3500ZB Calypso load controller 20,8A for water heater\n  - Sinopé SP2610ZB in-wall outlet\n  - Sinopé SP2600ZB smart portable plug\n  - Sinopé MC3100ZB Sedna valve multi-controller for alarm system\n- **Zigbee specialized control connected to Sedna valve**:\n  - Sinopé RM3250ZB-VA Load controller 50A\n  - Sinopé SP2610ZB-VA in-wall outlet\n  - Sinopé SP2600ZB-VA smart portable plug\n  - Sinopé MC3100ZB-VA Sedna valve multi-controller for alarm system\n- **Wi-Fi specialized control**:\n  - Sinopé RM3500WF Load controller for water heater\n  - Sinopé RM3510WF Load controller for water heater\n  - Sinopé RM3250WF load controller 50A, Wi-Fi\n- **Water leak detector and valves**:\n  - Sinopé VA4201WZ, VA4221WZ, sedna valve 1 inch\n  - Sinopé VA4200WZ, VA4220WZ, sedna valve 3/4 inch Wi-Fi\n  - Sinopé VA4200ZB, sedna valve 3/4 inch Zigbee\n  - Sinopé VA4220WZ, sedna 2e gen 3/4 inch\n  - Sinopé VA4220WF, sedna 2e gen 3/4 inch, Wi-Fi\n  - Sinopé VA4220ZB, sedna 2e gen 3/4 inch, Zigbee\n  - Sinopé VA4221WZ, sedna 2e gen 1 inch\n  - Sinopé VA4221WF, sedna 2e gen 1 inch, Wi-Fi\n  - Sinopé VA4221ZB, sedna 2e gen 1 inch, Zigbee\n  - Sinopé WL4200,   water leak detector\n  - Sinopé WL4200S,  water leak detector with sensor\n  - Sinopé WL4200C,  perimeter cable water leak detector\n  - Sinopé WL4200ZB, water leak detector\n  - Sinopé WL4210,   water leak detector\n  - Sinopé WL4210S,  water leak detector with sensor\n  - Sinopé WL4210C,  perimeter cable water leak detector\n  - Sinopé WL4210ZB, water leak detector\n  - Sinopé WL4200ZB, connected to Sedna valve\n  - Sinopé ACT4220WF-M, VA4220WF-M, sedna multi-residential master valve 2e gen 3/4 inch, Wi-Fi\n  - Sinopé ACT4220ZB-M, VA4220ZB-M, sedna multi-residential slave valve 2e gen 3/4 inch, Zigbee\n  - Sinopé ACT4221WF-M, VA4221WF-M, sedna multi-residential master valve 2e gen. 1 inch, Wi-Fi\n  - Sinopé ACT4221ZB-M, VA4221ZB-M, sedna multi-residential slave valve 2e gen. 1 inch, Zigbee\n- **Flow sensor**: (supported as attribute for the 2e gen Sedna valves)\n  - Sinopé FS4220, 3/4 inch flow sensor\n  - Sinopé FS4221, 1 inch flow sensor\n- **Tank level monitor**:\n  - Sinopé LM4110-ZB, Propane tank level monitor\n  - Sinopé LM4110-LTE, Propane tank level monitor LTE\n- **Gateway**:\n  - GT130\n  - GT4220WF-M, mesh gateway\n- **Power supply**:\n  - Sinopé ACUPS-01, battery backup for Sedna valve, GT130 or GT125\n\n## Prerequisite\nYou need to connect your devices to a GT130 web gateway and add them in your Neviweb portal before being able to \ninteract with them within Home Assistant. Wi-Fi devices must be connected directly to Neviweb. Some Zigbee devices \ncan be connected directly to a Sedna valve which is connected to Neviweb directly. Please refer to \nthe instructions manual of your device or visit [Neviweb support](https://support.sinopetech.com/)\n\nWi-Fi devices can be connected in the same network (location) then the GT130 Zigbee devices or in a separate network.\n**Neviweb130** support up to three networks in neviweb.\n\nThere are four custom components giving you the choice to manage your devices via the neviweb portal or directly via local \n\n- [**neviweb**](https://github.com/claudegel/sinope-1) (HACS: Sinope Neviweb) custom component to manage your devices via Neviweb portal.\n- [**sinope**](https://github.com/claudegel/sinope-gt125) (HACS: Sinope GT125) custom component to manage your devices directly via\n  your GT125 web gateway.\n- **Zigbee gateway**:\n  - [**neviweb130**](https://github.com/claudegel/sinope-130) (HACS: Sinope Neviweb130) this custom component, to manage your devices\n    via neviweb portal.\n  - [**sinope-zha**](https://github.com/claudegel/sinope-zha) where I put all new Sinopé devices quirks before they are merged\n    into zha-device-handlers. Buy a Zigbee gateway like Dresden ConBee II usb dongle and manage your Zigbee device locally\n    via ZHA component. I'm adding support for Sinopé Zigbee in zha-device-handlers. You can test new Sinopé devices quirks\n    in HA by coping the sinope-zha files directly in your HA setup. ZHA will load them in place of the standard sinopé quirks.\n\nYou need to install only one of them but all can be used at the same time on HA. Zigbee devices managed directly via \nConBee II must be removed from Neviweb as they cannot be on two Zigbee networks at the same time.\n\n## Installation\n### Neviweb130 custom component to manage your device via Neviweb portal:\nThere are two methods to install this custom component:\n- **Via HACS component**:\n  - This repository is compatible with the Home Assistant Community Store \n    ([HACS](https://community.home-assistant.io/t/custom-component-hacs/121727)).\n  - After installing HACS, install 'Sinope neviweb-130' (neviweb130) from the store, and use the configuration.yaml example below.\n- **Manually via direct download**:\n  - Download the zip file of this repository using the top right, green download button.\n  - Extract the zip file on your computer, then copy the entire `custom_components` folder inside your Home Assistant \n    `config` directory (where you can find your `configuration.yaml` file).\n  - Your config directory should look like this:\n\n    ```\n    config/\n      configuration.yaml\n      custom_components/\n        neviweb130/\n          translations/\n            en.json\n            fr.json\n          __init__.py\n          climate.py\n          const.py\n          helpers.py\n          light.py\n          manifest.json\n          schema.py\n          sensor.py\n          services.yaml\n          string.json\n          switch.py\n          update.py\n          valve.py\n    ```\n## Legacy configuration\n\nTo enable Neviweb130 management in your installation, add the following to your `configuration.yaml` file, then restart \nHome Assistant.\n\n```yaml\n# Example configuration.yaml entry\nneviweb130:\n  username: '«your Neviweb username»'\n  password: '«your Neviweb password»'\n  network: '«your gt130 location name in Neviweb»'   # gt130 emplacement dans Neviweb\n  network2: '«your second location name in Neviweb»' # 2e emplacement\n  network3: '«your third location name in Neviweb»'  # 3e emplacement\n  scan_interval: 360\n  homekit_mode: False\n  ignore_miwi: False\n  stat_interval: 1800\n  notify: \"both\"\n```\nNetworks names are the names found on top of first page after logging into Neviweb. If you have more then one network, \njust click on icon on top to find all networks names. Select the one used for Zigbee GT130 or Wi-Fi devices. Both devices types \nmust be on same network to work in neviweb130. If you have two networks for two GT130 or two Wi-Fi groups then you can \nadd network2 parameter in your configuration.yaml. See below. You can't mix miwi devices and Zigbee/Wi-Fi devices on the \nsame network. For miwi devices install [Neviweb](https://github.com/claudegel/sinope-1) \ncustom_component which can run along with this custom_component in HA.\n\n![network](www/network.jpg)\n\n**Configuration options:**  \n\n| key               | required | default                                                                                                            | description                                                                                                                                                                                                                  |\n|-------------------|----------|--------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **username**      | yes      |                                                                                                                    | Your email address used to log in Neviweb.                                                                                                                                                                                   |\n| **password**      | yes      |                                                                                                                    | Your Neviweb password.                                                                                                                                                                                                       |\n| **network**       | no       | if not specified, 1st location found is used. Write the name of the GT130 location in Neviweb you want to control. | Network name is the location name in Neviweb written on top center of first page, where your Wi-Fi or Zigbee devices are registered.                                                                                         |\n| **network2**      | no       | 2nd location found                                                                                                 | The name of the second location you want to control (Zigbee and/or Wi-Fi only). Don't add it if you have only one network.                                                                                                   |\n| **network3**      | no       | 3rd location found                                                                                                 | The name of the third location you want to control (Zigbee and/or Wi-Fi only). Don't add it if you have only one network.                                                                                                    |\n| **scan_interval** | no       | 540                                                                                                                | The number of seconds between each access to Neviweb to update device state. Sinopé asked for a minimum of 5 minutes between polling now so you can reduce scan_interval to 300. Don't go over 600, the session will expire. |\n| **homekit_mode**  | no       | False                                                                                                              | Add support for Homekit specific values. Not needed if you don't use homekit.                                                                                                                                                |\n| **ignore_miwi**   | no       | False                                                                                                              | Ignore miwi devices if present in same location then Zigbee and/or Wi-Fi devices. Warm if we set wrong Neviweb location.                                                                                                     |\n| **stat_interval** | no       | 1800                                                                                                               | The number of seconds between each access to Neviweb for energy statistic update. Scan will start after 5 minutes from HA startup and will be updated at every 300 to 1800 seconds.                                          |\n| **notify**        | no       | both                                                                                                               | The method to send notification in case of device error. value option are `nothing`, `logging`, `notification`, `both`.                                                                                                              \n\nIf you have a GT125 also connected to Neviweb the network parameter is mandatory, or it is possible that during the \nsetup, the GT125 network will be picked up accidentally. If you have only two GT130/Wi-Fi network, you can omit there \nnames as during setup, the first two network found will be picked up automatically. If you prefer to add networks names \nmake sure that they are written «exactly» as in Neviweb. (first letter capitalized or not). Avoid also accented letters \nas Home Assistant will remove them and location name won't match preventing custom_component loading.\n\n## Multi-Account Configuration\n(New in v3.1.0)\n\nIf you need to control devices from **multiple Neviweb accounts** (e.g., your home and a neighbor's), you can now use the new multi-account configuration format. This eliminates the need to duplicate the custom component folder.\n\n```yaml\n# Multi-account configuration example\nneviweb130:\n  accounts:\n    # Account with multiple locations (home + chalet)\n    - username: 'your_email@example.com'\n      password: 'your_password'\n      # location was called network in previous versions.\n      #\n      # Optional: you can target up to 3 locations for this account:\n      #   location / location2 / location3 (or network / network2 / network3)\n      #\n      # If you omit all locations, the integration will automatically use the first 1–3 locations\n      # returned by Neviweb for this account.\n    \n    # Separate account for parents (using 'network' - works the same as 'location')\n    - username: 'parents_email@example.com'\n      password: 'parents_password'\n      location: '5678'           # Optional: location id/name (or use 'network')\n      prefix: 'parents'          # Optional: account alias (used in entity naming)\n  \n  # Global settings (apply to all accounts)\n  scan_interval: 360\n  homekit_mode: False\n  ignore_miwi: False\n  stat_interval: 1800\n  notify: \"both\"\n```\n\n\u003e **⚠️ Important: Entity Name Conflicts in Multi-Account Setup**\n\u003e \n\u003e Entity names are built from the integration domain (`neviweb130`), plus optional `prefix` and/or `location` values.\n\u003e \n\u003e **Problem:** If you omit both `prefix` and `location` for multiple accounts, and both accounts have devices with similar names (e.g., both have a thermostat called \"LivingRoom\"), Home Assistant may auto-suffix entity_ids:\n\u003e - `climate.neviweb130_livingroom`\n\u003e - `climate.neviweb130_livingroom_2`  ← Collision handled by HA\n\u003e \n\u003e **Solution:** Provide either a unique `prefix` (account alias), or explicit `location` names/ids, to keep entity_ids stable and readable:\n\u003e ```yaml\n\u003e accounts:\n\u003e   - username: 'user1@example.com'\n\u003e     password: 'pass1'\n\u003e     location: 'Home'\n\u003e     prefix: 'me'          # ← account alias\n\u003e   - username: 'user2@example.com'\n\u003e     password: 'pass2'\n\u003e     location: 'Chalet'\n\u003e     prefix: 'parents'     # ← different account alias\n\u003e ```\n\u003e Example: `climate.neviweb130_parents_chalet_climate_livingroom`.\n\n**Multi-account configuration options:**\n\n| key | required | default | description\n| --- | --- | --- | ---\n| **accounts** | yes (for multi-account) | | List of accounts to connect to\n| **username** | yes | | Your email address for this Neviweb account\n| **password** | yes | | The password for this Neviweb account\n| **location** (or **network**) | no | first location found | Location id/name for this account (network #1).\n| **location2** (or **network2**) | no | second location found | Location id/name for this account (network #2).\n| **location3** (or **network3**) | no | third location found | Location id/name for this account (network #3).\n| **prefix** | no | (empty) | Optional account alias used in entity naming to distinguish accounts.\n\n**Notes:**\n- `prefix` is optional. If omitted, it is not included in the entity name (Home Assistant may auto-suffix entity_ids if collisions occur).\n- If your `location` names/ids are already unique across your accounts (e.g., you use an address, site code, or other unique label), you can omit `prefix` entirely and rely on `location` to distinguish entities.\n- Each account maintains its own independent connection to Neviweb.\n- **Multiple locations per account**:\n  - If you omit all locations, the integration will automatically use the first 1–3 locations returned by Neviweb.\n  - Or you can explicitly set `location2` and `location3`.\n- Both `location*` and `network*` are accepted as aliases in the new format for consistency with the legacy format.\n- Global settings (`scan_interval`, `homekit_mode`, etc.) apply to all accounts.\n- The legacy single-account configuration format (shown above) remains fully supported for backward compatibility.\n\n**Example entity names:**\n- **Legacy single-account config (backward compatible naming)**:\n  - 1st location → `climate.neviweb130_climate_bedroom`\n  - 2nd location → `climate.neviweb130_climate_2_bedroom`\n  - 3rd location → `climate.neviweb130_climate_3_bedroom`\n- **Multi-account config (`accounts:`)**:\n  - With prefix + location → `climate.neviweb130_parents_chalet_climate_living_room`\n  - With location only (no prefix) → `climate.neviweb130_chalet_climate_living_room`\n\n## Sedna valve\nFor Sedna valves there are two ways to connect it to Neviweb:\n- Via Wi-Fi direct connection. This way leak sensor are connected directly to the Sedna valve which will close if leak \n  is detected.\n- via GT130 in Zigbee mode. This  way leak sensor are also connected to the GT130 but on leak detection nothing is \n  passed to the valve. You'll need to set some automation rule in Neviweb or HA, to have the Sedna valve close if leak \n  is detected by sensor.\n\nBoth ways are supported by this custom component. \n\n## Gateway GT130\nIt is now possible to know if your GT130 is still online of offline with Neviweb via the gateway_status attribute. The \nGT130 is detected as sensor.neviweb130_sensor_gt130\n\n## Updater system\n\nNeviweb130 now include a complete update system that include:\n- Automatic update check every 6 hours:\n  - New update available.\n  - Pre-release available.\n  - Breaking changes.\n  - Version notes.\n\n- SHA-256 validation:\n  - Get official SHA-256 from GitHub.\n  - Download update zip file.\n  - Validate SHA-256.\n  - If mismatch, cancel update and notify.\n\n- Auto Rollback if error detected during update:\n  - Restore old version automatically.\n  - Notify user of the problem.\n \n- Persistent notifications on:\n  - Success: \"Update successful\".\n  - Fail: \"Update fail, rollback performed\".\n  - SHA-256 error: \"Update aborted for security\".\n \n- Breaking changes detection:\n  The updator scan version notes from GitHub. If breaking changes are detected:\n  - Add special icon in updater card.\n  - Add (Breaking changes) in updater title.\n \n- Pre-release detection if version contain, b0, -beta or rc1 etc:\n  The updator scan update version from GitHub. If pre-release version is detected:\n  - Add special icon in updater card.\n  - Add (Pre-release) in updater title.\n\n- Backup option:\n  Add a button to allow for system backup before update. All the config directory and database are backuped.\n\n- Version notes can be viewed via link provided on the update card that point to GitHub releases motes.\n\n- Updater have many attributes to help user:\n  - check_interval: 6h, (will become an option in futur version)\n  - last_check: date/time of last available version check.\n  - next_check: date/time of next available version check.\n  - last_update_success: Last date/time an update was done.\n  - update_status: list all step performed during update.\n  - rollback_status: If an update fail, last active version will be rolled back.\n  - update_percentage: Show a slider for update process followup.\n\nYou will need to deactivate HACS update card or you will get two updates notifications with two updates cards. \nThis can be done in parameters / devices \u0026 services / HACS. Pick 'Sinope Neviweb130' line and deactivate \nthe pre-release button if set. Locate the Sinope Neviweb130 integration and click on the three vertical \ndots on the right end of the line. There are two options: `2 entities` and `deactivate the device`. Clic on `2 entities`.\nThen select update. Click on the configuration button and deactivate option `Visible`. It will still be possible to \ndo manual update or redownload neviweb130 via HACS.\n\nYou can also wait for a new update and select HACS update card. Then clic on the configuration button and deactivate the \n`Visible` option.\n\n## Neviweb daily request counter\nAs Sinopé is becoming more picky about request number per day, limit fixed to 30000. If you reach that limit you \nwill be disconnected until midnight. This is very bad if you have many devices or doing development on neviweb130.\nI've added a daily Neviweb request counter that is reset to 0 at midnight and suvive HA restart. It create a \nsensor sensor.neviweb130_daily_requests that increase at each request: update, stats polling, error status, etc.\nThe sensor survive HA restart and is set back to 0 at midnight every days.\n\nThis way it is possible to improve your scan_interval to get the higher frequency without busting the limit.\nWhen reaching 25000 requests, neviweb130 will send a notification. Eventually this warning limit will be configurable.\n\n## Running more than one instance of neviweb130 to manage different Neviweb connections\n\u003e This section is still working but as Neviweb130 now support multi account directly, it become obsolete.\n\u003e\n\u003eIt is possible to run two instance of neviweb130, but you need to use two different username (email) and password to \n\u003econnect to Neviweb.\n\u003eSteps to achieve this:\n\u003e\n\u003e- Create another directory in config/custom_components like neviweb131.\n\u003e- Copy all files from directory neviweb130 to new directory neviweb131.\n\u003e- In neviweb131, edit file manifest.json to change the line #2, \"domain\": \"neviweb130\",\n\u003eand change it to the same name as the directory you just create. \"domain\": \"neviweb131\",\n\u003e- Add a second configuration in configuration.yaml like this:\n\u003e```yaml\n\u003e# Example configuration.yaml entry for a second neviweb130 instance named neviweb131.\n\u003eneviweb131:\n\u003e   username: 'your Neviweb username for second connection'\n\u003e   password: 'your Neviweb password for second connection'\n\u003e   network: 'your gt130 location name in second Neviweb' (gt130 emplacement dans Neviweb)\n\u003e   network2: 'your second location name in second Neviweb' (2e emplacement)\n\u003e   network3: 'your third location name in second Neviweb' (3e emplacement)\n\u003e   scan_interval: 360\n\u003e   homekit_mode: False\n\u003e   ignore_miwi: False\n\u003e   stat_interval: 1800\n\u003e   notify: \"both\"\n\u003e```\n\u003e- Restart Home Assistant\n\u003e\n\u003eAll devices on this second instance will have a name like `climate.neviweb131_climate_office_thermostat`.\n\n## Custom services\nAutomations require services to be able to send command. Ex. light.turn_on. For the Sinopé devices connected via \nneviweb130, it is possible to use custom services to send specific information to devices or to change some devices \nparameters. Those custom services can be accessed via development tool/services or can be used in automation:\n- neviweb130.set_second_display, allow to change setting of the thermostats second display from setpoint temperature to \n  outdoor temperature. This needs to be sent only once to each device.\n- neviweb130.set_climate_keypad_lock, allow to lock the keypad of the climate device.\n- neviweb130.set_light_keypad_lock, allow to lock the keypad of the light device.\n- neviweb130.set_switch_keypad_lock, allow to lock the keypad of the switch device.\n- neviweb130.set_light_timer, this is used to set a timer in seconds (0 to 10800) to the light devices to turn_off after \n  that delay.\n- neviweb130.set_switch_timer, this is used to set a timer in seconds (0 to 10800) to the switch devices and multi \n  controller device to turn_off after that delay.\n- neviweb130.set_switch_timer2, this is used to set the timer2 in seconds (0 to 10800) to the switch multi controller \n  device to turn_off after that delay.\n- neviweb130.set_led_indicator, this allows to change led indicator color and intensity on light devices for «on» and \n  «off» state. you can send any color in the RGB list via the three color parameters red, green and blue, and you can \n  set intensity of the LED indicator.\n- neviweb130.set_time_format, to display time in 12h or 24h on thermostats.\n- neviweb130.set_temperature_format, to display temperature in Celsius or Fahrenheit format on thermostats.\n- neviweb130.set_backlight, to set backlight intensity in state «on» or «off» for thermostats.\n- neviweb130.set_wattage, to set wattageOverload for light devices.\n- neviweb130.set_auxiliary_load, to set status and load of the auxiliary heating.\n- neviweb130.set_setpoint_min, to set minimum setpoint temperature for thermostats.\n- neviweb130.set_setpoint_max, to set maximum setpoint temperature for thermostats.\n- neviweb130.set_cool_setpoint_min, to set minimum cooling setpoint for TH1134ZB-HC.\n- neviweb130.set_cool_setpoint_max, to set maximum cooling setpoint for TH1134ZB-HC.\n- neviweb130.set_floor_limit_low, to set minimum setpoint temperature for floor thermostats. (5 to 34°C), (0 = off)\n- neviweb130.set_floor_limit_high, to set maximum setpoint temperature for floor thermostats. (7 to 36°C), (0 = off)\n- neviweb130.set_sensor_alert, to set all alert for water leak sensor, temperature, battery, leak, status and set action \n  on valve.\n- neviweb130.set_valve_alert, to set low battery alert status.\n- neviweb130.set_valve_temp_alert, to set low temperature alert on sedna valve.\n- neviweb130.set_early_start, to set early heating on/off for Wi-Fi thermostats.\n- neviweb130.set_air_floor_mode, to switch between floor or ambient temperature sensor to control room temperature.\n- neviweb130.set_floor_air_limit, to set floor thermostat max air limit temperature.\n- neviweb130.set_phase_control, to set phase control mode for DM2550ZB dimmer (reverse or forward).\n- neviweb130.set_hvac_dr_options, to set or reset DR period option in Neviweb for thermostats.\n- neviweb130.set_hvac_dr_setpoint, to adjust thermostat setpoint reduction during DR period, 100 to -100 (°C*10). 0 will \n  just make the small icon to flash.\n- neviweb130.set_load_dr_options, to set or reset DR period options in Neviweb for load controller.\n- neviweb130.set_cycle_output, to set main cycle length of low voltage thermostat in minutes.\n- neviweb130.set_aux_cycle_output, to set auxiliary cycle length of low voltage thermostats in minutes.\n- neviweb130.set_control_onoff, change status of output 1 and 2 on alarm multi-controller for sedna valve.\n- neviweb130.set_battery_type, set battery type, alkaline or lithium, for the water leak sensor.\n- neviweb130.set_tank_size, to set the water heater tank capacity for Calypso RM3500ZB.\n- neviweb130.set_low_temp_protection, to activate or not the water heater protection for water temperature. Below 45°C \n  heating is auto restarted.\n- neviweb130.set_controlled_device, to change the name of the device controlled by the RM3250ZB load controller.\n- neviweb130.set_flow_meter_model, to change the flow meter model connected to sedna valve 2e gen and start/stop leak \n  protection from flow meter.\n- neviweb130.set_flow_meter_delay, to set the leak delay before the valve close if a leak is detected by the flow meter. \n- neviweb130.set_flow_meter_options, to set the flow meter action: close the valve (yes/no) and to send alert message \n  (yes/no), or just do nothing.\n- neviweb130.set_tank_type, to set tank type for LM4110-ZB, propane or oil.\n- neviweb130.set_gauge_type, to set gauge type for LM4110-ZB on propane tank, model 5-95 or 10-80.\n- neviweb130.set_low_fuel_alert, to set low fuel level limit for propane tank, 0 (off), 10, 20 or 30%.\n- neviweb130.set_tank_height, to set fuel tank height for LM4110-ZB sensor, 0 (off), 23, 24, 35, 38, 47, 48, 50.\n- neviweb130.set_fuel_alert, to set fuel alert, on/off for LM4110-ZB.\n- neviweb130.set_power_supply, to set power source for Sedna valve between battery, acups-01 or both.\n- neviweb130.set_battery_alert, to set battery alert on/off for LM4110-ZB.\n- neviweb130.set_input_output_names, to set name for input 1 and 2 and output 1 and 2 of MC3100ZB device.\n- neviweb130.set_activation, to activate or block neviweb polling for a device.\n- neviweb130.set_sensor_type, to set sensor value 10k or 12k.\n- neviweb130.set_remaining_time, to set value for coldLoadPickupRemainingTime attribute.\n- neviweb130.set_on_off_input_delay, to set the «on» or «off» delay in seconds for input 1 and 2 of MC3100ZB.\n- neviweb130.set_em_heat, to turn on/off aux heat for floor and low voltage thermostats. This is a replacement of \n  turn_aux_heat_on or off that was deprecated by HA. It work differently for the TH6xxxWF devices where it change the\n  preset mode to PRESET.BOOST or back to previous preset mode when turned off.\n- neviweb130.set_display_config, to set on/off display on heatpump.\n- neviweb130.set_sound_config, to set on/off sound on heatpump.\n- neviweb130.set_heat_pump_operation_limit, to set minimum operation temperature for heatpump.\n- neviweb130.set_heat_lockout_temperature, to set maximum outside temperature limit to allow heating device operation.\n  Work differently for TH1123ZB-G2, TH1124ZB-G2 and heat/cool devices (TH6xxxWF). Each use different attribute.\n- neviweb130.set_cool_lockout_temperature, to set minimum outside temperature limit to allow cooling device operation.\n- neviweb130.set_hc_second_display, to set second display of TH1134ZB-HC thermostat.\n- neviweb130.set_language, to set display language on TH1134ZB-HC thermostats.\n- neviweb130.set_aux_heat_min_time_on, to set auxiliary heating minimum time on.\n- neviweb130.set_cool_min_time_on, to set cooling minimum time on.\n- neviweb130.set_cool_min_time_off, to set cooling minimum time off.\n- neviweb130.set_neviweb_status, to set global Neviweb status, home / away via GT130.\n- neviweb130.set_climate_neviweb_status, to set global Neviweb status, home / away via Zigbee or Wi-Fi thermostats.\n- neviweb130.set_refuel_alert, to get an alert when the propane tank is refueled,\n- neviweb130.set_humidifier_type, to set the type of humidifier device connected to TH6500WF or TH6250WF.\n- neviweb130.set_schedule_mode, to set the schedule mode, manual or auto for TH6500WF or TH6250WF.\n- neviweb130.set_flow_alarm_disable_timer, to disable abnormal fow alarm for a period from 1 sec. to 24 hrs.\n- neviweb130.set_heatcool_setpoint_delta, to set a temperature delta between heating setpoint and cooling setpoint from \n  1 to 5°C in auto (heat/cool) mode for TH6xxxWF.\n- neviweb130.set_fan_filter_reminder, to set the delay between each fan filter cleaning from 1 to 12 month, for \n  TH6xxxWF.\n- neviweb130.set_temperature_offset, to adjust temperature sensor from -2 to 2°C with 0.5°C increment, for TH6xxxWF.\n- neviweb130.set_aux_heating_source, to select which type of auxiliary heating source is in use for TH6xxxWF.\n- neviweb130.set_fan_speed, to set fan speed, on or auto for TH6xxxWF.\n- neviweb130.set_switch_temp_alert, to set low temperature alert on / off for MC3100ZB devices.\n\n## Logging for debugging\nAs the file home-assistant.log is no longer available, we have added a new logger that write all logger data about neviweb130 \nto a file `neviweb130_log.txt` in your config directory. This file is overwritten each time Ha is restarted. The file is also rotated \neach time it reach 2 meg in size. Log rotation have a total of 4 files.\n\nTo help debugging, add relevant snippet of this file to any issue you may report.\n\n## Catch Eco Sinope signal for peak period\nIf you have at least on thermostat or one load controller registered with Éco-Sinopé program, it is now possible to \ncatch when Neviweb send the signal for pre-heating start period for thermostats or turn_off signal for the load \ncontroller. Seven attributes have been added for thermostats and three for load controller to know that peak period is \ncoming and how it is managed:\n\n- For thermostats:\n  - **eco_status**: set to «off» during normal operation, turn «on» during peak period at the beginning of the \n    pre-heating period. this is the attribute to follow to detect a peak start.\n  - **eco_setpoint**: set to «off» during normal operation, turn «on» during peak period if device is managed by \n    Eco-Sinopé.\n  - **eco_optout**: set to «off» during normal operation during peak period, turn «on» if somebody change the setpoint \n    during peak period.\n  - **eco_power_relative**: set to «off» during normal operation, used to set a minimum temperature compared to setpoint \n    where the thermostat will turn on automatically for frost protection.\n  - **eco_power_absolute**: set to «off» during normal operation, used to limit the pi_heating_demand level between 1 to \n    100% during peak period.\n  - **eco_setpoint_status**: set to «off» during normal operation, turn «on» if device setpoint is changed by \n    Eco-Sinopé.\n  - **eco_setpoint_delta**: set to 0 during normal operation, changed to values between -10 and +10 during peak period. \n    For pre-heating the value is positive and for peak period it is a negative value. This is a delta applied to regular \n    setpoint. -10 = setpoint reduced by 10°C. +2 = setpoint increased by 2°C.\n\n- For load controller:\n  - **eco_status**: set to «off» during normal operation, turn «on» during peak period at the beginning of the \n    pre-heating period. this is the attribute to follow to detect a peak start.\n  - **eco_onoff**: set to «off» during normal operation, turn «on» during peak period if device is managed by \n    Eco-Sinopé. The device is turned off during peak period. Nothing is done during pre-heating period.\n  - **eco_optout**: set to «off» during normal operation during peak period, turn «on» if somebody turn on the device \n    during peak period.\n\n- For Multi-controller MC3100ZB:\n  - **eco_status**: set to «off» during normal operation, turn «on» during peak period at the beginning of the \n    pre-heating period. this is the attribute to follow to detect a peak start.\n  - **eco_setpoint**: set to «off» during normal operation, no change during peak period if device is managed by \n    Eco-Sinopé.\n  - **eco_optout**: set to «off» during normal operation, during peak period, turn «on» if somebody change the onoff \n    value during peak period.\n  - **eco_power_relative**: set to «off» during normal operation, used to set a minimum temperature compared to room \n    temperature value where the MC3100ZB will turn on automatically for frost protection.\n  - **eco_power_absolute**: set to «off» during normal operation, usage unknown.\n\nIt is then possible to make an automation to set all HA devices ready for peak period by following the eco_status \nattribute change from «off» to «on».\n\n## Energy statistic\nSeven attributes are added to track energy usage for devices:\n- total_kwh_count: total count of energy usage to date.\n- hourly_kwh_count:  total count for hourly usage for current day.\n- daily_kwh_count: total count for daily usage for current month.\n- monthly_kwh_count: total count for monthly usage for current year.\n- hourly_kwh: kwh used for last hour.\n- daily_kwh: kwh used for last day.\n- monthly_kwh: kwh used for last month.\n\nThey are polled from Neviweb every 30 minutes. The first polling start 5 minutes after HA restart. Neviweb have a two \nhours delay to publish his data. Your data will be delayed by 2 hours.\n\n### Track energy consumption in HA Energy dashboard\nWhen energy attributes are available, it is possible to track energy consumption of individual devices in Home Assistant \nenergy dashboard by creating a [Template sensor](https://www.home-assistant.io/integrations/template/) in configuration.yaml:\n```yaml\ntemplate:\n  - sensor:\n      - name: \"Basement energy usage\"\n        unique_id: sensor.basement_energy_usage\n        unit_of_measurement: \"kWh\"\n        device_class: energy\n        state_class: total_increasing\n        state: \u003e-\n          {{ state_attr(\"climate.neviweb130_th1124zb_basement\",\"hourly_kwh_count\") }}\n```\nor:\n```yaml\ntemplate:\n  - sensor:\n      - name: \"Basement energy usage\"\n        unique_id: sensor.basement_energy_usage\n        unit_of_measurement: \"kWh\"\n        device_class: energy\n        state_class: total\n        state: \u003e-\n          {{ state_attr(\"climate.neviweb130_th1124zb_basement\",\"hourly_kwh\") }}\n```\n\n## Localisation\nNeviweb130 is now translated in French for the errors and notifications messages. The translation is done automatically based\non your HA configuration for language. Now French and English are supported. Any language can be added by translating \nen.json file located in translations directory into other language. \n\n## Statistic for Sedna flow meeter\nSeven attributes are added to track water usage for Sedna valve. They are shown as m³ (cubic meeter) which is what \nenergy module is looking for:\n- total_flow_count: total count of water liters usage to date.\n- hourly_flow_count:  total count of hourly water liters usage for current day.\n- daily_flow_count: total count of daily water liters usage for current month.\n- monthly_flow_count: total count of monthly water liters usage for current year.\n- hourly_flow: water liters used for last hour.\n- daily_flow: water liters used for last day.\n- monthly_flow: water liters used for last month.\n\nThey are polled from Neviweb every 30 minutes. The first polling start 5 minutes after HA restart. Neviweb have a two \nhours delay to publish his data.\n\n### Track water consumption in HA Energy dashboard\nWhen flow attributes are available, it is possible to track water consumption of sedna valve in Home Assistant energy \ndashboard by creating a [Template sensor](https://www.home-assistant.io/integrations/template/) in configuration.yaml:\n```yaml\ntemplate:\n  - sensor:\n      - name: \"Sedna Water Flow\"\n        unique_id: sensor.sedna_water_flow\n        unit_of_measurement: \"m³\"\n        device_class: water\n        state_class: total_increasing\n        state: \u003e-\n          {{ state_attr(\"valve.neviweb130_valve_water_valve\",\"hourly_flow_count\") }}\n```\nor:\n```yaml\ntemplate:\n  - sensor:\n      - name: \"Sedna Water Flow\"\n        unique_id: sensor.sedna_water_flow\n        unit_of_measurement: \"m³\"\n        device_class: water\n        state_class: total\n        state: \u003e-\n          {{ state_attr(\"valve.neviweb130_valve_water_valve\",\"hourly_flow\") }}\n```\n\n## Troubleshooting\nif you see your device in the log, but it does not appear in entity list you need to add the device model number in the \ncode. Or you can send the model number to me, so I can add it in the code.\n\nIn the log look for lines:\n```\n[custom_components.neviweb130] Received gateway data: [{'id': 100225, 'identifier': '500b91400001f750', 'name': 'Chargeur auto', 'family': '2506',...\n[custom_components.neviweb130] Received signature data: {'signature': {'model': 2506, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 2, 'major': 1}, 'hardRev': 2, 'protocol': 'sinopcom'}}\n```\n'family': '2506' and 'model': 2506 is what you need to find the model number of your device. It should be added in \nclimate.py, light.py, switch.py, sensor.py or valve.py near line 132 to 136 (climate.py) depending on device type. Then restart HA \nand your device will be listed in entity list.\n\nIf you get a stack trace related to a Neviweb130 component in your home assistant log, you can \n[open an issue](https://github.com/claudegel/sinope-130/issues/new/choose)\n\nYou can also post in one of those threads to get help:\n- https://community.home-assistant.io/t/sinope-line-voltage-thermostats\n- https://community.home-assistant.io/t/adding-support-for-sinope-light-switch-and-dimmer\n\n### Turning on Neviweb130 debug messages in `neviweb130_log.txt` file\n\nTo have a maximum of information to help you, please provide a snippet of your `neviweb130_log.txt` file. I've added \nsome debug log messages that could help diagnose the problem.\n\nAdd those lines to your `configuration.yaml` file\n   ```yaml\n   logger:\n     default: warning\n     logs:\n       custom_components.neviweb130: debug\n       homeassistant.service: debug\n       homeassistant.config_entries: debug\n   ```\nThis will set default log level to warning for all your components, except for Neviweb130 which will display more detailed \nmessages.\n\n### Error messages received from Neviweb\nIn you log you can get those messages from Neviweb:\n- ACCDAYREQMAX: Maximum daily request reached ('daily': 30000)... Reduce polling frequency.\n- ACCRATELIMIT: Maximum access rate limit reach when login to Neviweb. Too frequent login. Wait few minute before HA restart.\n- ACCSESSEXC: To many open session at the same time. This is common if you restart Home Assistant many times and/or you \n  also have an open session on Neviweb.\n- DVCACTNSPTD: Device action not supported. Service call is not supported for that specific device.\n- DVCATTRNSPTD: Device attribute not supported, The device you have installed have and older firmware and do not support \n  some attributes. Wait for firmware update in Neviweb and the error should disappear or file an issue so we can put an \n  exception in the code.\n- DVCBUSY: Neviweb is performing an update and devices are not available. Try later.\n- DVCCOMMTO: Device Communication Timeout: device do not respond fast enough, or you are polling that device too \n  frequently.\n- DVCNOTSYNC: Device is not in sync with Neviweb. Check your network, router and/or Wi-Fi gateway.\n- DVCUNVLB: Device unavailable. Neviweb is unable to connect with specific device, mostly Wi-Fi devices. \n- MAINTENANCE: Neviweb access temporary blocked for maintenance... Retry later.\n- SVCERR: Service error. Service unavailable. Try later.\n- SVCINVREQ: Invalid request sent to Neviweb, service do not exist or malformed request.\n- USRBADLOGIN: your login and/or password provided in configuration for Neviweb is no good.\n- USRSESSEXP: User session expired. Reduce your scan_interval below 10 minutes or your session will be terminated.\n- VALINVLD: Invalid value sent to Neviweb.\n- ReadTimeout: Request was sent to the device but no answer came back. Network problem.\n- TimeoutError: Timeout error detected... Retry later.\n\nIf you find other error code, please forward them to me.\n\n## Customization\nCustom-ui is almost deprecated and hard to configure. So I've switch to modern lovelace card to ease the process \nand get better results.\n\nPrerequisites:\n- The icons are located in www folder in this repo. Copy them in config/www/neviweb130/. You need to create the\n  neviweb130 under config/www. (called /local in HA)\n- Install via HACS the lovelace card: card-mod, mushroom and for stack-in-card.\n- Make sure you have at least neviweb130 v4.1.2\n\nNeviweb130 will manage the icon to show depending on heat level for thermostats via the **icon_type** attribute. For\nsensors, monitors and valve, battery icon are managed via **battery_icon** attributes based on battery level.\nYou can retrieve the icon name with template like this example:\n\nHeat level: `{{ state_attr('climate.neviweb130_climate_th1124wf', 'icon_type') }}`\n\nleak detection: `{{ state_attr('sensor.neviweb130_sensor_wl2010', 'icon_type') }}`\n\nbattery level: `{{ state_attr('sensor.neviweb130_sensor_wl2010', 'battery_icon') }}`\n\nThose template point directly to /local/neviweb130/(icons)\n\nOld style: (Many examples)\n\n![icons](icon_view2.png)\n\nNew style based on Mushroom and Tile cards:\n\n![icons](icon_view3.jpg) \n\n(Feel free to improve my icons and let me know.) \n\nHere the code for tile card, mushroom template card and mushroom climate card. Edit your dashboard and add the card. \nThen edit the code like this:\n\n- tile card:\n```\ntype: tile\ngrid_options:\n  columns: 12\n  rows: 1\nentity: climate.neviweb130_climate_th1124wf\nname:\n  - type: text\n    text: Cuisine\n  - type: text\n    text: Tile card\nshow_entity_picture: true\nvertical: false\nfeatures_position: bottom\n```\nMushroom template:\n```\ntype: custom:mushroom-template-card\nentity: climate.neviweb130_climate_th1124wf\nfeatures_position: bottom\nprimary: |\n  Cave (\n  {{ state_attr(entity, 'temperature') }}\n  °C)\n  Mushroom template card\nsecondary: |\n  {{ states(entity) }} – ({{ state_attr(entity, 'hvac_action') }})\n  Currently: {{ state_attr(entity, 'current_temperature') }} °C\npicture: |\n  {{ state_attr(entity, 'icon_type') }}\ngrid_options:\n  columns: 12\n  rows: 1\n```\n- Mushroom Climate:\n```\ntype: custom:mushroom-climate-card\nentity: climate.neviweb130_climate_th1124wf\nname: th1124wf Mushroom Climate card\nhvac_modes: []\nfill_container: true\nprimary_info: name\nsecondary_info: state\ngrid_options:\n  columns: 12\n  rows: 1\ntap_action:\n  action: more-info\ncard_mod:\n  style:\n    mushroom-shape-icon$: |\n      .shape {\n        background-color: transparent !important;\n        background: url(\"{{ state_attr('climate.neviweb130_climate_th1124wf', 'icon_type') }}\");\n        background-size: cover;\n        background-position: center;\n        border-radius: 50%;\n      }\n    .: |\n      ha-state-icon {\n        display: none !important;\n      }\n```\nYou can group the card in a vertical stack card, stack-in-card.\nSince the entity_picture is defined for all thermostats, valve, sensors you can add the devices directly in a vertical stack card.\nIcon will be dynamically updated for heat level, battery level etc\n```\ntype: vertical-stack\ncards:\n  - type: entities\n    entities:\n      - entity: climate.neviweb130_climate_th1124wf\n      - entity: climate.neviweb130_climate_office\n      - entity: climate.neviweb130_climate_kitchen\n      .....\n```\n\n![icons](icon_view4.jpg) \n\n## Customization for leak sensor\n\nSame as above. \nFor leak detected icon it is the **icon_type** attribute.\nFor battery level it's the same as above with **battery_icon**.\n\nIcons are available from [www](https://github.com/claudegel/sinope-130/tree/master/www) sub-directory. \nCopy them in config/www/neviweb130 in your HA.\n\n## Customization for battery level for monitor and valve:\n\nSame as above with attribute **battery_icon**, **leak_icon** and **icon_type**.\n\n# Device hard reset\n- Thermostats:\n    - Raise the temperature until the display change.\n    - Push the two button until CLR appear on the screen.\n    - Push once the upper button to get YES on the display.\n    - Push both button simultaneously and release immediately. DONE should appear on the screen.\n    - The thermostat will restart with factory setup\n\n- thermostats G2:\n    - Raise the temperature until the display change.\n    - Push and hold the two button until RST appear on the screen.\n    - Wait until device restart.\n\n## TO DO\n- This custom component will be updated to neviweb130-V2 soon. This imply config_flow, coordinator, attributes entities,\n  English/French translation and many more features.\n- Improve energy stat polling from Neviweb.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaudegel%2Fsinope-130","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclaudegel%2Fsinope-130","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaudegel%2Fsinope-130/lists"}