Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZHA Tuya attribute missing in TS130F curtain module #46146

Closed
FaBRiK74 opened this issue Feb 7, 2021 · 106 comments
Closed

ZHA Tuya attribute missing in TS130F curtain module #46146

FaBRiK74 opened this issue Feb 7, 2021 · 106 comments

Comments

@FaBRiK74
Copy link

FaBRiK74 commented Feb 7, 2021

The problem

Not able to calibrate TS130F based Zigbee curtain module (e.g. https://zigbee.blakadder.com/Lonsonho_TS130F.html) in ZHA because the ZHA cluster and its attributes are missing. This attribute contains the calibration.
This is Calibration (0xF001)

What is version of Home Assistant Core has the issue?

core-2021.2.0

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

ZHA

Link to integration documentation on our website

https://www.home-assistant.io/integrations/zha/

Example YAML snippet

# Put your YAML below this line

Anything in the logs that might be useful for us?

# Put your logs below this line
@bekon16
Copy link

bekon16 commented Apr 4, 2021

Hi,
It would be nice to have this integration in ZHA (because of installation HA core without supervisor i can't event switch on mqtt).
Is it possible to add it in future?
Thanks in advance.

@silversmarty
Copy link

Same thing here, not possible to make any calibration without this feature implemented :-(

@manueljortega
Copy link

Same here. The modul is unusefull if cannot be calibrated.

@JoeyGnarf
Copy link

Same here, looking forward to updates!

@ViperRNMC
Copy link

Same issue here, without calibration I don't know were my cover position is.

@moritan
Copy link

moritan commented Jun 23, 2021

If i understand the quirks documentation, we need to modify this file :
https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts130f.py

i try to edit the line 71 to add ("_TZ3000_vd43bbfq", "TS130F"), but the quirks don't look like to be used.

any idea how to check if quirks are used ?

@MattWestb
Copy link
Contributor

All information in the signature = section must matching or the quirk is not being triggered.
If you is having one identical device with all parameters is the same and only the device MODELS_INFO: is different its only adding one more line.

On the device card and the last line of the device info you is getting the quirk is one is loaded or not:
Quirk: zhaquirks.ikea.fivebtnremotezha.IkeaTradfriRemote or its no quirk line if o match is made.

@moritan
Copy link

moritan commented Jun 23, 2021

You were right, it was the signature. After fixing the signature, the quirk is loaded.
I will give more infos tomorrow after more tests.
It's too late to play with the calibration of covers tonight.

image

@MattWestb
Copy link
Contributor

MattWestb commented Jun 24, 2021

If you is getting it working with adding the model id to the signature and its working OK pleas do one PR for adding it in the quirk so other user can using there device 2 :-))

I can being that you need splitting the line to one record / line like this (example from valve.py):

        MODELS_INFO: [
            ("_TYST11_jeaxp72v", "eaxp72v"),
            ("_TYST11_kfvq6avy", "fvq6avy"),
            ("_TYST11_zivfvd7h", "ivfvd7h"),
        ],

@ViperRNMC
Copy link

You were right, it was the signature. After fixing the signature, the quirk is loaded.
I will give more infos tomorrow after more tests.
It's too late to play with the calibration of covers tonight.

image

any news? how did you make the change?

@MattWestb
Copy link
Contributor

For testing quirks look in the wiki how to using / editing local quirks zigpy/zha-device-handlers#693 (comment).

Its looks like @moritan was using this quirk #46146 (comment) and fixing the signature and it was working for him.

@moritan
Copy link

moritan commented Jun 29, 2021

Sorry, i didn't have time to give news.
So yes it's works with the modification i made ( I just modify the the signature).
But of course it's break compatibility for other model.

And according to this one (zigpy/zha-device-handlers#902), there is 4 differents type of model;

I will try to confirm it later( because i don't test this version) but this file should be ok
=>zigpy/zha-device-handlers#943

@ViperRNMC
Copy link

ViperRNMC commented Jun 29, 2021

can't get this working, did add to config:

zha:
  custom_quirks_path: /config/custom_zha_quirks/

Add file /config/custom_zha_quirks/tuya/ts130f.py with your adjustment, but when I restart has I don't get the calibration option

my signature is:

  "node_descriptor": "NodeDescriptor(byte1=1, byte2=64, mac_capability_flags=142, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=0, *allocate_address=True, *complex_descriptor_available=False, *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, *is_valid=True, *logical_type=<LogicalType.Router: 1>, *user_descriptor_available=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0202",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0x0102"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZ3000_vd43bbfq",
  "model": "TS130F",
  "class": "zigpy.device.Device"
}```

@moritan
Copy link

moritan commented Jun 29, 2021

I didn't have used the "custom_quirks_path".

Based on this wiki [ here ] :

  • I connect to th docker container with "docker exec -it homeassistant bash"
  • and go to the dir "cd /usr/local/lib/python3.8/site-packages/zhaquirks/tuya"
  • update the file "ts0043.py" with vi
  • Remove the pycache folder "rm -rf ./pycache/"
  • restart HA

Hope this will help

@moritan
Copy link

moritan commented Jun 29, 2021

i confirm the previous procedure work for me

@Emile86
Copy link

Emile86 commented Jun 29, 2021

You were right, it was the signature. After fixing the signature, the quirk is loaded.
I will give more infos tomorrow after more tests.
It's too late to play with the calibration of covers tonight.

image

I have same screen now but how can i calibrate? What do i have to send as command?
Thanks

@ViperRNMC
Copy link

thank, I use OS 6.1 on a blue, can't find the site-packages folder.

@moritan
Copy link

moritan commented Jun 30, 2021

I have same screen now but how can i calibrate? What do i have to send as command?
Thanks

The good news is that all the action can be done from the same screen.
The bad news ? No bad news.

So :

  • Open the clusters window
  • Select "TuyaCoveringCluster (Endpoint id: 1, Id: 0x0102, Type: in)"
  • Launch the "down_close (id: 0x0001)" command
  • Once closed launch the "stop (id: 0x0002)" command
  • Activate calibration mode by setting "0" to the zigbee attribute
  • Launch the "up_open (id: 0x0000)" command
  • Once opened, launch the "stop (id: 0x0002)" command
  • Launch the "down_close (id: 0x0001)" command
  • Once closed launch the "stop (id: 0x0002)" command
  • desactivate calibration mode by setting "1" to the zigbee attribute

It's done.

@moritan
Copy link

moritan commented Jun 30, 2021

thank, I use OS 6.1 on a blue, can't find the site-packages folder.

Sorry but what is a blue ?

@MattWestb
Copy link
Contributor

MattWestb commented Jun 30, 2021

@ViperRNMC in you configure folder its in the deps folder (If they is being installed or its dont have it) but i dont knowing how to accessing it in OS.
In supeerviced i can accessing it with installing the file editor add on that is starting in the config directory.

@MattWestb
Copy link
Contributor

@moritan
Copy link

moritan commented Jun 30, 2021

it looks like it's a standard installation, so you should be able to ssh in the system and open a docker bash console.

@ViperRNMC
Copy link

ViperRNMC commented Jun 30, 2021

@ViperRNMC in you configure folder its in the deps folder (If they is being installed or its dont have it) but i dont knowing how to accessing it in OS.
In supeerviced i can accessing it with installing the file editor add on that is starting in the config directory.

found it, but...

OS 6.1 has Python 3.7.3 and I found in de folder deps after install zha-quirks package

/config/deps/lib/python3.8/site-packages/zhaquirks/ and no folder Tuya

@MattWestb
Copy link
Contributor

Then you is in the OS (rasbian or woth they is running on the blue have older python then the HA container). If you have portainer installed then is the homeassiistant container you shall open the CLI in. Containers is virtual so they can having complete different things installed also different versions of files then the OS or other containers.

@michaelbeyhs
Copy link

Just wanted to confirm that the modified quirk works for me too.
I was able to calibrate my QS-Zigbee-C01 Curtain module that shows up as "TS130F
by _TZ3000_vd43bbfq" using the quirk and the above instructions.

@MattWestb
Copy link
Contributor

MattWestb commented Jun 30, 2021

From the linked guide:

Access the quirks directory
on HA > 0.113: /usr/local/lib/python3.8/site-packages/zhaquirks/
on HA < 0.113: /usr/local/lib/python3.7/site-packages/zhaquirks/

so all current HA is running python 3.8.

From Portainer you is having home the assistant container like this (the spelling of home assistant can being different):
HAPORT
Click on the >_ and you is getting:
HAPORTC
Then click on connect and you shall having one bash terminal in the HA container.

And the path to ZHAQuirks is working:
HAPORTD

@Emile86
Copy link

Emile86 commented Jun 30, 2021

I have same screen now but how can i calibrate? What do i have to send as command?
Thanks

The good news is that all the action can be done from the same screen.
The bad news ? No bad news.

So :

  • Open the clusters window
  • Select "TuyaCoveringCluster (Endpoint id: 1, Id: 0x0102, Type: in)"
  • Launch the "down_close (id: 0x0001)" command
  • Once closed launch the "stop (id: 0x0002)" command
  • Activate calibration mode by setting "0" to the zigbee attribute
  • Launch the "up_open (id: 0x0000)" command
  • Once opened, launch the "stop (id: 0x0002)" command
  • Launch the "down_close (id: 0x0001)" command
  • Once closed launch the "stop (id: 0x0002)" command
  • desactivate calibration mode by setting "1" to the zigbee attribute

It's done.

Thank you!
I will try it today

@txelut
Copy link

txelut commented Nov 10, 2022

Hello, and thanks everybody for the contribution on this topic.
I was able to install the quirk and to calibrate the device, but in my case, it seems that the motor is a bit faster moving down than moving up. I guess the calibration is taking care of that, but if I move it up and down several times, there is a remaining distance that increases little by little before reaching the upper position, additionally, when moving down the distance is exceeded. Do you know how could I fine tune the calibration?
Do you recommend any other curtain device that allow us to calibrate both times up and down by default?
I am checking one sample of TS130F before buying the rest for my home, so I am on time to choose another faster "plug-and-play" option.

Thanks,

Àngel

@BrixSat
Copy link

BrixSat commented Dec 28, 2022

thank you so much

@jasimancas
Copy link

I have a problem with this device, I do not know if it also happens to you, I have it calibrated, and it works correctly sometimes, but for example if I tell Google to open at 50%, it opens it, it stops but nevertheless in the HA interface it still appears to me that it continues to rise, I have to press manual STOP so that it appears open at 50%, does it also happen to you?

@BrixSat
Copy link

BrixSat commented Jan 11, 2023

I have not tested with google yet, that is to be done when possible. But i got mine perfectly working and calibrated.

@jasimancas
Copy link

I have not tested with google yet, that is to be done when possible. But i got mine perfectly working and calibrated.

Can you tell me the firmware version you have installed on the module?

@Tschuuuls
Copy link

I have not tested with google yet, that is to be done when possible. But i got mine perfectly working and calibrated.

Can you tell me the firmware version you have installed on the module?

I would also appreciate the firmware version, as I would like to buy some zigbee blind actors and they all seem to use the same tuya module which has this weird flaw that it doesn't compensate for longer opening times as opposed to closing, therefore not opening all the way. Not looking forward to waiting weeks for them to ship, just to find out they don't work correctly :D

@darmach
Copy link

darmach commented May 9, 2023

Hello, and thanks everybody for the contribution on this topic. I was able to install the quirk and to calibrate the device, but in my case, it seems that the motor is a bit faster moving down than moving up. I guess the calibration is taking care of that, but if I move it up and down several times, there is a remaining distance that increases little by little before reaching the upper position, additionally, when moving down the distance is exceeded. Do you know how could I fine tune the calibration? Do you recommend any other curtain device that allow us to calibrate both times up and down by default? I am checking one sample of TS130F before buying the rest for my home, so I am on time to choose another faster "plug-and-play" option.

Thanks,

Àngel

This drives me mad aswell, there are few interesting parameters in ToyaCoveringCluster - did you give any of them a try?

  • acceleration_time_lift - this sounds a bit like it could we used to correct for shutters being closed for first seconds of opening, when the spaces between them are still shut when it's closed, and they widen when it's already "hanging"
  • velocity_lift - this sounds like something that could correct for velocity difference on lift?

@martin3000
Copy link
Contributor

I cannot set acceleration_time_lift or velocity_lift. They seem to be read only. Maybe this was planned and never implemented.

@Braintelligence
Copy link

Braintelligence commented Jun 18, 2023

I'm using a Nous L12Z Curtain Module. It shows up as TS130F in ZHA, so I guess it is a duplicate model.

I don't see a way to calibrate it in the cluster settings. Any idea what I could try to make it work?

This is the signature:

{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, 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": "0x0104",
      "device_type": "0x0202",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0102"
      ],
      "output_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZ3000_jwv3cwak",
  "model": "TS130F",
  "class": "zigpy.device.Device"
}

I see the following in debug:

2023-06-16 11:54:50.696 INFO (MainThread) [zigpy.device] [0x7a7e] Read model 'TS130F' and manufacturer '_TZ3000_jwv3cwak' from <Endpoint id=1 in=[basic:0x0000, identify:0x0003, groups:0x0004, scenes:0x0005, window_covering:0x0102] out=[ota:0x0019] status=<Status.ZDO_INIT: 1>>
2023-06-16 11:54:50.696 INFO (MainThread) [zigpy.device] [0x7a7e] Discovered basic device information for <Device model='TS130F' manuf='_TZ3000_jwv3cwak' nwk=0x7A7E ieee=a4:c1:38:cd:a6:8b:5c:64 is_initialized=True>
2023-06-16 11:54:50.696 DEBUG (MainThread) [zigpy.application] Device is initialized <Device model='TS130F' manuf='_TZ3000_jwv3cwak' nwk=0x7A7E ieee=a4:c1:38:cd:a6:8b:5c:64 is_initialized=True>
2023-06-16 11:54:50.696 DEBUG (MainThread) [zigpy.quirks.registry] Checking quirks for _TZ3000_jwv3cwak TS130F (a4:c1:38:cd:a6:8b:5c:64)
2023-06-16 11:54:50.696 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts130f.TuyaTS130ESTC'>
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 242} {1}
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts130f.TuyaTS130Double_GP'>
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2, 242} {1}
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts130f.TuyaTS130GP'>
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 242} {1}
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts130f.TuyaTS130FTO'>
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Fail because input cluster mismatch on at least one endpoint
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts130f.TuyaTS130FTI2'>
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts130f.TuyaTS130FTOGP'>
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 242} {1}
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts130f.TuyaZemismartTS130F'>
2023-06-16 11:54:50.697 DEBUG (MainThread) [zigpy.quirks.registry] Fail because input cluster mismatch on at least one endpoint
2023-06-16 11:54:50.698 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts130f.TuyaTS130FTI'>
2023-06-16 11:54:50.698 DEBUG (MainThread) [zigpy.quirks.registry] Fail because input cluster mismatch on at least one endpoint

All help appreciated!

@etienn01
Copy link

@Braintelligence The Nous L12Z (_TZ3000_jwv3cwak) seems to work (got the TuyaCoveringCluster and was able to calibrate) with the following custom quirk:

class TuyaNousTS130F(CustomDevice):
    """Tuya Nous smart curtain roller shutter."""

    signature = {
        MODEL: "TS130F",
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.WINDOW_COVERING_DEVICE,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    WindowCovering.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id],
            },
        },
    }
    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.WINDOW_COVERING_DEVICE,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaCoveringCluster,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id],
            },
        },
    }

@Braintelligence
Copy link

That sounds awesome. Will try it out later. Do you think it might be included in a future update?

@Braintelligence
Copy link

Braintelligence commented Jun 25, 2023

Thanks @etienn01
Everything works.

Here is my minimal working custom quirk script for reference if anyone wants to set it up as well:

"""Device handler for loratap TS130F smart curtain switch."""
from zigpy.profiles import zha#, zgp
from zigpy.quirks import CustomCluster, CustomDevice
import zigpy.types as t
from zigpy.zcl.clusters.closures import WindowCovering
from zigpy.zcl.clusters.general import (
    Basic,
    GreenPowerProxy,
    Groups,
    OnOff,
    Ota,
    Scenes,
    Time,
    Identify,
)

from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODEL,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)
from zhaquirks.tuya import SwitchBackLight, TuyaZBExternalSwitchTypeCluster

ATTR_CURRENT_POSITION_LIFT_PERCENTAGE = 0x0008
CMD_GO_TO_LIFT_PERCENTAGE = 0x0005

class MotorMode(t.enum8):
    """Tuya motor mode enum."""

    STRONG_MOTOR = 0x00
    WEAK_MOTOR = 0x01

class TuyaCoveringCluster(CustomCluster, WindowCovering):
    """TuyaSmartCurtainWindowCoveringCluster: Allow to setup Window covering tuya devices."""

    attributes = WindowCovering.attributes.copy()
    attributes.update({0x8000: ("motor_mode", MotorMode)})
    attributes.update({0xF000: ("tuya_moving_state", t.enum8)})
    attributes.update({0xF001: ("calibration", t.enum8)})
    attributes.update({0xF002: ("motor_reversal", t.enum8)})
    attributes.update({0xF003: ("calibration_time", t.uint16_t)})

    def _update_attribute(self, attrid, value):
        if attrid == ATTR_CURRENT_POSITION_LIFT_PERCENTAGE:
            # Invert the percentage value (cf https://github.com/dresden-elektronik/deconz-rest-plugin/issues/3757)
            value = 100 - value
        super()._update_attribute(attrid, value)

    async def command(
        self, command_id, *args, manufacturer=None, expect_reply=True, tsn=None
    ):
        """Override default command to invert percent lift value."""
        if command_id == CMD_GO_TO_LIFT_PERCENTAGE:
            percent = args[0]
            # Invert the percentage value (cf https://github.com/dresden-elektronik/deconz-rest-plugin/issues/3757)
            percent = 100 - percent
            v = (percent,)
            return await super().command(command_id, *v)
        return await super().command(
            command_id,
            *args,
            manufacturer=manufacturer,
            expect_reply=expect_reply,
            tsn=tsn
        )

class TuyaNousTS130F(CustomDevice):
    """Tuya Nous smart curtain roller shutter."""

    signature = {
        MODEL: "TS130F",
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.WINDOW_COVERING_DEVICE,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    WindowCovering.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id],
            },
        },
    }
    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.WINDOW_COVERING_DEVICE,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaCoveringCluster,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id],
            },
        },
    }

I hope this might find its way into the base code soon as well. The Nous L12Z seems to be the cheapest zigbee curtain module I could find in my country.

@nilsharm
Copy link

nilsharm commented Jun 30, 2023

I am trying to calibrate the Nous L12Z. Using the custom quirk script I was able to access the TuyaCoveringCluster for the first time. I am also able to read the calibration time. However, it seems to be a read only value. How can the calibration be accomplished?

In addition, some attribute values seem odd, e.g. calibration. I would expect a 1 or 0.

image

@Braintelligence
Copy link

Braintelligence commented Jun 30, 2023

@nilsharm ignore calibration, you need to set calibration time.

Works just fine for me.

@nilsharm
Copy link

nilsharm commented Jun 30, 2023

@Braintelligence thanks for replying so quickly.
The error sits in front of the screen. I tried to set the new value in 'Manufacteurer Code Override' instead of using the line above. That was too simple.

@darmach
Copy link

darmach commented Aug 1, 2023

Does it work for you? It used to work for me but looks like calibration_time does not change afterwards.

@Braintelligence
Copy link

Works flawlessly

@nilsharm
Copy link

nilsharm commented Aug 1, 2023

Works flawlessly, just do not make the same mistake I did and use the first line to override the value. Anything in the second line will not change anything.
image

@darmach
Copy link

darmach commented Aug 1, 2023

@nilsharm @Braintelligence I meant calibration (0/1) not calibration_time.

I have one controller on which it used to work, installed 3 new and calibration does not activate on any of them after setting calibration to 0.

@Braintelligence
Copy link

@nilsharm @Braintelligence I meant calibration (0/1) not calibration_time.

I have one controller on which it used to work, installed 3 new and calibration does not activate on any of them after setting calibration to 0.

No one said to use calibration. I even explicitly told to ignore it. Use calibration_time.

@LeFlairGoD
Copy link

Funktioniert einwandfrei, machen Sie nur nicht den gleichen Fehler wie ich und verwenden Sie die erste Zeile, um den Wert zu überschreiben. Alles in der zweiten Zeile ändert nichts. Bild

OMG I love you guys! I've been looking for the bug for so long.... It runs! Thanks

@darmach
Copy link

darmach commented Aug 8, 2023

No one said to use calibration. I even explicitly told to ignore it. Use calibration_time.

No one says you (or anyone) said to use calibration. calibration is what I asked about (sidetracking the topic, I admit) and you did not answer the question. People can actually ask about things you did say to ignore, right? Especially things that did work before (I used it about a year ago, and it did trigger calibration properly - you could calibrate by running the shutter up and down with the buttons, then save calibration result).

But you do you, I won't be the internet police to say people what to do! :)

Anyways, despite @Braintelligence saying 'explicitly' not to use the calibration - does it work for anyone else?

I am trying to find out what changed, I am aware that you can workaround by measuring and entering the calibration_time directly - but that's it, a workaround for proper feature, and I'd like to troubleshoot and fix that. Myself if needed, even in @Braintelligence does not like it - that's the kind of daredevil I am! ;)

@Braintelligence
Copy link

Ok, so first you ask (with a big X/Y-problem behind your intention, as you confirmed in your follow-up): Does it work for you? - Implying you're following up on the recent messages, which were explicitly about calibration_time.

Yes, everything we need the custom quirk for the Nous L12Z for (in other words: making the curtains open, close and everything in-between) works flawlessly. Since you didn't specify any other parameters we have to assume you're connecting to exactly that discussion here.

Since many people had problems with calibration in this thread it was said multiple times to just use calibration_time instead; I wasn't the inventor of that "workaround" as you call it; I'm just the messenger.

I did tell to specifically ignore calibration not to everyone but one specific person and I pointed to that fact since you followed up on a discussion about calibration_time in a context where most people here want only one thing: make their curtain modules work. You didn't even specify the exact curtain module that you're using, which is very important because through this issue we know for a FACT that some of the relevant curtain modules here do not work with calibration at all.

If you really want to be that daredevil who'll rather fimble around with calibration instead of just doing a bit of trial-and-error and use calibration_time instead, then so be it. But leave me out of your condescending wall of text, implying I'm an internet police of some sorts; I'm just trying to help here and didn't even receive a simple thank you or thumbs up for the complete write-up of the working custom quirk.

If you're following the guide on how to do the calibration within this issue (for example making sure that your curtain is completely open before starting calibration), then I guess your curtain modules either aren't capable of it or the quirk has to be changed.

None of my 10+ Nous L12Z works with calibration, and I also don't need it because it doesn't solve any problem for me.

Have a nice day ;)

@darmach
Copy link

darmach commented Aug 8, 2023

You too! (And there's your thumbs up aswell!)

@Braintelligence
Copy link

If you can provide a list of all the curtain module signatures that you use we might get a hint on why calibration works/worked for you.

You said your first controller used to work with calibration, so I'm not sure if it still does. But if it does then we can probably rule out the quirk being the culprit and check the differences in the signature.

If it's the same model it might be a firmware issue. If the newer controllers you bought are different models then I'm >90 % sure that they're just incapable of using calibration just like the Nous L12Z.

There just has to be a reason why they are so much cheaper than other TS130F variants here.

@issue-triage-workflows
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@issue-triage-workflows issue-triage-workflows bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 13, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Dec 13, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests