Closed marc-trudel closed 3 years ago
Issue with TH1500ZB. Neviweb reports the Family to be 737-DP and not 1500.
So as a temporary patch I deactivated the IF in climate.py that checks implemented devices. With this IF disabled, the TH1500ZB shows in HA. I tried to add the 737-DP this way DEVICE_MODEL_HEAT = [1123, 1124, 1500, '737-DP'] but it had no effect.
Here is my temporary code. `async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): """Set up the neviweb130 thermostats.""" data = hass.data[DOMAIN]
devices = []
for device_info in data.neviweb130_client.gateway_data:
# if "signature" in device_info and \
# "model" in device_info["signature"] and \
# device_info["signature"]["model"] in IMPLEMENTED_DEVICE_MODEL:
device_name = "{} {}".format(DEFAULT_NAME, device_info["name"])
devices.append(Neviweb130Thermostat(data, device_info, device_name))
async_add_entities(devices, True)
` Being totally new to HA, I have no clue how to properly fix this. Adding your integration was my VERY first step after installing HA.
Here is my log. I added linefeed to the gateway data so it is easier to compare devices row by row. Notice the TH1500ZB reports the family to be 737-DP (i put it in bold so the real value is not enclosed in ) 2020-12-29 17:25:44 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received gateway data: [{'id': 101281, 'identifier': '500b914000022aca', 'name': 'Chambre Marc', 'family': '1123', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16772, 'orderIdx': 0, 'sku': 'TH1123ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 119957, 'identifier': '000d6f0015663870', 'name': 'Chaufferette', 'family': '2600', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16459, 'orderIdx': 0, 'sku': 'SP2600ZB', 'vendor': 'Sinopé', 'url_en': 'https://www.sinopetech.com/produit/prise-electrique-intelligente-zigbee/', 'url_fr': 'https://www.sinopetech.com/en/product/smart-plug-zigbee/'}, {'id': 101279, 'identifier': '500b914000022cbb', 'name': 'Cuisine', 'family': '1123', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16429, 'orderIdx': 0, 'sku': 'TH1123ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 148459, 'identifier': '000d6f0015662295', 'name': 'Fan Salon', 'family': '2600', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16771, 'orderIdx': 0, 'sku': 'SP2600ZB', 'vendor': 'Sinopé', 'url_en': 'https://www.sinopetech.com/produit/prise-electrique-intelligente-zigbee/', 'url_fr': 'https://www.sinopetech.com/en/product/smart-plug-zigbee/'}, {'id': 148457, 'identifier': '500b91400001c1c1', 'name': 'Fuite bain', 'family': '5051', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 21589, 'orderIdx': 0, 'sku': 'WL4200S', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 111037, 'identifier': '500b914000015e0b', 'name': 'Fuite cuisine', 'family': '5051', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16429, 'orderIdx': 0, 'sku': 'WL4200S', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 111041, 'identifier': '000d6f0015662167', 'name': 'Lampe salon', 'family': '2600', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16459, 'orderIdx': 0, 'sku': 'SP2600ZB', 'vendor': 'Sinopé', 'url_en': 'https://www.sinopetech.com/produit/prise-electrique-intelligente-zigbee/', 'url_fr': 'https://www.sinopetech.com/en/product/smart-plug-zigbee/'}, {'id': 111042, 'identifier': '000d6f0015661d76', 'name': 'Lampe sous-sol', 'family': '2600', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 21587, 'orderIdx': 0, 'sku': 'SP2600ZB', 'vendor': 'Sinopé', 'url_en': 'https://www.sinopetech.com/produit/prise-electrique-intelligente-zigbee/', 'url_fr': 'https://www.sinopetech.com/en/product/smart-plug-zigbee/'}, {'id': 119955, 'identifier': '000d6f00156639d8', 'name': 'Lampe Tortue', 'family': '2600', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16459, 'orderIdx': 0, 'sku': 'SP2600ZB', 'vendor': 'Sinopé', 'url_en': 'https://www.sinopetech.com/produit/prise-electrique-intelligente-zigbee/', 'url_fr': 'https://www.sinopetech.com/en/product/smart-plug-zigbee/'}, {'id': 101384, 'identifier': '500b914000012b56', 'name': 'Lumière avant', 'family': '2121', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 21818, 'orderIdx': 0, 'sku': 'SW2500ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 101418, 'identifier': '500b914000012119', 'name': 'Lumière Spots', 'family': '2131', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 21818, 'orderIdx': 0, 'sku': 'DM2500ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 100684, 'identifier': 'ccccccfffe6fb3ce', 'name': 'MyGT130', 'family': 'GT130', 'location$id': 16886, 'parentDevice$id': None, 'group$id': 21587, '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': 121805, 'identifier': '500b914000012e79', 'name': 'Pompe piscine', 'family': '2506', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 25253, 'orderIdx': 0, 'sku': 'RM3250ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 100685, 'identifier': '500b914000023ab1', 'name': 'Salle a diner', 'family': '1123', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16459, 'orderIdx': 0, 'sku': 'TH1123ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 111040, 'identifier': '500b91400001ca1e', 'name': 'Salle de bain', 'family': '1123', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 21589, 'orderIdx': 0, 'sku': 'TH1123ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 101280, 'identifier': '500b9140000229a0', 'name': 'Salle de lavage', 'family': '1123', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 35292, 'orderIdx': 0, 'sku': 'TH1123ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 134752, 'identifier': '500b914000021fd7', 'name': 'Salon', 'family': '737-DP', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 16771, 'orderIdx': 0, 'sku': 'TH1500ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 111038, 'identifier': '500b91400001c7f3', 'name': 'Sous-sol', 'family': '1123', 'location$id': 16886, 'parentDevice$id': 100684, 'group$id': 21587, 'orderIdx': 0, 'sku': 'TH1123ZB', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}] 2020-12-29 17:25:45 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 4, 'middle': 6, 'major': 0}, 'hardRev': 2, 'protocol': 'sinopcom'}} 2020-12-29 17:25:45 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2600, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 0, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}} 2020-12-29 17:25:45 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 4, 'middle': 6, 'major': 0}, 'hardRev': 2, 'protocol': 'sinopcom'}} 2020-12-29 17:25:45 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2600, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 0, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}} 2020-12-29 17:25:45 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 5051, 'modelCfg': 1, 'softBuildCfg': 0, 'softVersion': {'minor': 3, 'middle': 1, 'major': 1}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2020-12-29 17:25:45 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 5051, 'modelCfg': 1, 'softBuildCfg': 0, 'softVersion': {'minor': 2, 'middle': 0, 'major': 1}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2020-12-29 17:25:46 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2600, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 0, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}} 2020-12-29 17:25:46 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2600, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 0, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}} 2020-12-29 17:25:46 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2600, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 9, 'middle': 0, 'major': 0}, 'hardRev': 1, 'protocol': 'sinopcom'}} 2020-12-29 17:25:46 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2121, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 2, 'middle': 3, 'major': 1}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2020-12-29 17:25:46 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2131, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 2, 'middle': 3, 'major': 1}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2020-12-29 17:25:46 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 130, 'modelCfg': 1, 'softBuildCfg': 0, 'softVersion': {'major': 1, 'middle': 13, 'minor': 0}, 'hardRev': 3, 'protocol': 'sinopcom'}} 2020-12-29 17:25:46 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 2506, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 2, 'middle': 3, 'major': 1}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2020-12-29 17:25:46 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 4, 'middle': 6, 'major': 0}, 'hardRev': 2, 'protocol': 'sinopcom'}} 2020-12-29 17:25:47 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 4, 'middle': 6, 'major': 0}, 'hardRev': 2, 'protocol': 'sinopcom'}} 2020-12-29 17:25:47 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 4, 'middle': 6, 'major': 0}, 'hardRev': 2, 'protocol': 'sinopcom'}} 2020-12-29 17:25:47 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 7373, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 3, 'middle': 0, 'major': 0}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2020-12-29 17:25:47 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 1123, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'minor': 4, 'middle': 6, 'major': 0}, 'hardRev': 2, 'protocol': 'sinopcom'}}
Ok first you were missing the network parameter. It's the name you have set in Neviweb for your GT130 zigbee devices.It's the Location name (Emplacement). I'll add more info in debug message for this. So in your HA config you will have:
neviweb130:
username: !secret climate_username
password: !secret climate_password
network: !secret climate_gateway130 <---- you can remove completely this line if you have only one location in Neviweb
scan_interval: 360
The !secret climate_username etc is for more security. those parameter are placed in the file secrets.yaml in config dir.
climate_username: 'me@my.place'
climate_password: '12345'
climate_gateway130: 'Location'
In configuration.yaml add this at the end
logger:
default: warning
logs:
homeassistant.custom_components: debug
custom_components.neviweb130: debug
Then restart HA. You will find all debug in file home-assistant.log
For your devices it is not the family I need but the model. I see in your log those model number
Received signature data: {'signature': {'model': 1123,
1123 is for TH1123ZB
2600 is for SP2600ZB
5051is for WL4200ZB
2121 is for SW2500ZB
2131 is for DM2500ZB
130 is for your GT130
2506 is for RM3250ZB
7373 <----- should be the TH1500ZB ?
so in climate.py just replace 1500 by 7373 and it should work
Next step will be to sniff some information when you connect to Neviweb to check all parameter exchanged between you browser and Neviweb for your TH 1500ZB. If needed I'll add more code in my neviweb130 to take care of every parameter
Hi Claude First, I will start by telling you how much I appreciate all the time you spent programming this integration. It is awesome and was the incentive that I needed to start with HA. My home uses 2 brands of iOT devices; Neviweb and Sonoff. I dont remember what I was Googling but when I stepped on a page saying there was an HA integration for Neviweb it was the kick in the ass to go ahead with HA. What I love with Neviweb is their incredible power consumption graphics that I was not willing to loose by changing platform like SmartThings or Hubitat.
So thank you so much for your integration.
I added 7373 to the climate.py file and reactivated the IF. It works fine now. the TH1500ZB is properly detected by the IF I also made the following changes.... I did not like the fact that each device name was prefixed with "neviweb130 devicetype" so I added some constants to let users decide of the prefixes.
const.py
# Added by Marc Trudel and used in each .py file
# replaced hard coded DEFAULT_NAME in each .py file
# this change let the user decide of the prefix automatically added to each devices name.
# You may leave each prefix empty if desired.
ATTR_DEVICE_NAME_PREFIX_CLIMATE = "Thermostat"
ATTR_DEVICE_NAME_PREFIX_LIGHT = "Light"
ATTR_DEVICE_NAME_PREFIX_DIMMER = "Dimmer"
ATTR_DEVICE_NAME_PREFIX_SENSOR = "Sensor"
ATTR_DEVICE_NAME_PREFIX_SWITCH = "Switch"
climate.py
from .const import (DOMAIN, ATTR_SETPOINT_MODE, ATTR_ROOM_SETPOINT,
ATTR_OUTPUT_PERCENT_DISPLAY, ATTR_ROOM_TEMPERATURE, ATTR_ROOM_SETPOINT_MIN,
ATTR_ROOM_SETPOINT_MAX, ATTR_WATTAGE, ATTR_GFCI_STATUS, ATTR_FLOOR_MODE, MODE_AUTO, MODE_AUTO_BYPASS,
MODE_MANUAL, MODE_OFF, MODE_AWAY, ATTR_FLOOR_AUX, ATTR_FLOOR_OUTPUT2, ATTR_KEYPAD, ATTR_WIFI_FLOOR_OUTPUT1,
ATTR_WIFI_WATTAGE, ATTR_WIFI, ATTR_WIFI_DISPLAY2, ATTR_WIFI_KEYPAD
**,ATTR_DEVICE_NAME_PREFIX_CLIMATE # 2020-12-30 MT**
)
_LOGGER = logging.getLogger(__name__)
SUPPORT_FLAGS = (SUPPORT_TARGET_TEMPERATURE | SUPPORT_PRESET_MODE)
DEFAULT_NAME = **ATTR_DEVICE_NAME_PREFIX_CLIMATE #"neviweb130 climate"**
I did the same for each .py file. for light.py I did... added to .const ATTR_DEVICE_NAME_PREFIX_LIGHT,ATTR_DEVICE_NAME_PREFIX_DIMMER # 2020-12-30 MT
device_name = '{} {} {}'.format(
'', # 2020-12-30 MT DEFAULT_NAME,
# 2020-12-30 MT Below, replaced literal with const ATTR_DEVICE_NAME_PREFIX_xxxxx
ATTR_DEVICE_NAME_PREFIX_DIMMER if device_info["signature"]["model"] in DEVICE_MODEL_DIMMER
else
ATTR_DEVICE_NAME_PREFIX_LIGHT, device_info["name"])
Personally, I left all prefixes empty since my devices name are descriptive enough You may implement these changes in your code they way you want. It is a 5 min change. You may drop my comments and make these changes yours. Notice that I used 2 prefixes for lights (DIMMER and LIGHT) Thank you
Hi Marc. I'll check your idea of personalized prefix name this weekend. It sound good but I need to check that if we change the prefix it could affect device list in HA. For those people who have many devices already in HA it could be complicated to go over all there automation to make the name change. So we should keep the default prefix but add the possibility to change it if we want. Having the users dig in the code to change the prefix is not the preferred way. But I thing we can have some optional parameters in configuration.yaml to overwrite the default prefix name. The devices name is use in background by HA and you still have the possibility to change the devices name in the front end by changing the friendly name of each devices. I'm happy that the TH1500ZB work. If you could, can you check with your browser when you're logged in Neviweb. Open the browser debug console and send me the parameter list that is sent by the browser to Neviweb when you are in the configuration of your TH1500ZB device. It will give me all the parameters that I need to manage in neviweb130 to fully support that thermostat. If you are using Firefox then, once in Neviweb, just hit «Ctrl Maj K» to open the console at the bottom of the screen. you will see all the trafic exchanged to and from Neviweb. Each line is a request that you can open tosee the parameter s sent to Neviweb and the answer received from Neviweb. This way I'll be able to fine tune neviweb130 for your TH1500ZB
I've done a new release with TH1500ZB support included
Hi Claude I use Chrome and am not used to debug mode. Here is the info I could retrieve
Does it help ?
Request URL: https://neviweb.com/api/device/134752/attribute?attributes=roomTemperature,outputPercentDisplay,roomSetpoint Request Method: GET Status Code: 200 Remote Address: xxx.xxx.xxx.xxx:xxx Referrer Policy: strict-origin-when-cross-origin content-encoding: gzip content-type: application/json date: Sun, 03 Jan 2021 22:03:33 GMT server: nginx/1.16.1 session-id: 7ea7abc28a15c4ce280a5eab032c3c67af8f0dd6f020a245 strict-transport-security: max-age=31536000; includeSubDomains :authority: neviweb.com :method: GET :path: /api/device/134752/attribute?attributes=roomTemperature,outputPercentDisplay,roomSetpoint :scheme: https accept: application/json, text/plain, / accept-encoding: gzip, deflate, br accept-language: e
Marc Trudel, B.Sc.A. • Associé 514 316.6650, poste 210 • e3k.cohttp://blapriseae3k.co/
From: Claude Gelinas notifications@github.com Sent: 30 décembre 2020 19:00 To: claudegel/sinope-130 sinope-130@noreply.github.com Cc: Marc Trudel mtrudel@e3k.co; Author author@noreply.github.com Subject: Re: [claudegel/sinope-130] Received gateway data: {'error': {'code': 'VALINVLD', (#21)
Hi Marc. I'll check your idea of personalized prefix name this weekend. It sound good but I need to check that if we change the prefix it could affect device list in HA. For those people who have many devices already in HA it could be complicated to go over all there automation to make the name change. So we should keep the default prefix but add the possibility to change it if we want. Having the users dig in the code to change the prefix is not the preferred way. But I thing we can have some optional parameters in configuration.yaml to overwrite the default prefix name. The devices name is use in background by HA and you still have the possibility to change the devices name in the front end by changing the friendly name of each devices. I'm happy that the TH1500ZB work. If you could, can you check with your browser when you're logged in Neviweb. Open the browser debug console and send me the parameter list that is sent by the browser to Neviweb when you are in the configuration of your TH1500ZB device. It will give me all the parameters that I need to manage in neviweb130 to fully support that thermostat. If you are using Firefox then, once in Neviweb, just hit «Ctrl Maj K» to open the console at the bottom of the screen. you will see all the trafic exchanged to and from Neviweb. Each line is a request that you can open tosee the parameter s sent to Neviweb and the answer received from Neviweb. This way I'll be able to fine tune neviweb130 for your TH1500ZB
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/claudegel/sinope-130/issues/21#issuecomment-752794970, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKEDMTWGK4E4FKREYG2H7BDSXO5GPANCNFSM4VNTKSKA.
Hi Marc,The line I need is attributes....You have the three basic one, roomtemperature, roomsetpoint and outputpercentdisplayTo get the other one, go into your device and open the configuration, the gear button.You will get more attributes.This is what I needClaudeClaude Gelinas agr.Phyto Ressources inc -------- Message d'origine --------De : mtrudel-e3k notifications@github.com Date : 21-01-03 5 h 14 p.m. (GMT-05:00) À : claudegel/sinope-130 sinope-130@noreply.github.com Cc : Claude Gelinas claude@phyto.qc.ca, State change state_change@noreply.github.com Objet : Re: [claudegel/sinope-130] Received gateway data: {'error': {'code': 'VALINVLD', (#21)
Hi Claude
I use Chrome and am not used to debug mode.
Here is the info I could retrieve
Does it help ?
Request URL: https://neviweb.com/api/device/134752/attribute?attributes=roomTemperature,outputPercentDisplay,roomSetpoint
Request Method: GET
Status Code: 200
Remote Address: xxx.xxx.xxx.xxx:xxx
Referrer Policy: strict-origin-when-cross-origin
content-encoding: gzip
content-type: application/json
date: Sun, 03 Jan 2021 22:03:33 GMT
server: nginx/1.16.1
session-id: 7ea7abc28a15c4ce280a5eab032c3c67af8f0dd6f020a245
strict-transport-security: max-age=31536000; includeSubDomains
:authority: neviweb.com
:method: GET
:path: /api/device/134752/attribute?attributes=roomTemperature,outputPercentDisplay,roomSetpoint
:scheme: https
accept: application/json, text/plain, /
accept-encoding: gzip, deflate, br
accept-language: e
Marc Trudel, B.Sc.A. • Associé
514 316.6650, poste 210 • e3k.cohttp://blapriseae3k.co/
From: Claude Gelinas notifications@github.com
Sent: 30 décembre 2020 19:00
To: claudegel/sinope-130 sinope-130@noreply.github.com
Cc: Marc Trudel mtrudel@e3k.co; Author author@noreply.github.com
Subject: Re: [claudegel/sinope-130] Received gateway data: {'error': {'code': 'VALINVLD', (#21)
Hi Marc. I'll check your idea of personalized prefix name this weekend. It sound good but I need to check that if we change the prefix it could affect device list in HA. For those people who have many devices already in HA it could be complicated to go over all there automation to make the name change. So we should keep the default prefix but add the possibility to change it if we want. Having the users dig in the code to change the prefix is not the preferred way. But I thing we can have some optional parameters in configuration.yaml to overwrite the default prefix name.
The devices name is use in background by HA and you still have the possibility to change the devices name in the front end by changing the friendly name of each devices.
I'm happy that the TH1500ZB work. If you could, can you check with your browser when you're logged in Neviweb. Open the browser debug console and send me the parameter list that is sent by the browser to Neviweb when you are in the configuration of your TH1500ZB device. It will give me all the parameters that I need to manage in neviweb130 to fully support that thermostat.
If you are using Firefox then, once in Neviweb, just hit «Ctrl Maj K» to open the console at the bottom of the screen. you will see all the trafic exchanged to and from Neviweb. Each line is a request that you can open tosee the parameter s sent to Neviweb and the answer received from Neviweb. This way I'll be able to fine tune neviweb130 for your TH1500ZB
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/claudegel/sinope-130/issues/21#issuecomment-752794970, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKEDMTWGK4E4FKREYG2H7BDSXO5GPANCNFSM4VNTKSKA.
—You are receiving this because you modified the open/close state.Reply to this email directly, view it on GitHub, or unsubscribe.
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