Git Product home page Git Product logo

sinope-130's Introduction

Home Assistant Neviweb130 Custom Components

Custom components to suport Neviweb devices in Home Assistant. Neviweb is a platform created by Sinopé Technologies to interact with their smart devices like thermostats, light switches/dimmers , load controllers, plug and water leak detector etc.

Neviweb130 will manage the zigbee devices connected to Neviweb via the GT130 gateway and the new wifi devices. It is presently almost up to date with Neviweb but some informations are still missing from Sinopé. As new devices are launched by Sinopé, they are added to this custom-component. If you have a device that is not supported yet, please open an issue and I'll add it rapidly.

Big changes for valve devices

Since version 2.6.2, valves devices are supported as new HA valve entities. They are no longer supported as switch. This will cause all your switch.neviweb130_switch_sedna_valve to be replaced by valve.neviweb130_valve_sedna_valve entities. You will need to revise your automation and cards to retreive your valve entities.

Supported Devices

Here is a list of currently supported devices. Basically, it's everything that can be added in Neviweb.

  • Zigbee thermostats:
    • Sinopé TH1123ZB 3000W Line voltage thermostat
    • Sinopé TH1124ZB 4000W Line voltage thermostat
    • Sinopé TH1123ZB 3000W Thermostat for public areas
    • Sinopé TH1124ZB 4000W Thermostat for public areas
    • Sinopé TH1123ZB-G2 3000W Thermostat second generation
    • Sinopé TH1124ZB-G2 4000W Thermostat second generation
    • Sinopé TH1134ZB-HC for control of heating/cooling interlocking
    • Sinopé TH1300ZB 3600W Floor heating thermostat
    • Sinopé TH1400ZB Low voltage thermostat
    • Sinopé TH1500ZB 3600W double pole thermostat
    • Ouellet OTH3600-GA-ZB Floor thermostat
    • Ouellet OTH4000-ZB 4000W Line voltage thermostat
  • Wifi thermostats (no need for GT130):
    • Sinopé TH1124WF wifi 4000W Line voltage thermostat
    • Sinopé TH1123WF wifi 3000W Line voltage thermostat
    • Sinopé TH1300WF wifi 3600W floor thermostat
    • Sinopé TH1310WF wifi 3600W floor thermostat
    • Sinopé TH1400WF wifi low voltage thermostat
    • Sinopé TH1500WF wifi 3600W double pole thermostat
    • Flextherm concerto connect FLP55 floor thermostat (sku FLP55 do not provide energy stats in Neviweb)
    • SRM40 floor thermostat
  • Heatpump controller:
    • Sinopé HP6000ZB-GE for Ouellet heat pump with Gree connector
    • Sinopé HP6000ZB-MA for Convectair heat pump with Midea connector
  • Zigbee lighting:
    • Sinopé SW2500ZB Light switch
    • Sinopé SW2500ZB-G2 Light switch
    • Sinopé DM2500ZB Dimmer
    • Sinopé DM2500ZB-G2 Dimmer
    • Sinopé DM2550ZB Dimmer
    • Sinopé DM2550ZB-G2 Dimmer
  • Zigbee specialized Control:
    • Sinopé RM3250ZB Load controller 50A
    • Sinopé RM3500ZB Calypso load controller 20,8A for water heater
    • Sinopé SP2610ZB in-wall outlet
    • Sinopé SP2600ZB smart portable plug
    • Sinopé MC3100ZB Sedna valve multi-controller for allarm system
  • Wifi specialized control:
    • Sinopé RM3500WF Load controller for water heater
  • Water leak detector and valves:
    • Sinopé VA4201WZ, VA4221WZ, sedna valve 1 inch
    • Sinopé VA4200WZ, VA4220WZ, sedna valve 3/4 inch wifi
    • Sinopé VA4200ZB, sedna valve 3/4 inch zigbee
    • Sinopé VA4220WZ, sedna 2e gen 3/4 inch
    • Sinopé VA4220WF, sedna 2e gen 3/4 inch, wifi
    • Sinopé VA4220ZB, sedna 2e gen 3/4 inch, zigbee
    • Sinopé VA4221WZ, sedna 2e gen 1 inch
    • Sinopé VA4221WF, sedna 2e gen 1 inch, wifi
    • Sinopé VA4221ZB, sedna 2e gen 1 inch, zigbee
    • Sinopé WL4200, water leak detector
    • Sinopé WL4200S, water leak detector with sensor
    • Sinopé WL4200C, perimeter cable water leak detector
    • Sinopé WL4200ZB, water leak detector
    • Sinopé WL4210, water leak detector
    • Sinopé WL4210S, water leak detector with sensor
    • Sinopé WL4210C, perimeter cable water leak detector
    • Sinopé WL4210ZB, water leak detector
    • Sinopé WL4200ZB, connected to Sedna valve
    • Sinopé ACT4220WF-M, VA4220WF-M, sedna multi-residential master valve 2e gen 3/4 inch, wifi
    • Sinopé ACT4220ZB-M, VA4220ZB-M, sedna multi-residential slave valve 2e gen 3/4 inch, zigbee
    • Sinopé ACT4221WF-M, VA4221WF-M, sedna multi-residential master valve 2e gen. 1 inch, wifi
    • Sinopé ACT4221ZB-M, VA4221ZB-M, sedna multi-residential slave valve 2e gen. 1 inch, zigbee
  • Flow sensor: (supported as attribute for the 2e gen Sedna valves)
    • Sinopé FS4220, 3/4 inch flow sensor
    • Sinopé FS4221, 1 inch flow sensor
  • Tank level monitor:
    • Sinopé LM4110-ZB, Propane tank level monitor
  • Gateway:
    • GT130
    • GT4220WF-M, mesh gateway
  • Power supply:
    • Sinopé ACUPS-01, battery backup for Sedna valve

Prerequisite

You need to connect your devices to a GT130 web gateway and add them in your Neviweb portal before being able to interact with them within Home Assistant. Please refer to the instructions manual of your device or visit Neviweb support.

For wifi thermostats you need to connect your devices to Neviweb and add them in the same network then the GT130 zigbee devices.

There are two custom component giving you the choice to manage your devices via the neviweb portal or directly via local zigbee gateway:

  • Neviweb130 custom component to manage your devices via neviweb portal
  • Buy a zigbee gateway like Dresden Conbe II usb dongle and manage directly your zigbee device via ZHA component. I'm adding support for Sinopé zigbee in zha-device-handlers. You can test new Sinopé devices quirks in sinope-zha where I put all new quirks before they are merged into zha-device-handlers.

You need to install only one of them but both can be used at the same time on HA. Zigbee devices managed directly via Conbe II must be removed from Neviweb as they cannot be on two networks at the same time.

Neviweb custom component to manage your device via Neviweb portal:

Installation

There are two methods to install this custom component:

  • via HACS component:
    • This repository is compatible with the Home Assistant Community Store (HACS).
    • After installing HACS, install 'sinope-130' from the store, and use the configuration.yaml example below.
  • Manually via direct download:
    • Download the zip file of this repository using the top right, green download button.

    • Extract the zip file on your computer, then copy the entire custom_components folder inside your Home Assistant config directory (where you can find your configuration.yaml file).

    • Your config directory should look like this:

      config/
        configuration.yaml
        custom_components/
          neviweb130/
            __init__.py
            light.py
            const.py
            switch.py
            climate.py
            sensor.py
            valve.py
            schema.py
            services.yaml
        ...
      

Configuration

To enable Neviweb130 management in your installation, add the following to your configuration.yaml file, then restart Home Assistant.

# Example configuration.yaml entry
neviweb130:
  username: '«your Neviweb username»'
  password: '«your Neviweb password»'
  network: '«your gt130 location name in Neviweb»' (gt130 emplacement dans Neviweb)
  network2: '«your second location name in Neviweb»' (2e emplacement)
  scan_interval: 360
  homekit_mode: False
  stat_interval: 1800

Networks names are the names found on top of first page after loging into Neviweb. If you have more then one network, just click on icon on top to find all networks names. Select the one used for GT130 or wifi devices. Both device type must be on same network to work in neviweb130. If you have two networks for two GT130 or two wifi groups then you can add network2 parameter in your configuration.yaml. See below. You can't mix miwi devices and zigbee/wifi devices on the same network. For miwi devices install Neviweb custom_component which can run along with this custom_component in HA.

network

Configuration options:

key required default description
username yes Your email address used to log in Neviweb.
password yes Your Neviweb password.
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 wifi or zigbee devices are registered.
network2 no 2nd location found The name of the second location you want to control (zigbee and/or wifi only). Don't add it if you have only one network.
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.
homekit_mode no False Add support for Homekit specific values. Not needed if you don't use homekit.
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.

If you have a GT125 also connected to Neviweb the network parameter is mandatory or it is possible that during the setup, the GT125 network will be picked up accidentally. If you have only two GT130/wifi network, you can omit there names as during setup, the first two network found will be picked up automatically. If you prefer to add networs names make sure that they are written «exactly» as in Neviweb. (first letter capitalized or not). Avoid also accented letters as Home Assistant will remove them and location name won't match preventing custom_component loading.

Sedna valve

For Sedna valve there is two way to connect it to Neviweb:

  • Via wifi direct connection. This way leak sensor are connected directly to the Sedna valve which will close if leak is detected.
  • via GT130 in zigbee mode. This way leak sensor are also connected to the GT130 but on leak detection nothing is passed to the valve. You'll need to set some automation rule in Neviweb or HA, to have the Sedna valve close if leak is detected by sensor.

Both mode are supported by this custom component.

Gateway GT130

It is now possible to know if your GT130 is still online of offline with Neviweb via the gateway_status attribute. The GT130 is detected as sensor.neviweb130_sensor_gt130

Custom services

Automations require services to be able to send commande. Ex. light.turn_on. For the Sinopé devices connected via neviweb130, it is possible to use custom services to send specific information to devices or to change some devices parameters. Those custom services can be accessed via development tool/services or can be used in automation:

  • neviweb130.set_second_display, allow to change setting of the thermostats second display from setpoint temperature to outdoor temperature. This need to be sent only once to each devices.
  • neviweb130.set_climate_keypad_lock, allow to lock the keypad of the climate device.
  • neviweb130.set_light_keypad_lock, allow to lock the keypad of the light device.
  • neviweb130.set_switch_keypad_lock, allow to lock the keypad of the switch device.
  • neviweb130.set_light_timer, this is used to set a timer in seconds (0 to 10800) to the light devices to turn_off after that delay.
  • neviweb130.set_switch_timer, this is used to set a timer in seconds (0 to 10800) to the switch devices and multi controller device to turn_off after that delay.
  • neviweb130.set_switch_timer2, this is used to set the timer2 in seconds (0 to 10800) to the switch multi controller device to turn_off after that delay.
  • neviweb130.set_led_indicator, this allow to change led indicator color and intensity on light devices for «on» and «off» state. you can send any color in the RGB list via the three color parameters red, green and blue and you can set intensity of the led indicator.
  • neviweb130.set_time_format to display time in 12h or 24h on thermostats.
  • neviweb130.set_temperature_format to disply temperature in celsius or fahrenheit format on thermostats.
  • neviweb130.set_backlight to set bakclight intensity in state «on» or «off» for thermostats.
  • neviweb130.set_wattage to set wattageOverload for light devices.
  • neviweb130.set_auxiliary_load to set status and load of the auxilary heating.
  • neviweb130.set_setpoint_min to set minimum setpoint temperature for thermostats.
  • neviweb130.set_setpoint_max to set maximum setpoint temperature for thermostats.
  • neviweb130.set_cool_setpoint_min to set minimum cooling setpoint for TH1134ZB-HC.
  • neviweb130.set_cool_setpoint_max to set maximum cooling setpoint for TH1134ZB-HC.
  • neviweb130.set_floor_limit_low to set minimum setpoint temperature for floor thermostats. (5 to 34 oC), (0 = off)
  • neviweb130.set_floor_limit_high to set maximum setpoint temperature for floor thermostats. (7 to 36 oC), (0 = off)
  • neviweb130.set_sensor_alert to set all alert for water leak sensor, temperature, battery, leak, status and set action on valve.
  • neviweb130.set_valve_alert to set low battery alert status.
  • neviweb130.set_valve_temp_alert to set low temperature alert on sedna valve.
  • neviweb130.set_early_start to set early heating on/off for wifi thermostats.
  • neviweb130.set_air_floor_mode to switch between floor or ambiant temperature sensor to control room temperature.
  • neviweb130.set_floor_air_limit to set floor thermostat max air limit temperature.
  • neviweb130.set_phase_control to set phase control mode for DM2550ZB dimmer (reverse or forward).
  • neviweb130.set_hvac_dr_options to set or reset DR period option in Neviweb for thermostats.
  • neviweb130.set_hvac_dr_setpoint to adjust thermostat setpoint reduction during DR period, 100 to -100 (oC*10). 0 will just make the small icon to flash.
  • neviweb130.set_load_dr_options to set or reset DR period options in Neviweb for load controler.
  • neviweb130.set_cycle_output to set main cycle length of low voltage thermostat in minutes.
  • neviweb130.set_aux_cycle_output to set auxiliary cycle length of low voltage thermostats in minutes.
  • neviweb130.set_control_onoff change status of output 1 and 2 on alarm multi-controller for sedna valve.
  • neviweb130.set_battery_type set battery type, alkaline or lithium, for the water leak sensor.
  • neviweb130.set_tank_size to set the water heater tank capacity for Calypso RM3500ZB.
  • neviweb130.set_low_temp_protection to activate or not the water heater protection for water temperature. Below 45 oC heating is auto restarted.
  • neviweb130.set_controlled_device to change the name of the device controled by the RM3250ZB load controler.
  • neviweb130.set_flow_meter_model to change the flow meter model connected to sedna valve 2e gen and start/stop leak protection from flow meter.
  • neviweb130.set_flow_meter_delay to set the leak delay before the valve close if a leak is detected by the flow meter.
  • neviweb130.set_flow_meter_options to set the flow meter action: close the valve (yes/no) and to send alert message (yes/no), or just do nothing.
  • neviweb130.set_tank_type to set tank type for LM4110-ZB, propane or oil.
  • neviweb130.set_gauge_type to set gauge type for LM4110-ZB on propane tank, model 5-95 or 10-80.
  • neviweb130.set_low_fuel_alert to set low fuel level limit for propane tank, 0 (off), 10, 20 or 30%.
  • neviweb130.set_tank_height to set mazout tank height for LM4110-ZB sensor, 0 (off), 23, 24, 35, 38, 47, 48, 50.
  • neviweb130.set_fuel_alert to set fuel alert, on/off for LM4110-ZB.
  • neviweb130.set_power_supply to set power souce for Sedna valve between battery, acups-01 or both.
  • neviweb130.set_battery_alert to set battery alert on/off for LM4110-ZB.
  • neviweb130.set_input_output_names to set name for input 1 and 2 and output 1 and 2 of MC3100ZB device.
  • neviweb130.set_activation to activate or block neviweb polling for a device.
  • neviweb130.set_sensor_type to set sensor value 10k or 12k.
  • neviweb130.set_remaining_time to set value for coldLoadPickupRemainingTime attribute.
  • neviweb130.set_on_off_input_delay to set the «on» or «off» delay in seconds for input 1 and 2 of MC3100ZB.
  • neviweb130.set_em_heat to turn on/off aux heat for floor and low voltage thermostats. This is a replacement of turn_aux_heat_on or off that was deprecated by HA.

Catch Éco Sinopé signal for peak period

If you have at least on thermostat or one load controler registered with Éco-Sinopé program, it is now possible to catch when Neviweb send the signal for pre-heating start period for thermostats or turn_off signal for the load controler. Seven attributes have been added for thermostats and three for load controler to know that peak period is comming and how it is managed:

  • For thermostats:

    • eco_status: set to «off» during normal operation, turn «on» during peak period at the beginning of the pre-heating period. this is the attribute to follow to detect a peak start.
    • eco_setpoint: set to «off» during normal operation, turn «on» during peak period if device is managed by Eco-Sinopé.
    • eco_optout: set to «off» during normal operation during peak period, turn «on» if somebody change the setpoint during peak period.
    • eco_power_relative: set to «off» during normal operation, used to set a minimum temperature compared to setpoint where the thermostat will turn on automatically for frost protection.
    • eco_power_absolute: set to «off» during normal operation, used to limit the pi_heating_demand level between 1 to 100% during peak period.
    • eco_setpoint_status: set to «off» during normal operation, turn «on» if device setpoint is changed by Eco-Sinopé.
    • eco_setpoint_delta: set to 0 during normal operation, changed to values between -10 and +10 during peak period. For pre-heating the value is positive and for peak period it is a negative value. This is a delta applyed to regular setpoint. -10 = setpoint reduced by 10oC. +2 = setpoint increased by 2oC.
  • For load controler:

    • eco_status: set to «off» during normal operation, turn «on» during peak period at the beginning of the pre-heating period. this is the attribute to follow to detect a peak start.
    • eco_onoff: set to «off» during normal operation, turn «on» during peak period if device is managed by Eco-Sinopé. The device is turned off during peak period. Nothing is done during pre-heating period.
    • eco_optout: set to «off» during normal operation during peak period, turn «on» if somebody turn on the device during peak period.
  • For Multi-controller MC3100ZB:

    • eco_status: set to «off» during normal operation, turn «on» during peak period at the beginning of the pre-heating period. this is the attribute to follow to detect a peak start.
    • eco_setpoint: set to «off» during normal operation, no change during peak period if device is managed by Eco-Sinopé.
    • eco_optout: set to «off» during normal operation, during peak period, turn «on» if somebody change the onoff value during peak period.
    • eco_power_relative: set to «off» during normal operation, used to set a minimum temperature compared to room temperature value where the MC3100ZB will turn on automatically for frost protection.
    • eco_power_absolute: set to «off» during normal operation, usage unknown.

It is then possible to make an automation to set all HA devices ready for peak period by following the eco_status attribute change from «off» to «on».

Statistic for energy

Six attributes are added to track energy usage for devices:

  • hourly_kwh_count: total count of kwh hourly usage
  • daily_kwh_count: total count of kwh daily usage
  • monthly_kwh_count: total count of kwh monthly usage
  • hourly_kwh: kwh used for last hour
  • daily_kwh: kwh used for last day
  • monthly_kwh: kwh used for last month

They are polled from Neviweb every 30 minutes. The first polling start 5 minutes after HA restart.

Track energy consumption in HA Energy dashboard

When energy attributes are available, it is possible to track energy consumption of individual devices in Home Assistant energy dashboard by creating a Template sensor in configuration.yaml:

template:
  - sensor:
      - name: "Basement energy usage"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
        state: >-
          {{ state_attr("climate.neviweb130_th1124zb_basement","hourly_kwh_count") }}

or:

template:
  - sensor:
      - name: "Basement energy usage"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total
        state: >-
          {{ state_attr("climate.neviweb130_th1124zb_basement","hourly_kwh") }}

Statistic for Sedna flow sensor

Six attributes are added to track water usage for Sedna valve. They are shown as m³ (cubic meeter) which is what energy module is looking for:

  • hourly_flow_count: total count of water liters hourly usage
  • daily_flow_count: total count of water liters daily usage
  • monthly_flow_count: total count of water liters monthly usage
  • hourly_flow: water liters used for last hour
  • daily_flow: water liters used for last day
  • monthly_flow: water liters used for last month

They are polled from Neviweb every 30 minutes. The first polling start 5 minutes after HA restart.

Track water consumption in HA Energy dashboard

When flow attributes are available, it is possible to track water consumption of sedna valve in Home Assistant energy dashboard by creating a Template sensor in configuration.yaml:

template:
  - sensor:
      - name: "Sedna Water Flow"
        unique_id: sensor.sedna_water_flow
        unit_of_measurement: ""
        device_class: water
        state_class: total_increasing
        state: >-
          {{ state_attr("valve.neviweb130_valve_water_valve","hourly_flow_count") }}

or:

template:
  - sensor:
      - name: "Sedna Water Flow"
        unique_id: sensor.sedna_water_flow
        unit_of_measurement: ""
        device_class: water
        state_class: total
        state: >-
          {{ state_attr("valve.neviweb130_valve_water_valve","hourly_flow") }}

Troubleshooting

if you see your device in the log but it do not apear in entity list you need to add the device model number in the code. Or you can send the model number to me so I can add it in the code.

In the log look for lines:

[custom_components.neviweb130] Received gateway data: [{'id': 100225, 'identifier': '500b91400001f750', 'name': 'Chargeur auto', 'family': '2506',...
[custom_components.neviweb130] Received signature data: {'signature': {'model': 2506, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 2, 'major': 1}, 'hardRev': 2, 'protocol': 'sinopcom'}}

'family': '2506' and 'model': 2506 is what you need to find the model number of your device. It should be added in climate.py, light.py, switch.py or sensor.py near line 132 to 136 (climate.py) depending on device type. Than restart HA and your device will be listed in entity list.

If you get a stack trace related to a Neviweb130 component in your home-assistant.log file, you can file an issue in this repository.

You can also post in one of those threads to get help:

Turning on Neviweb130 debug messages in home-assistant.log file

To have a maximum of information to help you, please provide a snippet of your home-assistant.log file. I've added some debug log messages that could help diagnose the problem.

Add thoses lines to your configuration.yaml file

logger:
  default: warning
  logs:
    custom_components.neviweb130: debug
    homeassistant.service: debug
    homeassistant.config_entries: debug

This will set default log level to warning for all your components, except for Neviweb which will display more detailed messages.

Error messages received from Neviweb

In you log you can get those messages from Neviweb:

  • VALINVLD : Invalid value sent to Neviweb.
  • ACCDAYREQMAX : Maximun daily request reached...Reduce polling frequency.
  • TimeoutError : Timeout error detected...Retry later.
  • MAINTENANCE : Neviweb access temporary blocked for maintenance...Retry later.
  • SVCINVREQ: Invalid request sent to Neviweb, service do not exist or malformed request.
  • DVCCOMMTO: Device Communication Timeout: device do not respond fast enough or you are polling that device too frequently.
  • DVCACTNSPTD: Device action not supported. Service call is not supported for that specific device.
  • USRSESSEXP: User session expired. Reduce your scan_intervall below 6 minutes or your session will be terminated.
  • ACCSESSEXC: To many open session at the same time. This is common if you restart Home Assistant many time and/or you also have an open session on Neviweb.
  • DVCUNVLB: Device unavailable. Neviweb is unable to connect with specific device, mostly wifi devices.
  • DVCBUSY: Neviweb is performing an update and devices are not available. Try later.
  • SVCERR: Service error. Service unavailable. Try later.
  • DVCATTRNSPTD: Device sttribute not supported, The device you have installed have and older firmware and do not support som attributes. Wait for firmware update in Neviweb and the error should dissapear or file an issue so we can put an exception in the code.
  • USRBADLOGIN: your login and/or password provided in configuration for Neviweb is no good.
  • ReadTimeout: Request was sent to the device but no answer came back. Network problem.

Customization

Install Custom-Ui custom_component via HACS and add the following in your code:

Icons for heat level: create folder www in the root folder .homeassistant/www copy the six icons there. You can find them under local/www feel free to improve my icons and let me know. (See icon_view2.png)

For each thermostat add this code in customize.yaml

climate.neviweb_climate_thermostat_name:
  templates:
    entity_picture: >
      if (attributes.heat_level < 1) return '/local/heat-0.png';
      if (attributes.heat_level < 21) return '/local/heat-1.png';
      if (attributes.heat_level < 41) return '/local/heat-2.png';
      if (attributes.heat_level < 61) return '/local/heat-3.png';
      if (attributes.heat_level < 81) return '/local/heat-4.png';
      return '/local/heat-5.png';

In configuration.yaml add this

homeassistant:
  customize: !include customize.yaml

Customization for leak sensor

Same as above. -Create a sensor:

battery_spa:
        friendly_name: "Batterie spa"
        unit_of_measurement: "%"
        value_template: "{{ state_attr('sensor.neviweb130_sensor_spa', 'Battery_level') }}"

-For each leak detector add this to your customize.yaml file

sensor.battery_spa:
  templates:
    entity_picture: >
      if (entity.state < 10) return '/local/battery-1.png';
      if (entity.state < 30) return '/local/battery-2.png';
      if (entity.state < 50) return '/local/battery-3.png';
      if (entity.state < 70) return '/local/battery-4.png';
      return '/local/battery-5.png';
sensor.neviweb130_sensor_spa:    
      if (attributes.Leak_status == "ok") return ''/local/drop.png'';
      return ''/local/leak.png'';'

Icons are availables from www directory. copy them in config/www

Device hard reset:

  • Thermostats:

    • Raise the temperature until the display change.
    • Push the two button until CLR appear on the screen.
    • Push once the upper button to get YES on the display.
    • Push both button simutanously and release immediately. DONE should appear on the screen.
    • The thermostat will restart with factory setup
  • thermostats G2:

    • Raise the temperature until the display change.
    • Push and hold the two button until RST appear on the screen.
    • Wait until device restart.

TO DO

  • when this component will be stable. Merge it with The Neviweb component to poll all devices from only one component.

Buy me a coffee

If you want to make donation as appreciation of my work, you can do so via PayPal. Thank you! Support via PayPal

sinope-130's People

Contributors

chdagenais avatar claudegel avatar ericgu08 avatar jordanm1738 avatar mictechca avatar vincentlabonte avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sinope-130's Issues

frequent Updating error code in warning log

is this expected behavior to show this warning so frequently in the log if no error code ? looks like it's logged on pretty much each update

Logger: custom_components.neviweb130.climate
Source: custom_components/neviweb130/climate.py:902
Integration: Sinope Neviweb130 (documentation)
First occurred: 7 août 2022 à 22:18:12 (434 occurrences)
Last logged: 09:53:20

Updating error code: {'referenceSensor': 'ok', 'compensationSensor': 'ok', 'airSensor': 'ok', 'wireSensor': 'ok', 'currentOverload': 'ok', 'thermalOverload': 'ok', 'loadError': 'ok', 'endOfLife': False}

line 902

Updating error code: None

Hi Claude,

Received that error in my log for my TH1123WF Thermostat.

Here some info :

Logger: custom_components.neviweb130.climate
Source: custom_components/neviweb130/climate.py:1006
Integration: Sinope Neviweb130 (documentation)
First occurred: 14 décembre 2022 à 22:52:37 (517 occurrences)
Last logged: 09:45:13

Updating error code: None

2022-12-17 09:45:13.342 DEBUG (SyncWorker_6) [custom_components.neviweb130.climate] Updating neviweb130 climate Salon (0.827 sec): {'roomSetpoint': 21, 'outputPercentDisplay': {'percent': 100, 'sourceType': 'heating'}, 'roomTemperature': {'value': 20.36, 'error': None}, 'roomSetpointMin': 5, 'roomSetpointMax': 30, 'roomTemperatureDisplay': {'value': 20.5, 'status': 'on'}, 'timeFormat': '24h', 'temperatureFormat': 'celsius', 'drStatus': {'drActive': 'off', 'optOut': 'off', 'setpoint': 'off', 'powerAbsolute': 'off', 'powerRelative': 'off'}, 'drSetpoint': {'status': 'off', 'value': None}, 'loadWattOutput1': 1869, 'loadWatt': 1869, 'wifiRssi': -52, 'keyboardLock': 'unlock', 'config2ndDisplay': 'default', 'setpointMode': 'manual', 'occupancyMode': 'none', 'backlightAutoDim': 'alwaysOn', 'earlyStartCfg': 'off', 'roomSetpointAway': 15}
2022-12-17 09:45:13.710 DEBUG (SyncWorker_6) [custom_components.neviweb130] Error code status data: {}
2022-12-17 09:45:13.710 WARNING (SyncWorker_6) [custom_components.neviweb130.climate] Updating error code: None

This is every 30 mins, so looks like from the energy statistic

HVAC Mode - Zigbee

Maybe this is not a issue, but it seems that we can't set the HVAC Mode with the Zigbee (TH1123ZB by example) device with GT130 gateway.

I only have these attributes in Neviweb (developper console) :
{"roomSetpoint":16,"roomTemperature":{"value":18.1},"outputPercentDisplay":0}

If I check my WiFi's devices, I have more attributes :
{"setpointMode":"manual","roomSetpoint":21.5,"roomTemperatureDisplay":{"value":21.5,"status":"on"},"outputPercentDisplay":{"percent":20,"sourceType":"heating"},"occupancyMode":"none"}

Or I missing something ;-)

Error on startup

Looks like this change home-assistant/core#68821 in HA 2022.4.0 broke this plugin.

Logger: homeassistant.setup
Source: setup.py:298
First occurred: 2:54:42 PM (1 occurrences)
Last logged: 2:54:42 PM

Unable to prepare setup for platform neviweb130.switch: Platform not found (cannot import name 'ATTR_TODAY_ENERGY_KWH' from 'homeassistant.components.switch' (/usr/src/homeassistant/homeassistant/components/switch/__init__.py)).

Thanks!

Add Support for FS4220 Flow Sensors

Hi! I'm using a Sedna WiFi water valve, which is directly connected to a FS4220 / FS4221 flow sensor and connected via Zigbee to many water sensors. This was originally configured by the Neviweb app, and I've used this repository to view and monitor these devices in Home Assistant.

Home Assistant just added water usage tracking to the energy dashboard. Would it be possible to capture water consumption information from the flow sensor attached to my Sedna valve so that it can then be displayed on the energy dashboard?

Also, thank you for developing this integration. It's really helpful and it prompted me to start using Home Assistant!

Service set_climate_keypad_lock not working

Hi Claude,

It seems like the custom service set_climate_keypad_lock is not working. I've tested it through the dev tools section, the service executes fine, but my thermostat (TH1123WF) keypad lock state does not update from this command. Here's the YAML configuration for the service:

service: neviweb130.set_climate_keypad_lock
data:
  entity_id: climate.basement_thermostat
  lockKeypad: locked

Thanks

Received gateway data: {'error': {'code': 'VALINVLD',

Hi Claude
I am trying to test your integration in HA.
I fail to set it up properly.
I get error
DEBUG (SyncWorker_1) [custom_components.neviweb130] Received gateway data: {'error': {'code': 'VALINVLD', 'data': {'value': None, 'name': 'location$id'}}}
2020-12-29 16:04:34 ERROR (MainThread) [homeassistant.setup] Error during setup of component neviweb130
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 213, in _async_setup_component
result = await task
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/init.py", line 41, in setup
data = Neviweb130Data(hass_config[DOMAIN])
File "/config/custom_components/neviweb130/init.py", line 64, in init
self.neviweb130_client = Neviweb130Client(username, password, network)
File "/config/custom_components/neviweb130/init.py", line 100, in init
self.__get_gateway_data()
File "/config/custom_components/neviweb130/init.py", line 175, in __get_gateway_data
data = self.get_device_attributes(device["id"], [ATTR_SIGNATURE])
TypeError: string indices must be integers

I set this config
neviweb130:
username: 'xxxxx'
password: 'xxxx'
network: ''
scan_interval: 360

For network I dont know what to put. In french, I did not find the term "Reseau" anywere in Neviweb.
I have a GT130 name that is GT130 too.
My "Location/Emplacement" name is Zigbee
But nothing that says "network/réseau"

it did connect to Neviweb correctly.
2020-12-29 15:43:57 DEBUG (SyncWorker_1) [custom_components.neviweb130] Login response: {'user': {'id': xxxxx, 'role': 'owner', 'email': 'xxxxxxxxxxxxx', 'locale': 'fr', 'format': {'time': '24', 'temperature': 'c'}, 'initialized': 1}, 'account': {'id': xxxxx, 'interface': 'neviweb', 'type': 'free'}, 'iat': 9999999999999999999999, 'session': '79c4223423453daa407d9e36a8fddfsfsdfs33dcb7739bb8618', 'refreshToken': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'}
2020-12-29 15:43:57 DEBUG (SyncWorker_1) [custom_components.neviweb130] Successfully logged in

OK
I figured it out ... though I thought it was the first thing I tried ... seems not.

"Network" in the configuration is called "Location or Emplacement" in Neviweb. Not "Network"
I put the Location name "Maison" in the "Network" in the configuration file and now it detected all my devices.

Claude maybe you can add a more descriptive message if the "Network" is wrong.
See the "Received gateway data: " message above.
Contrary to what the documentation says, leaving Network to '' in the configuration did not work in my situation. Look at the log above to see what Neviweb returned

Try to another second thermostat TH1400WF

Bonjour Claude,

I'm trying to add a second thermostat TH1400WF without success. I already have a TH1124WF. But I can't see the TH1400WF in the entities list

In the code I see that supposed to support this version. model 739. Tried to reinstall the HACS to see it without success.

Here the debug file.
2022-02-28 18:17:31 DEBUG (MainThread) [custom_components.neviweb130.climate] Setting up neviweb130 climate TH1400WF: {'id': 268636, 'identifier': '246f28fffea7cf6c', 'name': 'TH1400WF', 'family': '739', 'signature': {'model': 739, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 3, 'minor': 7}, 'hardRev': 0, 'protocol': 'sinopcom'}, 'location$id': 48664, 'parentDevice$id': None, 'group$id': 103987, 'orderIdx': 0, 'sku': 'TH1400WF', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}

2022-02-28 18:32:18 DEBUG (SyncWorker_1) [custom_components.neviweb130.climate] Updating neviweb130 climate TH1400WF (1.071 sec): {'roomSetpoint': 5, 'outputPercentDisplay': {'percent': 0, 'sourceType': 'heating'}, 'roomTemperature': {'value': 7.96, 'error': None}, 'roomSetpointMin': 5, 'roomSetpointMax': 30, 'timeFormat': '24h', 'temperatureFormat': 'celsius', 'drStatus': {'drActive': 'off', 'optOut': 'off', 'setpoint': 'off', 'powerAbsolute': 'off', 'powerRelative': 'off'}, 'drSetpoint': {'status': 'off', 'value': None}, 'loadWattOutput1': 0, 'loadWatt': 0, 'wifiRssi': -68, 'keyboardLock': 'unlock', 'config2ndDisplay': 'default', 'setpointMode': 'manual', 'occupancyMode': 'none', 'backlightAutoDim': 'alwaysOn', 'roomTemperatureDisplay': {'value': 8, 'status': 'on'}, 'earlyStartCfg': 'off', 'roomSetpointAway': 5, 'pumpProtection': {'status': 'off'}, 'floorMaxAirTemperature': {'value': None, 'status': 'off'}, 'airFloorMode': 'roomByFloor', 'floorSensorType': '10k', 'auxCycleLength': 0, 'cycleLength': 900, 'floorLimitHigh': {'value': None, 'status': 'off'}, 'floorLimitLow': {'value': None, 'status': 'off'}}

[configuration.yaml]
neviweb130:
username: !secret thermostat_user
password: !secret thermostat_password
scan_interval: 300
homekit_mode: False

Thanks
DieuVolkanos

Session expired

Second time this week, I’m getting a session expired message in log. Thermostats stop updating.

Restarting HA restore the normal behaviour, but I’ll watch for how long before the session expire again (got this happening 2 times this week)

Traceback` (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 446, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 654, in async_device_update
    raise exc
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/neviweb130/climate.py", line 425, in update
    device_data = self._client.get_device_attributes(self._id,
  File "/config/custom_components/neviweb130/__init__.py", line 235, in get_device_attributes
    raise PyNeviweb130Error("Session expired")
custom_components.neviweb130.PyNeviweb130Error: Session expired

scan interval is 300

running HA 2021.08

Only one devices appearing in Home Assistant

Hi, thank you very much for this integration :-)

Looks like I'm the first one to submit and issue :-)

I have 6 thermostats (five TH1123ZB and one TH1124ZB) as well as a GT130 hub. I chose the Neviweb setup because that's what HACS installed (I believe). In Home Assistant, only the Living room thermostat (the TH1124ZB) is showing, although the log shows it sees all of them. Is there something I most do have the other appears?

If I have to send the logs, is there something I must 'blank out' to anonymise it?

Thanks!

Hass actions to neviweb causes thermostat state to go into autoBypass which isn't appreciated by Hass-HomeKit

Thought I'd let you know; I noticed the state itself on neviweb is recognized by their API, and displayed in the UI when used, but normally not available. I think the hass device needs to report back 'auto' (even when its in 'autoBypass') to not break the rest of the hass ecosystem (in this case, Homekit Bridge).

Bon travail!

2022-02-01 08:38:49 ERROR (MainThread) [homeassistant.helpers.event] Error while processing state change for climate.neviweb130_climate_living_room
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 269, in _async_state_change_dispatcher
hass.async_run_hass_job(job, event)
File "/usr/src/homeassistant/homeassistant/core.py", line 433, in async_run_hass_job
hassjob.target(*args)
File "/usr/src/homeassistant/homeassistant/components/homekit/accessories.py", line 397, in async_update_event_state_callback
self.async_update_state_callback(event.data.get("new_state"))
File "/usr/src/homeassistant/homeassistant/components/homekit/accessories.py", line 419, in async_update_state_callback
self.async_update_state(new_state)
File "/usr/src/homeassistant/homeassistant/components/homekit/type_thermostats.py", line 444, in async_update_state
self._async_update_state(new_state)
File "/usr/src/homeassistant/homeassistant/components/homekit/type_thermostats.py", line 466, in _async_update_state
homekit_hvac_action = HC_HASS_TO_HOMEKIT_ACTION[hvac_action]
KeyError: 'autoBypass'

TH1400ZB erreur de mise à jours

Depuis que j'ai ajouté 2 thermostat TH1400ZB à mon réseau, j'ai un erreur répétitive. L'erreur apparait environ 30 minutes après un redémarrage de HA et par la suite, ce produit à chaque 5 minutes (mon scan_interval est à 300).

J'utilise la version 1.7.2. J'ai décommenté la ligne 920 du fichier climate.py pour avoir le contenu de la variable device_error_code.

Voici ce que j'ai dans les logs:
2022-11-02 21:46:27.281 WARNING (SyncWorker_1) [custom_components.neviweb130.climate] Updating error code: {'compensationSensor': 'ok', 'airSensor': 'ok', 'floorSensor': 'ok', 'thermalOverload': 'ok'}
2022-11-02 21:46:27.283 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.neviweb130_climate_th1400zb fails
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/homeassistant/helpers/entity.py", line 515, in async_update_ha_state
await self.async_device_update()
File "/usr/lib/python3.10/site-packages/homeassistant/helpers/entity.py", line 710, in async_device_update
raise exc
File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/climate.py", line 929, in update
self._code_wire_sensor = device_error_code["wireSensor"]
KeyError: 'wireSensor'

TypeError: string indices must be integers (core-2022.4.6)

Hi Claude,

Just FYI, this came up after the recent core-2022.4.6 update that’s causing the module to fail initialization.

Logger: homeassistant.setup
Source: custom_components/neviweb130/init.py:213
Integration: neviweb130 (documentation)
First occurred: 9:02:12 PM (1 occurrences)
Last logged: 9:02:12 PM

Error during setup of component neviweb130
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 235, in _async_setup_component
result = await task
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/init.py", line 106, in setup
data = Neviweb130Data(hass_config[DOMAIN])
File "/config/custom_components/neviweb130/init.py", line 133, in init
self.neviweb130_client = Neviweb130Client(username, password, network)
File "/config/custom_components/neviweb130/init.py", line 159, in init
self.__get_network()
File "/config/custom_components/neviweb130/init.py", line 213, in __get_network
if network["name"] == self._network_name:
TypeError: string indices must be integers

Index out of range starting with v.1.1.0

Logger: homeassistant.components.climate
Source: custom_components/neviweb130/climate.py:708
Integration: Climate (documentation, issues)
First occurred: 3:34:28 PM (1 occurrences)
Last logged: 3:34:28 PM

neviweb130: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 431, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 709, in async_device_update
await task
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/climate.py", line 708, in update
self._hour_energy_kwh_count = device_hourly_stats[0]["counter"] / 1000
IndexError: list index out of range

Setup stock at "custom_components/neviweb130/__init__.py:199"

Hi. I did the setup using HACS repositoty.

I am getting the following error:

Logger: homeassistant.setup
Source: custom_components/neviweb130/init.py:199
First occurred: 8:47:01 (1 occurrences)
Last logged: 8:47:01

Error during setup of component neviweb130
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 213, in _async_setup_component
result = await task
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/init.py", line 74, in setup
data = Neviweb130Data(hass_config[DOMAIN])
File "/config/custom_components/neviweb130/init.py", line 97, in init
self.neviweb130_client = Neviweb130Client(username, password, network)
File "/config/custom_components/neviweb130/init.py", line 124, in init
self.__get_gateway_data()
File "/config/custom_components/neviweb130/init.py", line 199, in __get_gateway_data
data = self.get_device_attributes(device["id"], [ATTR_SIGNATURE])
TypeError: string indices must be integers

Cette entité n'est plus fournie par l'intégration neviweb130

Bonjour,
J'ai une valve d'eau VA4200WZ quand je force l'utilisation de la version 1.7.2 ou avant elle fonctionne parfaitement.
Lorsque je met à jour Sinope Neviweb130 depuis HACS vers une version >1.7.2 elle ne fonctionne plus.
Elle est bien présente dans Neviweb mais dans Home assistant j'ai le message suivant:

Cette entité n'est plus fournie par l'intégration neviweb130. Si l'entité n'est plus utilisée, supprimez-la depuis les paramètres.

Capture d’écran, le 2022-11-17 à 18 56 27

Impossible to turn on lights

It's impossible to turn on a dimmer light (not tested with switch, only dimmer). I have the following error :

Détails du journal ( ERROR )
Sun Mar 01 2020 10:07:06 GMT-0500 (heure normale de l’Est nord-américain)
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 576, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 601, in async_turn_on
await self.hass.async_add_job(ft.partial(self.turn_on, **kwargs))
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/light.py", line 135, in turn_on
if not self._is_on:
AttributeError: 'Neviweb130Light' object has no attribute '_is_on'

State attributes : null

Je remonte ce sujet car je fait face au même problème.
Je tente d'extraire les données de consommations et tout mes thermostats me renvoi :null

hourly_kwh_count: null
daily_kwh_count: null
monthly_kwh_count: null
hourly_kwh: null
daily_kwh: null
monthly_kwh: null

Originally posted by @Khayrisill in #85 (comment)

Problem with power management

Il y a dû y avoir un changement il y a quelques semaines, parce que j'ai remarqué cela il y a plusieurs jours:
eco_setpoint_value: null
hourly_kwh_count: null
daily_kwh_count: null
monthly_kwh_count: null
hourly_kwh: null
daily_kwh: null
monthly_kwh: null
rssi: null

Error with VA4220WF?

HomeAssistant 2023.1.7, Sinope-130 v2.0.0

Error in log:
neviweb130: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 503, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 729, in async_device_update
await task
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/sensor.py", line 256, in update
device_data[ATTR_WATER_LEAK_STATUS] == STATE_WATER_LEAK else "ok"
KeyError: 'waterLeakStatus'

Heat and OFF button doesn't work

Hi,

I installed the Sinope Neviweb130 GT130 for my new thermostat TH1124WF. I don't have the GT130 gateway, but the thermostat control for the temperature work fine at Auto mode. When I tried to turn Off or Heat with HomeAssistant, I have a glitch and return to Auto. If I use the NeviWeb on my mobile and turn off or Heat mode, I see the modification in HA for the mode.

Why the Heat and Off button doesn't work? This is the debug when I click on heat and off.

2022-02-22 16:04:07 DEBUG (SyncWorker_5) [custom_components.neviweb130.climate] Updating neviweb130 climate Thermostat (0.766 sec): {'roomSetpoint': 18, 'outputPercentDisplay': {'percent': 100, 'sourceType': 'heating'}, 'roomTemperature': {'value': 19.78, 'error': None}, 'roomSetpointMin': 15, 'roomSetpointMax': 25, 'timeFormat': '24h', 'temperatureFormat': 'celsius', 'drStatus': {'drActive': 'off', 'optOut': 'off', 'setpoint': 'off', 'powerAbsolute': 'off', 'powerRelative': 'off'}, 'drSetpoint': {'status': 'off', 'value': None}, 'loadWattOutput1': 1913, 'loadWatt': 1913, 'wifiRssi': -38, 'keyboardLock': 'unlock', 'config2ndDisplay': 'default', 'setpointMode': 'autoBypass', 'occupancyMode': 'home', 'backlightAutoDim': 'alwaysOn', 'roomTemperatureDisplay': {'value': 20, 'status': 'on'}, 'earlyStartCfg': 'off', 'roomSetpointAway': 18}
2022-02-22 16:04:49 DEBUG (SyncWorker_9) [custom_components.neviweb130] Data = {'systemMode': 'heat'}
2022-02-22 16:04:49 DEBUG (SyncWorker_9) [custom_components.neviweb130] Request response = 200
2022-02-22 16:04:49 DEBUG (SyncWorker_9) [custom_components.neviweb130] Json Data received= {}
2022-02-22 16:04:49 DEBUG (SyncWorker_9) [custom_components.neviweb130] Content = b'{}'
2022-02-22 16:04:49 DEBUG (SyncWorker_9) [custom_components.neviweb130] Text = {}
2022-02-22 16:04:50 DEBUG (SyncWorker_9) [custom_components.neviweb130.climate] Updating neviweb130 climate Thermostat (0.734 sec): {'roomSetpoint': 18, 'outputPercentDisplay': {'percent': 0, 'sourceType': 'heating'}, 'roomTemperature': {'value': 19.78, 'error': None}, 'roomSetpointMin': 15, 'roomSetpointMax': 25, 'timeFormat': '24h', 'temperatureFormat': 'celsius', 'drStatus': {'drActive': 'off', 'optOut': 'off', 'setpoint': 'off', 'powerAbsolute': 'off', 'powerRelative': 'off'}, 'drSetpoint': {'status': 'off', 'value': None}, 'loadWattOutput1': 1913, 'loadWatt': 1913, 'wifiRssi': -38, 'keyboardLock': 'unlock', 'config2ndDisplay': 'default', 'setpointMode': 'autoBypass', 'occupancyMode': 'home', 'backlightAutoDim': 'alwaysOn', 'roomTemperatureDisplay': {'value': 20, 'status': 'on'}, 'earlyStartCfg': 'off', 'roomSetpointAway': 18}
2022-02-22 16:05:14 DEBUG (SyncWorker_4) [custom_components.neviweb130] Data = {'systemMode': 'off'}
2022-02-22 16:05:14 DEBUG (SyncWorker_4) [custom_components.neviweb130] Request response = 200
2022-02-22 16:05:14 DEBUG (SyncWorker_4) [custom_components.neviweb130] Json Data received= {}
2022-02-22 16:05:14 DEBUG (SyncWorker_4) [custom_components.neviweb130] Content = b'{}'
2022-02-22 16:05:14 DEBUG (SyncWorker_4) [custom_components.neviweb130] Text = {}
2022-02-22 16:05:15 DEBUG (SyncWorker_9) [custom_components.neviweb130.climate] Updating neviweb130 climate Thermostat (0.771 sec): {'roomSetpoint': 18, 'outputPercentDisplay': {'percent': 0, 'sourceType': 'heating'}, 'roomTemperature': {'value': 19.75, 'error': None}, 'roomSetpointMin': 15, 'roomSetpointMax': 25, 'timeFormat': '24h', 'temperatureFormat': 'celsius', 'drStatus': {'drActive': 'off', 'optOut': 'off', 'setpoint': 'off', 'powerAbsolute': 'off', 'powerRelative': 'off'}, 'drSetpoint': {'status': 'off', 'value': None}, 'loadWattOutput1': 1913, 'loadWatt': 1913, 'wifiRssi': -38, 'keyboardLock': 'unlock', 'config2ndDisplay': 'default', 'setpointMode': 'autoBypass', 'occupancyMode': 'home', 'backlightAutoDim': 'alwaysOn', 'roomTemperatureDisplay': {'value': 20, 'status': 'on'}, 'earlyStartCfg': 'off', 'roomSetpointAway': 18}

configuration.yml

neviweb130:
  username: !secret thermostat_user
  password: !secret thermostat_password
  scan_interval: 300

logger:
  default: warning
  logs:
    custom_components.neviweb130: debug
    homeassistant.service: debug
    homeassistant.config_entries: debug

Home Assistant 2022.2.9
Sinope Neviweb130 v1.1.5

Thanks,
DieuVolkanos

WL4200S not updating temperature values

Not sure if this is the correct place for this issue, but I have multiple WL4200S sensors and also a WL4200 sensor. The WL4200 is updating its temperature values frequently (multiple times per hour, if there are changes) in Home Assistant but the WL4200S sensors never change their values. The WL4200S sensors otherwise work fine (e.g. they trigger the leak sensor and the Last Seen value on the device page is generally only a few minutes old).

Anything specific I can try to troubleshoot this further, or if this isn't the right place for this, where would I open the issue?

EDIT: I'm using Conbee II and not neviweb

erreur

Bonjour je viens de découvrir home assistant et j'essaie d'ajouter les thermostats sinopé.
j'ai installer les thermostats a partir de l'intégration du hacs
et ajouter c'est lignes dans configuration.yaml

neviweb130:
username: ''
password: ''
network: '<192.168.0.0>'
scan_interval: 500
il me donne cette erreur. avez-vous une idée

Merci de votre aide

Error during setup of component neviweb130
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 229, in _async_setup_component
result = await task
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/init.py", line 91, in setup
data = Neviweb130Data(hass_config[DOMAIN])
File "/config/custom_components/neviweb130/init.py", line 114, in init
self.neviweb130_client = Neviweb130Client(username, password, network)
File "/config/custom_components/neviweb130/init.py", line 140, in init
self.__get_network()
File "/config/custom_components/neviweb130/init.py", line 194, in __get_network
if network["name"] == self._network_name:
TypeError: string indices must be integers

Error on RM3500ZB Update

Installed a new RM3500ZB. No entities is added. Turned on debug traces. It does seem to read valid values from the device but fails on updating the 'switch' data. Here are the startup logs:

2022-12-10 15:55:28.146 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration meross_cloud which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-10 15:55:28.149 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration webrtc which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-10 15:55:28.151 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration neviweb130 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-10 15:55:28.153 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration ui_lovelace_minimalist which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-10 15:55:28.156 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-10 15:55:28.158 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration eufy_security which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-10 15:55:40.544 DEBUG (SyncWorker_2) [custom_components.neviweb130] Login response: {}
2022-12-10 15:55:40.545 DEBUG (SyncWorker_2) [custom_components.neviweb130] Successfully logged in to: 14594
2022-12-10 15:55:40.816 DEBUG (SyncWorker_2) [custom_components.neviweb130] Number of networks found on Neviweb: 1
2022-12-10 15:55:40.827 DEBUG (SyncWorker_2) [custom_components.neviweb130] networks: [{'id': 15944, 'account$id': 14594, 'location$id': None, 'group$id': None, 'name': 'Maison', 'postalCode': 'H7N5W8', 'address': None, 'mode': 'home', 'icon': 1, 'type': None, 'kwhCost': 0.0885, 'deviceListUpdate': '2022-12-10 19:30:25', 'modified': '2022-01-22 14:11:53', 'created': '2019-11-14 01:06:53'}]
2022-12-10 15:55:40.827 DEBUG (SyncWorker_2) [custom_components.neviweb130] Selecting Maison network among: [{'id': 15944, 'account$id': 14594, 'location$id': None, 'group$id': None, 'name': 'Maison', 'postalCode': 'H7N5W8', 'address': None, 'mode': 'home', 'icon': 1, 'type': None, 'kwhCost': 0.0885, 'deviceListUpdate': '2022-12-10 19:30:25', 'modified': '2022-01-22 14:11:53', 'created': '2019-11-14 01:06:53'}]
2022-12-10 15:55:41.086 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received gateway data: [{'id': 141140, 'identifier': 'ccccccfffe6fb607', 'name': 'GT130', 'family': 'GT130', 'signature': {'model': 130, 'modelCfg': 1, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 3, 'minor': 0}, 'hardRev': 3}, 'location$id': 15944, 'parentDevice$id': None, 'group$id': 15139, 'orderIdx': 0, 'sku': 'GT130', 'vendor': 'Sinopé', 'url_en': 'https://www.sinopetech.com/produit/passerelle-zigbee/', 'url_fr': 'https://www.sinopetech.com/en/product/gateway-zigbee/'}, {'id': 350516, 'identifier': 'ccccccfffe6fb607-003c84fffe8b2211', 'name': 'RM3500ZB', 'family': '2151', 'signature': {'model': 2151, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 3, 'middle': 2, 'major': 0}, 'hardRev': 0}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14416, 'orderIdx': 0, 'sku': 'RM3500ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 141145, 'identifier': 'ccccccfffe6fb607-500b914000022d16', 'name': 'TH1123ZB', 'family': '1123', 'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 2}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 16675, 'orderIdx': 0, 'sku': 'TH1123ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 141141, 'identifier': 'ccccccfffe6fb607-500b91400001106c', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14409, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 141143, 'identifier': 'ccccccfffe6fb607-500b914000010fce', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14413, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 141144, 'identifier': 'ccccccfffe6fb607-500b914000011361', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14411, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 141146, 'identifier': 'ccccccfffe6fb607-500b91400001155d', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 15138, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 211954, 'identifier': 'ccccccfffe6fb607-500b914000011225', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 15139, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 141147, 'identifier': 'ccccccfffe6fb607-500b914000020ad1', 'name': 'TH1300ZB', 'family': '737', 'signature': {'model': 737, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 1, 'major': 1}, 'hardRev': 0}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14416, 'orderIdx': 0, 'sku': 'TH1300ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}]
2022-12-10 15:55:41.522 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 130, 'modelCfg': 1, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 3, 'minor': 0}, 'hardRev': 3, 'protocol': 'sinopcom'}}
2022-12-10 15:55:41.730 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2151, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 3, 'middle': 2, 'major': 0}, 'hardRev': 0, 'protocol': 'sinopcom'}}
2022-12-10 15:55:42.049 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 2, 'protocol': 'sinopcom'}}
2022-12-10 15:55:42.344 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}}
2022-12-10 15:55:42.538 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}}
2022-12-10 15:55:42.837 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}}
2022-12-10 15:55:43.063 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}}
2022-12-10 15:55:43.294 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}}
2022-12-10 15:55:43.489 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 737, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 1, 'major': 1}, 'hardRev': 0, 'protocol': 'sinopcom'}}
2022-12-10 15:55:43.490 DEBUG (SyncWorker_2) [custom_components.neviweb130] Setting scan interval to: 0:06:00
2022-12-10 15:55:43.500 DEBUG (SyncWorker_2) [custom_components.neviweb130] Setting Homekit mode to: False
2022-12-10 15:55:43.691 DEBUG (MainThread) [custom_components.neviweb130.switch] Setting up neviweb130 switch RM3500ZB: {'id': 350516, 'identifier': 'ccccccfffe6fb607-003c84fffe8b2211', 'name': 'RM3500ZB', 'family': '2151', 'signature': {'model': 2151, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 3, 'middle': 2, 'major': 0}, 'hardRev': 0, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14416, 'orderIdx': 0, 'sku': 'RM3500ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}
2022-12-10 15:55:43.693 DEBUG (MainThread) [custom_components.neviweb130.sensor] Setting up neviweb130 sensor GT130: {'id': 141140, 'identifier': 'ccccccfffe6fb607', 'name': 'GT130', 'family': 'GT130', 'signature': {'model': 130, 'modelCfg': 1, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 3, 'minor': 0}, 'hardRev': 3, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': None, 'group$id': 15139, 'orderIdx': 0, 'sku': 'GT130', 'vendor': 'Sinopé', 'url_en': 'https://www.sinopetech.com/produit/passerelle-zigbee/', 'url_fr': 'https://www.sinopetech.com/en/product/gateway-zigbee/'}
2022-12-10 15:55:44.122 DEBUG (MainThread) [custom_components.neviweb130.climate] Setting up neviweb130 climate TH1123ZB: {'id': 141145, 'identifier': 'ccccccfffe6fb607-500b914000022d16', 'name': 'TH1123ZB', 'family': '1123', 'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 2, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 16675, 'orderIdx': 0, 'sku': 'TH1123ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}
2022-12-10 15:55:44.122 DEBUG (MainThread) [custom_components.neviweb130.climate] Setting up neviweb130 climate TH1124ZB: {'id': 141141, 'identifier': 'ccccccfffe6fb607-500b91400001106c', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14409, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}
2022-12-10 15:55:44.123 DEBUG (MainThread) [custom_components.neviweb130.climate] Setting up neviweb130 climate TH1124ZB: {'id': 141143, 'identifier': 'ccccccfffe6fb607-500b914000010fce', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14413, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}
2022-12-10 15:55:44.123 DEBUG (MainThread) [custom_components.neviweb130.climate] Setting up neviweb130 climate TH1124ZB: {'id': 141144, 'identifier': 'ccccccfffe6fb607-500b914000011361', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14411, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}
2022-12-10 15:55:44.123 DEBUG (MainThread) [custom_components.neviweb130.climate] Setting up neviweb130 climate TH1124ZB: {'id': 141146, 'identifier': 'ccccccfffe6fb607-500b91400001155d', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 15138, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}
2022-12-10 15:55:44.123 DEBUG (MainThread) [custom_components.neviweb130.climate] Setting up neviweb130 climate TH1124ZB: {'id': 211954, 'identifier': 'ccccccfffe6fb607-500b914000011225', 'name': 'TH1124ZB', 'family': '1124', 'signature': {'model': 1124, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 8, 'middle': 6, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 15139, 'orderIdx': 0, 'sku': 'TH1124ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}
2022-12-10 15:55:44.123 DEBUG (MainThread) [custom_components.neviweb130.climate] Setting up neviweb130 climate TH1300ZB: {'id': 141147, 'identifier': 'ccccccfffe6fb607-500b914000020ad1', 'name': 'TH1300ZB', 'family': '737', 'signature': {'model': 737, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 1, 'major': 1}, 'hardRev': 0, 'protocol': 'sinopcom'}, 'location$id': 15944, 'parentDevice$id': 141140, 'group$id': 14416, 'orderIdx': 0, 'sku': 'TH1300ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}
2022-12-10 15:55:44.229 DEBUG (SyncWorker_0) [custom_components.neviweb130] Received devices status: {'status': 'online'}
2022-12-10 15:55:44.229 DEBUG (SyncWorker_0) [custom_components.neviweb130.sensor] Updating neviweb130 sensor GT130 (0.186 sec): {'status': 'online'}
2022-12-10 15:55:44.885 DEBUG (SyncWorker_7) [custom_components.neviweb130.switch] Updating neviweb130 switch RM3500ZB (0.845 sec): {'onOff': 'on', 'waterLeakStatus': 'ok', 'roomTemperature': 55.05, 'errorCodeSet1': {'temperature': 'ok', 'stm_mcu': 'ok'}, 'loadConnected': 4349, 'coldLoadPickupStatus': 1, 'rssi': -68, 'tankSize': 60}
2022-12-10 15:55:45.186 ERROR (MainThread) [homeassistant.components.switch] neviweb130: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 493, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 715, in async_device_update
await task
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/switch.py", line 667, in update
self._relayK1 = device_data[ATTR_ERROR_CODE_SET1]["relayK1"]
KeyError: 'relayK1'

issue loading component recently

Been having some issues as of late after a recent HA restart, the component will no longer load. I verified my credentials are still valid. If I remove the non-required fields in configuration.yaml I get this error:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 235, in _async_setup_component
    result = await task
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/neviweb130/__init__.py", line 106, in setup
    data = Neviweb130Data(hass_config[DOMAIN])
  File "/config/custom_components/neviweb130/__init__.py", line 133, in __init__
    self.neviweb130_client = Neviweb130Client(username, password, network)
  File "/config/custom_components/neviweb130/__init__.py", line 159, in __init__
    self.__get_network()
  File "/config/custom_components/neviweb130/__init__.py", line 208, in __get_network
    self._gateway_id = networks[0]["id"]
KeyError: 0

If I add the network field I get this error:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 235, in _async_setup_component
    result = await task
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/neviweb130/__init__.py", line 106, in setup
    data = Neviweb130Data(hass_config[DOMAIN])
  File "/config/custom_components/neviweb130/__init__.py", line 133, in __init__
    self.neviweb130_client = Neviweb130Client(username, password, network)
  File "/config/custom_components/neviweb130/__init__.py", line 159, in __init__
    self.__get_network()
  File "/config/custom_components/neviweb130/__init__.py", line 213, in __get_network
    if network["name"] == self._network_name:
TypeError: string indices must be integers

Here's the neviweb130 part of my configuration.yaml (this is how it was before I started modifying it troubleshooting):

neviweb130:
  username: '[redacted]'
  password: '[redacted]'
  network: 'home'
  scan_interval: 360

I did rename my network in Neviweb's portal from "Home" to "home" just to test as well, not sure if maybe they changed something on their end recently?

Set presence as home/away

Probably not an issue but i cant find the feature to set Neviweb as Home or Away am i missing someting ?

Flextherm FLP55 Unavailable since 1.1.1 update

Hi!
I updated to 1.1.1 this morning and my Flextherm FLP55 floor thermostat is unavailable. I restarted home assistant 2 times and it is still unavailable.
I just 'downgraded' to 0.9.7 and now everything is back to normal

Thanks for the work on the integration by the way!! Very appreciated!

Control setpoint from sinope-130

Hello @claudegel,

Is there a way to increase or decrease thermostats setpoints by using sinope-130? I can see the setpoint as a state attribute (''temperature:'') field but I don't see any Neviweb service that could change a setpoint.

My goal would be to bypass the Sinopé Neviweb app for all automatisations, such as decreasing thermostats temperature during the night and increasing them next morning by using Home Assistant only.

Thank you very much for all your work.

Reading target temperature

Hi,

I would like to create an automation that is triggered by a webhook. The would automation sets the temperature to 21C when activated but only if it's at a target temperature of 15C (ie, nobody home). Reason for that is if after 30 minutes the person that triggered it isn't home, it will reset back to 15C but I don't want to reset if it wasn't at 15C to start with. I tried different methods to read the target temperature and to no avail. Is there an implemented method for that? I would think so since the Thermostat entity do display the target temperature.

Thanks,

No entities created

I just installed and configured this integration but now realize I am using the older GT125 and I am not seeing any entities.
Not supported?

2022-01-13 19:09:27 DEBUG (SyncWorker_12) [custom_components.neviweb130] Login response: {'user': {'id': xxxx, 'role': 'owner', 'email': '[email protected]', 'locale': 'en', 'format': {'time': '12', 'temperature': 'c'}, 'communications': {'pushNotification': None}, 'initialized': 1}, 'account': {'id': xxxx, 'interface': 'neviweb', 'type': 'free', 'category': None, 'betaLevel': None}, 'iat': 1642129766751, 'session': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'refreshToken': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'}
2022-01-13 19:09:27 DEBUG (SyncWorker_12) [custom_components.neviweb130] Successfully logged in
2022-01-13 19:09:27 DEBUG (SyncWorker_12) [custom_components.neviweb130] Number of networks found on Neviweb: 1
2022-01-13 19:09:27 DEBUG (SyncWorker_12) [custom_components.neviweb130] Selecting 9-7240 network among: [{'id': 6130, 'account$id': xxxx, 'location$id': None, 'group$id': None, 'name': '9-7240', 'postalCode': X#X#X#', 'address': None, 'mode': 'home', 'icon': 3, 'type': None, 'kwhCost': 0.1, 'deviceListUpdate': '2022-01-09 00:32:44', 'modified': '2021-10-02 23:58:04', 'created': '2019-08-20 16:22:29'}]
2022-01-13 19:09:27 DEBUG (SyncWorker_12) [custom_components.neviweb130] Received gateway data: [{'id': XXXXX, 'identifier': 'D8803977C2BC-00010964-0-0000F4ED', 'name': 'Angela', 'family': '1122', 'signature': {'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3}, 'location$id': 6130, 'parentDevice$id': 25878, 'group$id': 15184, 'orderIdx': 0, 'sku': 'TH1120RF-3000B', 'vendor': 'Sinopé', 'url_en': 'http://www.sinopetech.com/en/boutique/products/neviweb-en/thermostat-for-electric-heating-wireless-communication/', 'url_fr': 'http://www.sinopetech.com/boutique/produits/thermostat-pour-chauffage-electrique-communication-sans-fil/'}, {'id': 251405, 'identifier': 'D8803977C2BC-00010964-0-0000F993', 'name': 'Ensuite', 'family': '1122', 'signature': {'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3}, 'location$id': 6130, 'parentDevice$id': 25878, 'group$id': 92344, 'orderIdx': 0, 'sku': 'TH1120RF-3000B', 'vendor': 'Sinopé', 'url_en': 'http://www.sinopetech.com/en/boutique/products/neviweb-en/thermostat-for-electric-heating-wireless-communication/', 'url_fr': 'http://www.sinopetech.com/boutique/produits/thermostat-pour-chauffage-electrique-communication-sans-fil/'}, {'id': 98576, 'identifier': 'D8803977C2BC-00010964-0-00012387', 'name': 'Furnace', 'family': '735-LV', 'signature': {'model': 735, 'modelCfg': 76, 'hardRev': 0, 'softVersion': {'major': 1, 'middle': 0, 'minor': 1}, 'softBuildCfg': 0}, 'location$id': 6130, 'parentDevice$id': 25878, 'group$id': 15186, 'orderIdx': 0, 'sku': 'TH1400RF', 'vendor': 'Sinopé', 'url_en': 'http://www.sinopetech.com/en/boutique/products/neviweb-en/low-voltage-thermostat-24-vac-web-programmable/', 'url_fr': 'http://www.sinopetech.com/boutique/produits/neviweb/thermostat-basse-tension-24-vca-programmable-web/'}, {'id': 25878, 'identifier': 'D8803977C2BC-00010964-0', 'name': 'GT125', 'family': 'GT125', 'signature': {'model': 125, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 3, 'middle': 0, 'minor': 0}, 'hardRev': 4}, 'location$id': 6130, 'parentDevice$id': None, 'group$id': 92347, 'orderIdx': 0, 'sku': 'GT125', 'vendor': 'Sinopé', 'url_en': 'https://www.sinopetech.com/produit/passerelle-web/', 'url_fr': 'https://www.sinopetech.com/en/product/web-interface-gateway-sinope-mi-wi/'}, {'id': 251413, 'identifier': 'D8803977C2BC-00010964-0-0000ED3E', 'name': 'Landing', 'family': '1122', 'signature': {'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3}, 'location$id': 6130, 'parentDevice$id': 25878, 'group$id': 92346, 'orderIdx': 0, 'sku': 'TH1120RF-3000B', 'vendor': 'Sinopé', 'url_en': 'http://www.sinopetech.com/en/boutique/products/neviweb-en/thermostat-for-electric-heating-wireless-communication/', 'url_fr': 'http://www.sinopetech.com/boutique/produits/thermostat-pour-chauffage-electrique-communication-sans-fil/'}, {'id': 25879, 'identifier': 'D8803977C2BC-00010964-0-0000F94B', 'name': 'May', 'family': '1122', 'signature': {'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3}, 'location$id': 6130, 'parentDevice$id': 25878, 'group$id': 15183, 'orderIdx': 0, 'sku': 'TH1120RF-3000B', 'vendor': 'Sinopé', 'url_en': 'http://www.sinopetech.com/en/boutique/products/neviweb-en/thermostat-for-electric-heating-wireless-communication/', 'url_fr': 'http://www.sinopetech.com/boutique/produits/thermostat-pour-chauffage-electrique-communication-sans-fil/'}, {'id': 25881, 'identifier': 'D8803977C2BC-00010964-0-00011DA3', 'name': 'Peter', 'family': '1122', 'signature': {'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3}, 'location$id': 6130, 'parentDevice$id': 25878, 'group$id': 15185, 'orderIdx': 0, 'sku': 'TH1120RF-3000B', 'vendor': 'Sinopé', 'url_en': 'http://www.sinopetech.com/en/boutique/products/neviweb-en/thermostat-for-electric-heating-wireless-communication/', 'url_fr': 'http://www.sinopetech.com/boutique/produits/thermostat-pour-chauffage-electrique-communication-sans-fil/'}]
2022-01-13 19:09:27 DEBUG (SyncWorker_12) [custom_components.neviweb130] Received signature data: {'signature': {'protocol': 'miwi', 'type': 10, 'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3, 'family': '1122'}}
2022-01-13 19:09:28 DEBUG (SyncWorker_12) [custom_components.neviweb130] Received signature data: {'signature': {'protocol': 'miwi', 'type': 10, 'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3, 'family': '1122'}}
2022-01-13 19:09:28 DEBUG (SyncWorker_12) [custom_components.neviweb130] Received signature data: {'signature': {'protocol': 'miwi', 'type': 21, 'model': 735, 'modelCfg': 76, 'hardRev': 0, 'softVersion': {'major': 1, 'middle': 0, 'minor': 1}, 'softBuildCfg': 0, 'family': '735-LV'}}
2022-01-13 19:09:29 DEBUG (SyncWorker_12) [custom_components.neviweb130] Received signature data: {'signature': {'model': 125, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 3, 'middle': 0, 'minor': 0}, 'hardRev': 4, 'family': 'GT125', 'protocol': 'miwi'}}
2022-01-13 19:09:29 DEBUG (SyncWorker_12) [custom_components.neviweb130] Received signature data: {'signature': {'protocol': 'miwi', 'type': 10, 'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3, 'family': '1122'}}
2022-01-13 19:09:29 DEBUG (SyncWorker_12) [custom_components.neviweb130] Received signature data: {'signature': {'protocol': 'miwi', 'type': 10, 'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3, 'family': '1122'}}
2022-01-13 19:09:29 WARNING (MainThread) [slixmpp.stringprep] Using slower stringprep, consider compiling the faster cython/libidn one.
2022-01-13 19:09:30 DEBUG (SyncWorker_12) [custom_components.neviweb130] Received signature data: {'signature': {'protocol': 'miwi', 'type': 10, 'model': 1122, 'modelCfg': 3, 'hardRev': 1, 'softVersion': {'major': 1, 'middle': 7, 'minor': 0}, 'softBuildCfg': 3, 'family': '1122'}}
2022-01-13 19:09:30 DEBUG (SyncWorker_12) [custom_components.neviweb130] Setting scan interval to: 0:06:00

Thermostat TH1123ZB not detected in HA

Hello Claude,

I have installed your Naviweb130 in my HA. I see the status of the GT130 as Online and I see the status of all my water leak detectors, so I assume that the connection to Naviweb is working fine.

However, I don't see any of my six TH1123ZB Thermostats that are connected to Naviweb.

I don't know if I'm missing something.

Thanks,

Failed to call service scene/turn_on. two or more values in the same group of exclusion 'brightness' @ data[<brightness>]

Running HASSIO 2022.12.0 with v1.8.0 of the Sinope Integration. When I add a DM2550ZB in a scene, I get that popup on the lower left and the scene doesn't work

Failed to call service scene/turn_on. two or more values in the same group of exclusion 'brightness' @ data[]

From what I gather on a search for that problem, you can't set rbg_color and color_temp at the same time anymore. Don't know if that's the issue.

When I replace the DM2550ZB dimmer for a Philips you light, it works correctly so I don't think it's the scene,

Trying to add a new Sedna Valve (VA4220ZB - 3/4 NPT)

Hi Claude,
I'm not seeing this model in the switch.py file under custom_components.
this is what I'm getting in home-assistant.log

{'id': 359312, 'identifier': '588e81fffe95eb92-500b91400003e6c1', 'name': 'VA4220ZB', 'family': '3153', 'signature': {'model': 3153, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 2, 'middle': 1, 'major': 0}, 'hardRev': 0}, 'location$id': 44888, 'parentDevice$id': 250543, 'group$id': 154744, 'orderIdx': 0, 'sku': 'VA4220ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}

2022-12-29 18:28:12.929 DEBUG (SyncWorker_6) [custom_components.neviweb130] Received signature data: {'signature': {'model': 3153, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 2, 'middle': 1, 'major': 0}, 'hardRev': 0, 'protocol': 'sinopcom'}}

I try to add it in the switch.py but I'm getting that error:

2022-12-29 18:28:13.964 DEBUG (MainThread) [custom_components.neviweb130.switch] Setting up neviweb130 switch VA4220ZB: {'id': 359312, 'identifier': '588e81fffe95eb92-500b91400003e6c1', 'name': 'VA4220ZB', 'family': '3153', 'signature': {'model': 3153, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 2, 'middle': 1, 'major': 0}, 'hardRev': 0, 'protocol': 'sinopcom'}, 'location$id': 44888, 'parentDevice$id': 250543, 'group$id': 154744, 'orderIdx': 0, 'sku': 'VA4220ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}

2022-12-29 18:28:14.699 DEBUG (SyncWorker_7) [custom_components.neviweb130.switch] Updating neviweb130 switch VA4220ZB (0.479 sec): {'onOff': 'on', 'batteryVoltage': 6.2, 'batteryStatus': 'ok', 'rssi': -28}
2022-12-29 18:28:14.905 ERROR (MainThread) [homeassistant.components.switch] neviweb130: Error on device update!

Thanks for your help.

Error adding VA4220WF valve

When HomeAssistant loads, I get this error:
Logger: homeassistant.components.switch
Source: custom_components/neviweb130/switch.py:276
Integration: Interrupteur (documentation, issues)
First occurred: 17:36:55 (1 occurrences)
Last logged: 17:36:55

neviweb130: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 431, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 651, in async_device_update
await task
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/switch.py", line 276, in update
self._valve_closure = device_data[ATTR_VALVE_CLOSURE]["source"]
KeyError: 'valveClosureSource'

-=-
The error can be fixed by commenting out line 276 in switch.py.

Here are related I see in the debug log before the error:
2021-11-15 17:36:55 DEBUG (MainThread) [custom_components.neviweb130.switch] Setting up neviweb130 switch VA4220WF: {'id': 195927, 'identifier': '500b9140000180b9', 'name': 'VA4220WF', 'family': '3150-1', 'location$id': 27542, 'parentDevice$id': None, 'group$id': 64873, 'orderIdx': 0, 'sku': 'VA4220WF', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None, 'signature': {'model': 3150, 'modelCfg': 2, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 5, 'minor': 1}, 'hardRev': 0, 'protocol': 'sinopcom'}}
2021-11-15 17:36:55 DEBUG (SyncWorker_6) [custom_components.neviweb130.switch] Updating neviweb130 switch VA4220WF (0.544 sec): {'motorPosition': 100, 'temperatureAlarmStatus': 'ok', 'batteryVoltage': 6.9, 'batteryStatus': 'ok', 'alertLowBatt': True}

Heating history neviweb portal always on

Hi Claude, since Neviweb130 V1.20 , with Neviweb portal all zigbee sinope thermostat show heating history ON all the time also if current temperature is far over set point.

Screenshot_20220301-083547_kindlephoto-2843837

Missing energy information

I couldn't find any sensor that exposes energy consumption although I have access to that info in the Neviweb portal. Is it by design or am I missing something ?

*Ouellet OTH3600-GA-GT Floor heating thermostat

Hey There,

new to HAAS but rolling through it pretty good.
Tried to add your Sinope-130 to my HAAS setup.

I have a GT130, but i use the Ouellet OTH3600-GA-GT Floor heating thermostat.

When i added the code to the config.yaml file i get this error

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 213, in _async_setup_component
result = await task
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/init.py", line 41, in setup
data = Neviweb130Data(hass_config[DOMAIN])
File "/config/custom_components/neviweb130/init.py", line 64, in init
self.neviweb130_client = Neviweb130Client(username, password, network)
File "/config/custom_components/neviweb130/init.py", line 100, in init
self.__get_gateway_data()
File "/config/custom_components/neviweb130/init.py", line 175, in __get_gateway_data
data = self.get_device_attributes(device["id"], [ATTR_SIGNATURE])
TypeError: string indices must be integers

Please Help

Mode absent sur thermostat th1123wf dashboard

Bonjour Claude,

Il semble avoir un petit bug d'affichage du statut des thermostats, pour un thermostat th1123wf qui est en mode absent dans la carte thermostat sur le dashboard. Il affiche qu'il est en mode Heat alors qu'il devrait afficher Away (Garde Robe)
Dans la capture d'écran ci-dessous tous mes autre thermostst des th1120rf sont en mode absent et on le voit bien.
Est-ce possible de corriger ce comportement ?

IMG_3060

Unit of measurement HA 2023.1

Bonjour Claude,

Depuis la version 2023.1 de HA les cards de thermostat affiche le unit of measurement avec le HVAC Action mais pour les modèles RF et WF le unit of measurement n'est pas le meme. Pour les RF c'est °C et pour les WF Celcius. Est-ce qu'il y aurait moyen d'afficher également °C pour les WF. Voir photo

De plus le Preset Home s'affiche egalement pour les Thermostat WF est-ce qu'on pourrait seulement afficher le preset quand il est away et ne rien affiché quand il est home ?

image

Merci

HA unable to update value

Hi,

I noticed a while back HA dashboard is not reflexing the correct values of my thermosets. I can control them from HA but they are just not updating. My switch is also working when I turn it on and off, so I know HA is polling Neviweb. I looked in the logs and see the following error.

`2022-12-08 11:36:58.334 DEBUG (SyncWorker_3) [custom_components.neviweb130.climate] Updating neviweb130 climate TH1500ZB (1.943 sec): {'roomSetpoint': 19, 'outputPercentDisplay': 0, 'roomTemperature': {'value': 19.07}, 'roomSetpointMin': 12, 'roomSetpointMax': 22.5, 'roomTemperatureDisplay': 19, 'timeFormat': '12h', 'temperatureFormat': 'celsius', 'drStatus': {'drActive': 'off', 'optOut': 'off', 'setpoint': 'off', 'powerAbsolute': 'off', 'powerRelative': 'off'}, 'drSetpoint': {'status': 'off', 'value': None}, 'loadConnected': 332, 'lockKeypad': 'unlocked', 'backlightAdaptive': 'always', 'systemMode': 'heat', 'config2ndDisplay': 'setpoint', 'rssi': -28}

2022-12-08 11:36:59.887 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.neviweb130_climate_th1500zb_5 fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 527, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 722, in async_device_update
raise exc
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/climate.py", line 1014, in update
self._code_wire_sensor = device_error_code["wireSensor"]
KeyError: 'wireSensor'`

Anyone any ideas?

Is it possible to turn on the lights?

Hi I am quite new to HA and wanted to know if there was away to turn on the light with automation.

I want to turn on the Sinope light when motion is detected. The automation is triggering on motion but the light is not coming on. I thought I might be able to call a service or set the attribute but reading online they say its not possible to set attributes and I cant find a service for turning on and off the light

Does anyone know if this is possible of if there is anything I am missing?

alias: Motion detection
description: ""
trigger:
  - type: motion
    platform: device
    device_id: 6d546f733d6953362671d88a46bde0e8
    entity_id: binary_sensor.up_sense_motion_detected
    domain: binary_sensor
condition: []
action:
  - condition: state
    entity_id: light.neviweb130_light_light_hall_way
    attribute: onOff
    state: "on"
mode: single

Not showing in integrations and the Thermostats are not being listed as Devices

Hi,

I wanted to check if this is expected behavior.

I have downloaded the project via HACS and I see it in HACS integrations but when I go to HAs integration its not listed. Other project I have installed normally show up in both places.

The other issues I have is all the Thermostats (th1500zb) show up as entities and not devices. This is making it difficult to automate and control the units.

Please let me know if this is by design or if I have missed something during setup

Thanks

Probleme de mise a jour sur thermostat

Bonjour Claude, quand je redémarre mon HA tout fonctionne bien, depassé le delais de 320secondes, le thermostat à chaque manipulation m'envois ces erreurs.

Logger: homeassistant.helpers.entity
Source: custom_components/neviweb130/climate.py:989
Integration: Sinope Neviweb130 (documentation)
First occurred: 17:14:12 (1 occurrences)
Last logged: 17:14:12

Update for climate.neviweb130_climate_th1123wf fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 527, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 722, in async_device_update
raise exc
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/climate.py", line 989, in update
self._hour_energy_kwh_count = device_hourly_stats[1]["counter"] / 1000
IndexError: list index out of range

  • Si je fait des moficiation Via NEVIWEB, la carte thermostat sur HA ne se met pas à jour elle affiche une incrémentation en haut à gauche comme quoi elle ne s'est pas mis à jour depuis le dernier redémarrage,

  • Si je joue avec le pré-réglage PRÉSENT - ABSENT automatiquement il se remet à Présent, meme si mon profile dans neiweb est mis à Absent.

  • Si je modifie la température manuellement sur le thermostat, la carte Thermostat sur HA ne se met pas à jour

des idées de ce qui peux causer tous ces petits bug ?

Merci et bon temps des fêtes !

Unknown error for neviweb130 climate.

Hi Claude: Got the following in my logs: today

Logger: custom_components.neviweb130.climate
Source: custom_components/neviweb130/climate.py:740
Integration: Sinope Neviweb130 (documentation)
First occurred: 12:42:05 PM (1 occurrences)
Last logged: 12:42:05 PM

Unknown error for neviweb130 climate TH1310WF: {'error': {'code': 'DVCUNVLB', 'data': {'identifier': 'a4cf12fffe83cdd0'}}}... Report to maintainer.

and

Logger: custom_components.neviweb130.climate
Source: custom_components/neviweb130/climate.py:728
Integration: Sinope Neviweb130 (documentation)
First occurred: 12:35:33 PM (2 occurrences)
Last logged: 12:36:03 PM

Error in reading device neviweb130 climate Flextherm FLP55: ({'errorCode': 'ReadTimeout'})
Error in reading device neviweb130 climate TH1310WF: ({'errorCode': 'ReadTimeout'})

The two devices still appear to be working though.

'ATTR_WIFI_FLOOR_OUTPUT1' is not defined

Bonjour, avec la version 0.7, j'ai maintenant 2 fois cette erreur dans mon log quand je redémarre HA. Je crois que ce sont certains de mes thermostats OTH3600-GA-ZB qui font cela.

2021-11-22 09:34:14 ERROR (MainThread) [homeassistant.components.climate] neviweb130: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 431, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 651, in async_device_update
await task
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/neviweb130/climate.py", line 472, in update
WIFI_FLOOR_ATTRIBUTE = [ATTR_WIFI_FLOOR_OUTPUT1, ATTR_FLOOR_MAX, ATTR_FLOOR_MIM]
NameError: name 'ATTR_WIFI_FLOOR_OUTPUT1' is not defined

"Updating error code" in the logs

Since the last release, I get this error several times by hours:

WARNING (SyncWorker_1) [custom_components.neviweb130.climate] Updating error code: {'referenceSensor': 'ok', 'compensationSensor': 'ok', 'airSensor': 'ok', 'wireSensor': 'ok', 'currentOverload': 'ok', 'thermalOverload': 'ok', 'loadError': 'ok', 'endOfLife': False}

image

Invalid config?

I get this notification but I am not sure what is the problem:

Logger: homeassistant.config
Source: config.py:454
First occurred: 00:15:48 (1 occurrences)
Last logged: 00:15:48

Invalid config for [automation]: Device 51dde038f7ad6909c09df0d2cc7f371d not found. Got OrderedDict([('default_config', {}), ('dhcp', {}), ('http', OrderedDict([('ssl_certificate', '/ssl/fullchain.pem'), ('ssl_key', '/ssl/privkey.pem')])), ('lovelace', OrderedDict([('resources', [OrderedDict([('url', '/hacsfiles/mini-graph-card/mini-graph-card-bundle.js'), ('type', 'module')]), OrderedDict([('url', '/hacsfiles/scheduler-card/scheduler-card.js'), ('type', 'module')])])])), ('neviweb130', OrderedDict([('username', '------------'), ('password', '----------!'), ('network',.... (See /config/configuration.yaml, line 37).

Problem with HomeAssistant 12.x "implements device_state_attributes"

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:549
First occurred: 09:32:02 (7 occurrences)
Last logged: 09:32:13

Entity climate.neviweb130_climate_charlena_sdb (<class 'custom_components.neviweb130.climate.Neviweb130Thermostat'>) implements device_state_attributes. Please report it to the custom component author.
Entity climate.neviweb130_climate_salle_de_lavage (<class 'custom_components.neviweb130.climate.Neviweb130Thermostat'>) implements device_state_attributes. Please report it to the custom component author.
Entity climate.neviweb130_climate_sdb (<class 'custom_components.neviweb130.climate.Neviweb130Thermostat'>) implements device_state_attributes. Please report it to the custom component author.
Entity climate.neviweb130_climate_sdb_centre (<class 'custom_components.neviweb130.climate.Neviweb130Thermostat'>) implements device_state_attributes. Please report it to the custom component author.
Entity climate.neviweb130_climate_walk_in (<class 'custom_components.neviweb130.climate.Neviweb130Thermostat'>) implements device_state_attributes. Please report it to the custom component author.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.