I have a follow up request on the 1500zb thermostat. When the thermostat is being used on baseboard heater the load is resistive so the real power is equal to the apparent power. Just wondering why the thermostat doesn’t still report the power in watts as well?
Je suis a produire une patch pour 2022.4.0
I’ve push three new releases for Neviweb130, Neviweb and Sinope-GT125 custom component to fix bug since HA 2022.4.0 that prevent switch module to load properly.
Hello! I’m very new to Home Assistant (set it up today!) and the first things I added were my Sinope TH1123ZB/ TH1124ZB thermostats. They were automatically discovered by ZHA, but I can’t seem to figure out how to change the display on the units to Fahrenheit, or set the outside temperature display. @claudegel’s custom components seem like the answer, but from the descriptions it seems they require the devices be connected through Sinope’s hub, which I don’t have.
This is probably only an issue because I’m so new to HA, could someone assist?
Welcome to HA. I’m on the road and will asist you tonight.
Please check my git GitHub - claudegel/sinope-zha: This is a custom quirks for sinope zigbee devices for testing before it is added to zha-device-handlers. It also explain how to setup those quirks in Home Assistant to use and test them before they are merged in zha-device-handlers
This give example for outside temp and oC to oF
This was exactly what I was looking for, I must have missed sinope-zha
when I was looking through your git repositories earlier. Thank you so much!
I just deployed Home Assistant with ZHA using a conbee 2. I connected my Sinope thermostat (TH1123ZB) and it’s working, but for some reason the status is always idle. I can set the target temperature from HA and the baseboard will start heating. I can see in HA the electrical measurement going up, but the status stays idle.
Does it take a long time to update the status (I only waited for about 5 minutes) or could there be an issue with my device or configuration?
@claudegel thank you for all your support on the sinope devices. Let me know if I can buy you a beer (or 2)
I don’t have TH123ZB but I check with my floor TH1300ZB under zha. When I increase setpoint, the thermostat show the new setpoint but stay to idle mode because the max floor temperature was reached. In that case the thermostat won’t go to heating. Could it be the problem you are facing?
Tomorrow morning the floor temperature will go down and I’ll be able to test if I have the same problem.
In that case I’m gonna sniff the zigbee trafic to find out if Sinopé is using a different cluster attribute to show idle vs heating mode.
@remz1337, Today my floor temperature is down and I was able to test. Increasing the setpoint, switch the thermostat from idle to heating. So my TH1300ZB behave normally. The floor limit was preventing thermostat to go from idle to heating. In your case what is the max setpoint value. I don’t think it is available in ZHA. Did you switch the thermostat from Neviweb ?
Normally the switch from idle to heating is done instantly when you raise the setpoint to have an heating demand. No delay. Are you running the latest HA version?
Please post your zigbee information for your thermostat in ZHA and device information for the Quirk used.
Update:
I’ve found a small bug in thermostat quirks in the section for the TH1123ZB. Maybe it can solve your issue.
To test please install my GitHub - claudegel/sinope-zha: This is a custom quirks for sinope zigbee devices for testing before it is added to zha-device-handlers. It also explain how to setup those quirks in Home Assistant to use and test them before they are merged in zha-device-handlers. Just follow the instruction.
You just need to copy the file thermostat.py in /config/zhaquirks/ and restart HA.
If it solve your issue I’ll send a PR to ZHA
Hi @claudegel, sorry I didn’t see your replies earlier. I am not sure what does “switch the thermostat from Neviweb” means. I don’t have Neviweb. I simply installed the thermostat, then paired it with my conbee 2 through ZHA.
I have installed your custom quirks but still have the same issue. As you can see in the image below, I set the temperature at 25.5 and you can see the electrical measurement going up (1600W), but the status stays idle.
Not sure which data exactly you need and where I should get it, but I found this:
"data": {
"ieee": "**REDACTED**",
"nwk": 35213,
"manufacturer": "Sinope Technologies",
"model": "TH1123ZB",
"name": "Sinope Technologies TH1123ZB",
"quirk_applied": true,
"quirk_class": "thermostat.SinopeLineThermostats",
"manufacturer_code": 4508,
"power_source": "Mains",
"lqi": 255,
"rssi": -42,
"last_seen": "2022-05-27T01:01:57",
"available": true,
"device_type": "Router",
"signature": {
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4508, maximum_buffer_size=71, maximum_incoming_transfer_size=43, server_mask=10752, maximum_outgoing_transfer_size=43, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0301",
"in_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0201",
"0x0204",
"0x0402",
"0x0702",
"0x0b04",
"0x0b05",
"0xff01"
],
"out_clusters": [
"0x000a",
"0x0019",
"0xff01"
]
}
}
},
"entities": [
{
"entity_id": "sensor.sinope_technologies_th1123zb_4aab0200_electrical_measurement",
"name": "Sinope Technologies TH1123ZB"
},
{
"entity_id": "sensor.sinope_technologies_th1123zb_4aab0200_electrical_measurement_rms_current",
"name": "Sinope Technologies TH1123ZB"
},
{
"entity_id": "sensor.sinope_technologies_th1123zb_4aab0200_electrical_measurement_rms_voltage",
"name": "Sinope Technologies TH1123ZB"
},
{
"entity_id": "sensor.sinope_technologies_th1123zb_4aab0200_electrical_measurement_power_factor",
"name": "Sinope Technologies TH1123ZB"
},
{
"entity_id": "sensor.sinope_technologies_th1123zb_4aab0200_smartenergy_metering_summation_delivered",
"name": "Sinope Technologies TH1123ZB"
},
{
"entity_id": "sensor.sinope_technologies_th1123zb_4aab0200_temperature",
"name": "Sinope Technologies TH1123ZB"
},
{
"entity_id": "sensor.sinope_technologies_th1123zb_4aab0200_thermostat_hvac_action",
"name": "Sinope Technologies TH1123ZB"
},
{
"entity_id": "button.sinope_technologies_th1123zb_4aab0200_identify",
"name": "Sinope Technologies TH1123ZB"
},
{
"entity_id": "climate.sinope_technologies_th1123zb_4aab0200_sinope_manufacturer_specific_thermostat",
"name": "Sinope Technologies TH1123ZB"
}
],
This is if the thermostat was connected to Neviweb before and you disconnect and switch it to ZHA. In that case some parameters changed in Neviweb are still the same when connected to ZHA unless you do a full thermostat reset.
Seems like it’s working now! Here is what I did:
- Fresh installation of home assistant (with your custom quirks module),
- Hard reset of the thermostat (hold the 2 buttons of the thermostat for 5-10 seconds)
- Connect the thermostat
It now displays the status “Heating” as soon as I raise the temperature and returns to “Idle” when I lower it, as expected.
Trying to install the “Sinope GT125” integration from HACS on a Home Assistant OS Virtual Machine on Proxmox. Filles the sinope configuration elements but as I understand, I must run device.py to fill sinope_devices.json. It seems I can’t execute it since python is not and can’t be installed. I will try to execute device.py on my windows machine and copy the json on the HA OS.
No joy. There seems to be a bug or I must import somthing on my Windows machine? I should not have to do this. I am a .NET developper who already spent two hours to try to make this work. The integration should be configurable at installation time from the UI to be able to enter the requirement for device.py and then the file would be automatically created on first use when the interaction is started and the file is absent.
C:\Redacted\Desktop>python device.py
Traceback (most recent call last):
File "C:\Redacted\Desktop\device.py", line 5, in <module>
import crc8
ModuleNotFoundError: No module named 'crc8'
I quit…
C:\Redacted\Desktop>pip install crc8
Collecting crc8
Downloading crc8-0.1.0.tar.gz (5.5 kB)
Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for crc8, since package 'wheel' is not installed.
Installing collected packages: crc8
Running setup.py install for crc8 ... done
Successfully installed crc8-0.1.0
WARNING: You are using pip version 22.0.4; however, version 22.1.2 is available.
You should consider upgrading via the 'C:\Users\Steve.BEAUDOINS-QC\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip install --upgrade pip' command.
C:\Redacted\Desktop>python device.py
Traceback (most recent call last):
File "C:\Redacted\Desktop\device.py", line 10, in <module>
import pwd
ModuleNotFoundError: No module named 'pwd'
C:\Redacted\Desktop>pip install pwd
ERROR: Could not find a version that satisfies the requirement pwd (from versions: none)
ERROR: No matching distribution found for pwd
He could not find a module pwd of any versions or he try to find pwd of version ‘none’??
First thing welcome to HA.
If you install from HACS, then everything is under config/custom_components/sinope. The file crc8.py is located in that directory and is updated each time there is a new version of crc8.py.
To fill the file sinope_devices.json which will be created in the directory config/.storage you need to run device.py from the install directory config/custom_components/sinope. That way it will find the file crc8.py. This file is needed for all operation of the sinope custom_component.
Python is already part of HA you don’t need to install anything for python.
In configuration.yaml add this:
sinope:
server: "192.168.1.1" ## your gt125 IP adress
id: "001EC0C13D1234f1" ## the ID written on the back of your GT125
api_key: "50119ec6411bd181" ## the key you will get when you run device.py the first time. It will be written on the frst line of sinope_device.json file
my_city: "Montreal" ##your city
scan_interval: 180 ##the frequency you will poll the gt125
Now to run device.py from the install dir inside HA, the best way is to install another module from HA. go to parameter section. Then complimentary modules and load SSH & Web Terminal module. This will give you a terminal inside HA directly on the config dir. Just cd to custom_components/sinope dir and run
sudo python3.8 device.py
If you have ssh access to your HA then login and go to config/custom_components/sinope and run device.py as above.
Follow the steps and add all your Sinopé devices one by one. make sure the cofiguration.yaml is up to date as mentioned above and restart HA.
Let me know if you need anything else.
I am wondering if I should stop using the integration and control my thermostat directly on Zigbee network instead ?
1- If internet is down, I want to be able to control the thermostat without directly on them.
2 - I think the thermostat will work as repeater ? making the network more stable ?
3 - faster response time. When setpoint is changed in home-assistant, it sends to Sinope and to the thermostat, but it can take sometime before it get refreshed on my dashboard.
Should I ?
What are the consequence ? I think I will miss the update, anything else ?
Effectively if you disconnect your zigbee thermostat from Neviweb and GT130 you will miss the devices update. But there is not a lot.
The thermostats cannot be connected to the GT130 and another zigbee network at the same time. In both case all thermostats works as repeater so you won’t improve your zigbee network stability. But you will get faster response as you don’t need to send anything to Neviweb and back home.
ZHA and Conbee II support all Sinope devices.