bwp91 / homebridge-ewelink

Homebridge plugin to integrate eWeLink devices into HomeKit.
MIT License
384 stars 126 forks source link

[TRVZB] support #518

Open paulzhdanov opened 8 months ago

paulzhdanov commented 8 months ago

Hi, as I understand, you can add this device support to plugin? thanks in advance!

[eWeLink] [TRVZB] is not supported, do create a GitHub issue with the following info:

[eWeLink] [TRVZB] is not supported

[eWeLink] [TRVZB] is not supported, do create a GitHub issue with the following info: [7017] {"bindInfos":{"miot":["d36b45f1-aa02-477e-9597-62363805735f_ewelink-miot-v1","d36b45f1-aa02-477e-9597-62363805735f_ewelink-miot-v1"]},"subDevId":"7ed2bafefff52e3c7017","parentid":"1001f8217c","fwVersion":"1.1.1","battery":100,"supportPowConfig":1,"ecoTargetTemp":70,"step":"008d","limitVoltage":"0507","runVoltage":"0593","temperature":230,"trigTime":"1698510595000","mon":"000000a001a400be025800a0025800a003fc00be056400a0","tues":"000000a001a400be025800a0025800a003fc00be056400a0","workMode":"0","curTargetTemp":230,"switch":"on","manTargetTemp":230,"wed":"000000a001a400be025800a0025800a003fc00be056400a0","thur":"000000a001a400be025800a0025800a003fc00be056400a0","fri":"000000a001a400be025800a0025800a003fc00be056400a0","sat":"000000a001a400be025800be025800be025800be056400a0","sun":"000000a001a400be025800be025800be025800be056400a0","autoTargetTemp":190,"workState":"0"}.

bwp91 commented 8 months ago
{
  "subDevId": "",
  "parentid": "",
  "fwVersion": "1.1.1",
  "battery": 100,
  "supportPowConfig": 1,
  "ecoTargetTemp": 70,
  "step": "008d",
  "limitVoltage": "0507",
  "runVoltage": "0593",
  "temperature": 230,
  "trigTime": "1698510595000",
  "mon": "000000a001a400be025800a0025800a003fc00be056400a0",
  "tues": "000000a001a400be025800a0025800a003fc00be056400a0",
  "workMode": "0",
  "curTargetTemp": 230,
  "switch": "on",
  "manTargetTemp": 230,
  "wed": "000000a001a400be025800a0025800a003fc00be056400a0",
  "thur": "000000a001a400be025800a0025800a003fc00be056400a0",
  "fri": "000000a001a400be025800a0025800a003fc00be056400a0",
  "sat": "000000a001a400be025800be025800be025800be056400a0",
  "sun": "000000a001a400be025800be025800be025800be056400a0",
  "autoTargetTemp": 190,
  "workState": "0"
}
paulzhdanov commented 8 months ago

@bwp91 Thank you for support! Please explain where should it be... I put the block you gave inside eWelink section:

        {
            "name": "eWeLink",
            "username": "***@gmail.com",
            "password": "***!",
            "mode": "auto",
            "language": "en",
            "singleDevices": [
                {
                    "label": "TRV",
                    "subDevId": "***",
                    "parentid": "***",
                    "fwVersion": "1.1.1",
...

with and without subDevId and parentid filled, but it doesn't work yet, I'm pretty sure something is still missing. Please advise.

bwp91 commented 8 months ago

sorry my comment wasnt very clear for you!!

This was something I added for me to take a look at sometime

paulzhdanov commented 8 months ago

Got it. Is there any chance to add TRV support via configs or smth without asking you to update the plugin? :)

paulzhdanov commented 8 months ago

Hi @bwp91 , Any plans to add TRV? I just checked beta-3, not yet...

thnx

paulzhdanov commented 7 months ago

Hi @bwp91 , It's beta-5 already, still no TRVZB... Please reveal your plans 🙏🏻

bwp91 commented 6 months ago

@paulzhdanov sorry i know you are keen on this! i will get some time over the xmas holidays to implement this 👍

paulzhdanov commented 6 months ago

@paulzhdanov sorry i know you are keen on this! i will get some time over the xmas holidays to implement this 👍

Wow. Sounds fantastic :) Thanx!

bwp91 commented 6 months ago

What controls are available for this in the ewelink app?

bwp91 commented 6 months ago

Please try the new beta version. It most likely won't work straight away (i have to guess a lot of it) but might be a good start!

paulzhdanov commented 6 months ago

Please try the new beta version. It most likely won't work straight away (i have to guess a lot of it) but might be a good start!

First of all - thank you! The accessory appeared both in HB and Home app. Now about the bugs. Log #1: the attempt to turn on and change the temp 'caused HB crash:

[26/12/2023, 21:55:45] [eWeLink] [TRVZB] initialising with options {"logging":"standard","offset":0}.
[26/12/2023, 21:55:45] [eWeLink] [TRVZB] initialised and LAN mode unavailable as not discovered/supported [7017:TRVZB].
[26/12/2023, 21:55:45] [eWeLink] [Lamp Sonoff] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","offlineAsOff":false}.
[26/12/2023, 21:55:45] [eWeLink] [Lamp Sonoff] initialised and LAN mode unavailable as not discovered/supported [104:B05-B].
[26/12/2023, 21:55:45] [eWeLink] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!
[26/12/2023, 21:56:39] [eWeLink] [TRVZB] sending update {"switch":"on"}.
[26/12/2023, 21:56:39] [eWeLink] [TRVZB] reverting to web socket as LAN mode is not supported for sending updates to this device.
[26/12/2023, 21:56:42] [eWeLink] [TRVZB] device update failed as unknown WS response [411] at default.sendUpdate (file:///var/lib/homebridge/node_modules/homebridge-ewelink/lib/connection/ws.js:337:19) at default.sendUpdate (file:///var/lib/homebridge/node_modules/homebridge-ewelink/lib/connection/ws.js:341:15).
[26/12/2023, 21:56:42] Error: HAP Status Error: -70402
    at new HapStatusError (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/hapStatusError.ts:17:5)
    at default.internalStateUpdate (file:///var/lib/homebridge/node_modules/homebridge-ewelink/lib/device/zigbee/thermostat.js:176:13)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
[26/12/2023, 21:56:42] Got SIGTERM, shutting down Homebridge...
[26/12/2023, 21:56:47] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null

Log #2: after restart the accessory successfully sniffed the temp installed through ewelink app, but attempt to change it to 21.5 'caused another scenario

[26/12/2023, 21:59:00] [eWeLink] [TRVZB] sending update {"workMode":"1","curTargetTemp":215}.
[26/12/2023, 21:59:00] [eWeLink] [TRVZB] reverting to web socket as LAN mode is not supported for sending updates to this device.
[26/12/2023, 21:59:02] [eWeLink] [TRVZB] current target [21.5°C].
[26/12/2023, 21:59:03] [eWeLink] [TRVZB] receiving update {"workMode":"1","online":true,"updateSource":"WS"}.
[26/12/2023, 21:59:03] [eWeLink] [TRVZB] receiving update {"curTargetTemp":70,"online":true,"updateSource":"WS"}.
[26/12/2023, 21:59:03] [eWeLink] [TRVZB] current target [7°C].
[26/12/2023, 21:59:03] [eWeLink] [TRVZB] receiving update {"workState":"0","online":true,"updateSource":"WS"}.
[26/12/2023, 21:59:03] [eWeLink] [TRVZB] current heating [off].
[26/12/2023, 21:59:04] [eWeLink] [TRVZB] receiving update {"switch":"off","online":true,"updateSource":"WS"}.
[26/12/2023, 21:59:04] [eWeLink] [TRVZB] current state [off].

There are a bunch of additional functions, such as temp calibration or open window protection, but I'm not sure its possible to implement them. However, I can make a screenshots if needed.

PS I'll be glad to betatest, we can speak directly (whatsapp or email) if you have any specific time frames to make things happen )

paulzhdanov commented 6 months ago

I have an assumption, why temp can be so tricky parameter. Sonoff has external sensor to use with TRV, so it could be more complicated config to specify which sensor you have to read. No idea how it works inside, just a guess ))

bwp91 commented 6 months ago

happy to message on discord if you are on there? it's pretty easy to get started on there if you are not. https://discord.gg/kqNCe2D

paulzhdanov commented 6 months ago

I'm there, but the link seems to be broken

Снимок экрана 2023-12-27 в 21 47 31

beta-2 has quite same problem - while changing the temp it switchs heater-cooler mode to inactive, second try - crash

[27/12/2023, 21:44:28] [eWeLink] LAN monitoring started.
[27/12/2023, 21:44:28] [eWeLink] [TRVZB] has been added to Homebridge.
[27/12/2023, 21:44:28] [eWeLink] [TRVZB] initialising with options {"logging":"standard","offset":0}.
[27/12/2023, 21:44:28] [eWeLink] [TRVZB] initialised and LAN mode unavailable as not discovered/supported [7017:TRVZB].
[27/12/2023, 21:44:28] [eWeLink] [Lamp Sonoff] has been added to Homebridge.
[27/12/2023, 21:44:28] [eWeLink] [Lamp Sonoff] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","offlineAsOff":false}.
[27/12/2023, 21:44:28] [eWeLink] [Lamp Sonoff] initialised and LAN mode unavailable as not discovered/supported [104:B05-B].
[27/12/2023, 21:44:28] [eWeLink] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!
[27/12/2023, 21:45:13] [eWeLink] [TRVZB] sending update {"workMode":"1","curTargetTemp":240}.
[27/12/2023, 21:45:13] [eWeLink] [TRVZB] reverting to web socket as LAN mode is not supported for sending updates to this device.
[27/12/2023, 21:45:15] [eWeLink] [TRVZB] current target [24°C].
[27/12/2023, 21:45:16] [eWeLink] [TRVZB] receiving update {"workMode":"1","online":true,"updateSource":"WS"}.
[27/12/2023, 21:45:16] [eWeLink] [TRVZB] receiving update {"curTargetTemp":70,"online":true,"updateSource":"WS"}.
[27/12/2023, 21:45:16] [eWeLink] [TRVZB] current target [7°C].
[27/12/2023, 21:45:16] [eWeLink] [TRVZB] receiving update {"temperature":209,"trigTime":"1703706315000","online":true,"updateSource":"WS"}.
[27/12/2023, 21:45:16] [eWeLink] [TRVZB] current temperature [20.9°C].
[27/12/2023, 21:45:16] [eWeLink] [TRVZB] receiving update {"workState":"0","online":true,"updateSource":"WS"}.
[27/12/2023, 21:45:16] [eWeLink] [TRVZB] current heating [off].
[27/12/2023, 21:45:17] [eWeLink] [TRVZB] receiving update {"switch":"off","online":true,"updateSource":"WS"}.
[27/12/2023, 21:45:17] [eWeLink] [TRVZB] current state [off].
[27/12/2023, 21:45:38] [eWeLink] [TRVZB] sending update {"switch":"on"}.
[27/12/2023, 21:45:38] [eWeLink] [TRVZB] reverting to web socket as LAN mode is not supported for sending updates to this device.
[27/12/2023, 21:45:41] [eWeLink] [TRVZB] receiving update {"workMode":"0","online":true,"updateSource":"WS"}.
[27/12/2023, 21:45:41] [eWeLink] [TRVZB] receiving update {"curTargetTemp":170,"online":true,"updateSource":"WS"}.
[27/12/2023, 21:45:41] [eWeLink] [TRVZB] current target [17°C].
[27/12/2023, 21:45:41] [eWeLink] [TRVZB] device update failed as unknown WS response [411] at default.sendUpdate (file:///var/lib/homebridge/node_modules/homebridge-ewelink/lib/connection/ws.js:337:19) at default.sendUpdate (file:///var/lib/homebridge/node_modules/homebridge-ewelink/lib/connection/ws.js:341:15).
[27/12/2023, 21:45:41] Error: HAP Status Error: -70402
    at new HapStatusError (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/hapStatusError.ts:17:5)
    at default.internalStateUpdate (file:///var/lib/homebridge/node_modules/homebridge-ewelink/lib/device/zigbee/thermostat.js:176:13)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
[27/12/2023, 21:45:41] Got SIGTERM, shutting down Homebridge...
[27/12/2023, 21:45:46] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
bwp91 commented 6 months ago

i think there may be a couple of things you need to do before you can see properly the homebridge channel

bwp91 commented 6 months ago

what is your discord username?

bwp91 commented 6 months ago

i sent you a dm - i think i found you!

paulzhdanov commented 6 months ago

i sent you a dm - i think i found you!

Thanks. I'm in :)

composerkaumann commented 5 months ago

I also try to play with the thermostat and HB. The weird thing is, I can not set the temp. in manual mode from Home app. Also the temp. range of the device is 4 - 35 deg but from Home app i can set it betweem 5-45 degrees. Using the latest beta which is downloadable from HB interface.