Fix issue with video thumbnail generation after

Description:
I addressed an issue where the video thumbnail could not be retrieved after playing a recorded video on Android 9.0. The fix involves refreshing the media store after the video is played and generating the video thumbnail correctly.
Challenges:
Understanding the specific behavior on Android 9.0 and ensuring the media store is updated correctly were the main challenges. I also ensured that the solution does not affect other functionalities of the app.
Future Plans:
I plan to explore more issues related to media handling and possibly add features to improve the user experience when dealing with video recordings.

AI Code Review is in progress (usually takes <3 minutes unless it's a very large PR).

Code Review Agent Run Status

Limitations and other issues: Code Review session failed. Please contact<EMAIL_ADDRESS>


Add support for FreeBSD.

Thank you for the pull request. However, I'm afraid that it is difficult for me to maintain too many platforms for this personal project :)

oh, i understand. thank you for sharing such an awesome project!
i'll close the PR. :)


Documentation Storybook Add-On

We'd like to get a documentation add-on for Storybook. This is a potential option, but part of this ticket is researching one that works well.
Here is some sample documentation for the Button component.
Tasks

[ ] Add documentation add-on
[ ] Connect one story to instance of Airtable documentation
[ ] Remove "Show Info" button

An additional thought I had is that the UX team keeps its documentation in Airtable. We might best be served by an Airtable Storybook add-on if such a thing exists.

Closing via #369.


wrapping long lines when comparing files

Sometimes I have to compare two text files with long lines (e.g. latex files written by coauthors).  The side by side file comparison would be easier to read if long lines were wrapped.

VSCode Version:
OS Version:

Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

Duplicate of #11387


npm link instructions

Note: this doesn't work.
Another possibility
rm -rf ./node_modules/@ciscospark ./node_modules/ciscospark
npm ls -g --json | grep '@ciscospark' | grep -v peer | grep '{' | grep -v '{}' | awk '{print $1}' | sed 's#"##g' | sed 's#:##g' | xargs -n 1 npm link

in the sdk, you may also need to run
rm -rf ./packages/node_modules/@ciscospark/*/node_modules

but i would avoid that last one if at all possible. If the last step is required, it may be useful to run npm install in the web client after all is said and done.


Finalize docker image runtime location

I'm not sure what this means, it's from my notes from our sprint planning :)

@avirshup I'm not sure what this means either. If neither of us knows, I'll remove this task.

Closed.


[Device Support Request] TS004F Tuya Smart Knob

I recently got this Tuya Smart Knob: Ali
Pairing works and the Quirks for TS004F is applied, but only the battery cluster works, others don't appear.
Here is the pairing log:
Device 0x27a3 (54:0f:57:ff:fe:2e:3c:5f) joined the network
Device 54:0f:57:ff:fe:2e:3c:5f changed id (0x27a3 => 0x27a3)
[0x27a3] Scheduling initialization
Tries remaining: 3
[0x27a3] Requesting 'Node Descriptor'
Tries remaining: 2
[0x27a3] Extending timeout for 0x2e request
Device 0x27a3 (54:0f:57:ff:fe:2e:3c:5f) joined the network
[0x27a3] Scheduling initialization
[0x27a3] Canceling old initialize call
Tries remaining: 3
[0x27a3] Requesting 'Node Descriptor'
Tries remaining: 2
[0x27a3] Extending timeout for 0x2f request
Device 0x27a3 (54:0f:57:ff:fe:2e:3c:5f) joined the network
[0x27a3] Scheduling initialization
[0x27a3] Canceling old initialize call
Received frame on uninitialized device <Device model=None manuf=None nwk=0x27A3 ieee=54:0f:57:ff:fe:2e:3c:5f is_initialized=False> from ep 0 to ep 0, cluster ZDOCmd.Device_annce: b'\xFF\xA3\x27\x5F\x3C\x2E\xFE\xFF\x57\x0F\x54\x80'
[0x27a3:zdo] ZDO request ZDOCmd.Device_annce: [0x27A3, 54:0f:57:ff:fe:2e:3c:5f, 128]
Tries remaining: 3
[0x27a3] Requesting 'Node Descriptor'
Tries remaining: 2
[0x27a3] Extending timeout for 0x30 request
Received frame on uninitialized device <Device model=None manuf=None nwk=0x27A3 ieee=54:0f:57:ff:fe:2e:3c:5f is_initialized=False> from ep 0 to ep 0, cluster ZDOCmd.Node_Desc_rsp: b'\x30\x00\xA3\x27\x02\x40\x80\x02\x10\x52\x52\x00\x00\x2C\x52\x00\x00'
[0x27a3] Got Node Descriptor: NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)
[0x27a3] Discovering endpoints
Tries remaining: 3
[0x27a3] Extending timeout for 0x31 request
Received frame on uninitialized device <Device model=None manuf=None nwk=0x27A3 ieee=54:0f:57:ff:fe:2e:3c:5f is_initialized=False> from ep 0 to ep 0, cluster ZDOCmd.Active_EP_rsp: b'\x31\x00\xA3\x27\x01\x01'
[0x27a3] Discovered endpoints: [1]
[0x27a3] Initializing endpoints [<Endpoint id=1 in=[] out=[] status=<Status.NEW: 0>>]
[0x27a3:1] Discovering endpoint information
Tries remaining: 3
[0x27a3] Extending timeout for 0x32 request
Received frame on uninitialized device <Device model=None manuf=None nwk=0x27A3 ieee=54:0f:57:ff:fe:2e:3c:5f is_initialized=False> from ep 0 to ep 0, cluster ZDOCmd.Simple_Desc_rsp: b'\x32\x00\xA3\x27\x24\x01\x04\x01\x04\x01\x01\x06\x00\x00\x01\x00\x03\x00\x04\x00\x06\x00\x00\x10\x08\x19\x00\x0A\x00\x03\x00\x04\x00\x05\x00\x06\x00\x08\x00\x00\x10'
[0x27a3:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=260, device_version=1, input_clusters=[0, 1, 3, 4, 6, 4096], output_clusters=[25, 10, 3, 4, 5, 6, 8, 4096])
[0x27a3] Extending timeout for 0x33 request
[0x27a3:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=51 command_id=Command.Read_Attributes_rsp>
[0x27a3] Read model 'TS004F' and manufacturer '_TZ3000_4fjiwweb' from <Endpoint id=1 in=[basic:0x0000, power:0x0001, identify:0x0003, groups:0x0004, on_off:0x0006, lightlink:0x1000] out=[ota:0x0019, time:0x000A, identify:0x0003, groups:0x0004, scenes:0x0005, on_off:0x0006, level:0x0008, lightlink:0x1000] status=<Status.ZDO_INIT: 1>>
[0x27a3] Discovered basic device information for <Device model='TS004F' manuf='_TZ3000_4fjiwweb' nwk=0x27A3 ieee=54:0f:57:ff:fe:2e:3c:5f is_initialized=True>
Device is initialized <Device model='TS004F' manuf='_TZ3000_4fjiwweb' nwk=0x27A3 ieee=54:0f:57:ff:fe:2e:3c:5f is_initialized=True>
Checking quirks for _TZ3000_4fjiwweb TS004F (54:0f:57:ff:fe:2e:3c:5f)
Considering <class 'zhaquirks.tuya.ts004f.TuyaSmartRemote004F'>
Found custom device replacement for 54:0f:57:ff:fe:2e:3c:5f: <class 'zhaquirks.tuya.ts004f.TuyaSmartRemote004F'>
device - 0x27A3:54:0f:57:ff:fe:2e:3c:5f entering async_device_initialized - is_new_join: True
device - 0x27A3:54:0f:57:ff:fe:2e:3c:5f has joined the ZHA zigbee network
[0x27A3](TS004F): started configuration
[0x27A3:ZDO](TS004F): 'async_configure' stage succeeded
[0x27a3] Extending timeout for 0x34 request
[0x27a3] Extending timeout for 0x35 request
[0x27A3:1:0x0000]: finished channel configuration
[0x27a3] Extending timeout for 0x36 request
Error handling '_save_attribute' event with (54:0f:57:ff:fe:2e:3c:5f, 1, 0, 4, '_TZ3000_4fjiwweb') params: FOREIGN KEY constraint failed
Error handling '_save_attribute' event with (54:0f:57:ff:fe:2e:3c:5f, 1, 0, 5, 'TS004F') params: FOREIGN KEY constraint failed
[0x27a3:1:0x1000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=53 command_id=Command.Default_Response>
[0x27a3] Extending timeout for 0x37 request
[0x27A3:1:0x0001]: bound 'power' cluster: Status.SUCCESS
[0x27a3] Extending timeout for 0x38 request
[0x27A3:1:0x0008]: bound 'level' cluster: Status.SUCCESS
[0x27A3:1:0x0008]: finished channel configuration
[0x27A3:1:0x0019]: finished channel configuration
[0x27a3] Extending timeout for 0x39 request
[0x27A3:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0x27A3:1:0x0006]: finished channel configuration
[0x27A3:1:0x0005]: bound 'scenes' cluster: Status.SUCCESS
[0x27A3:1:0x0005]: finished channel configuration
[0x27a3:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=56 command_id=Command.Configure_Reporting_rsp>
[0x27A3:1:0x0001]: Successfully configured reporting for '{'battery_voltage': (3600, 10800, 1), 'battery_percentage_remaining': (3600, 10800, 1)}' on 'power' cluster: [ConfigureReportingResponseRecord(status=0)]
[0x27A3:1:0x0001]: finished channel configuration
[0x27A3:1:0x0001]: 'async_configure' stage succeeded
[0x27A3:1:0x1000]: 'async_configure' stage failed: not enough values to unpack (expected 3, got 2)
[0x27A3:1:0x0000]: 'async_configure' stage succeeded
[0x27A3:1:0x0008]: 'async_configure' stage succeeded
[0x27A3:1:0x0006]: 'async_configure' stage succeeded
[0x27A3:1:0x0019]: 'async_configure' stage succeeded
[0x27A3:1:0x0005]: 'async_configure' stage succeeded
[0x27A3](TS004F): completed configuration
[0x27A3](TS004F): stored in registry: ZhaDeviceEntry(name='_TZ3000_4fjiwweb TS004F', ieee='54:0f:57:ff:fe:2e:3c:5f', last_seen=1643823108.9565244)
[0x27a3] Extending timeout for 0x3a request
[0x27a3:1:0x0003] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=58 command_id=Command.Default_Response>
[0x27A3:1:0x0003]: executed 'trigger_effect' command with args: '(2, 0)' kwargs: '{}' result: [64, <Status.UNSUP_CLUSTER_COMMAND: 129>]
[0x27A3](TS004F): started initialization
[0x27A3:ZDO](TS004F): 'async_initialize' stage succeeded
[0x27A3:1:0x0001]: initializing channel: from_cache: False
[0x27a3] Extending timeout for 0x3b request
[0x27A3:1:0x1000]: initializing channel: from_cache: False
[0x27A3:1:0x1000]: finished channel initialization
[0x27A3:1:0x0000]: initializing channel: from_cache: False
[0x27A3:1:0x0000]: finished channel initialization
[0x27A3:1:0x0008]: initializing channel: from_cache: False
[0x27A3:1:0x0008]: finished channel initialization
[0x27A3:1:0x0006]: initializing channel: from_cache: False
[0x27A3:1:0x0006]: finished channel initialization
[0x27A3:1:0x0019]: initializing channel: from_cache: False
[0x27A3:1:0x0019]: finished channel initialization
[0x27A3:1:0x0005]: initializing channel: from_cache: False
[0x27A3:1:0x0005]: finished channel initialization
[0x27a3:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=59 command_id=Command.Read_Attributes_rsp>
[0x27a3] Extending timeout for 0x3c request
[0x27a3:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=60 command_id=Command.Read_Attributes_rsp>
[0x27A3:1:0x0001]: finished channel initialization
[0x27A3:1:0x0001]: 'async_initialize' stage succeeded
[0x27A3:1:0x1000]: 'async_initialize' stage succeeded
[0x27A3:1:0x0000]: 'async_initialize' stage succeeded
[0x27A3:1:0x0008]: 'async_initialize' stage succeeded
[0x27A3:1:0x0006]: 'async_initialize' stage succeeded
[0x27A3:1:0x0019]: 'async_initialize' stage succeeded
[0x27A3:1:0x0005]: 'async_initialize' stage succeeded
[0x27A3](TS004F): power source: Battery or Unknown
[0x27A3](TS004F): completed initialization

Probably has something to do with these two warnings:
Logger: zigpy_znp.api
Source: /usr/local/lib/python3.9/site-packages/zigpy_znp/api.py:700
First occurred: 18:20:10 (2 occurrences)
Last logged: 18:31:44

Received an unhandled command: ZDO.NodeDescRsp.Callback(Src=0x2553, Status=<Status.SUCCESS: 0>, NWK=0x2553, NodeDescriptor=NullableNodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False))
Received an unhandled command: ZDO.NodeDescRsp.Callback(Src=0x27A3, Status=<Status.SUCCESS: 0>, NWK=0x27A3, NodeDescriptor=NullableNodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False))

Logger: homeassistant.components.zha.core.channels.base
Source: components/zha/core/channels/base.py:428
Integration: Zigbee Home Automation (documentation, issues)
First occurred: 18:20:14 (3 occurrences)
Last logged: 18:31:48

[0x2553:1:0x1000]: 'async_configure' stage failed: not enough values to unpack (expected 3, got 2)
[0x2553:1:0x1000]: Couldn't get list of groups: Request failed after 5 attempts: <Status.MAC_NO_ACK: 233>
[0x27A3:1:0x1000]: 'async_configure' stage failed: not enough values to unpack (expected 3, got 2)

You is getting a l'impossible devices tuya have making !!!
I have "original" TS004F that i cant getting working with different modes but i hope i can getting up and running with little help.
One user have making on issue but hi was not getting all log needed for getting it working. https://github.com/zigpy/zha-device-handlers/issues/1268
Its have 2 modes and if the quirk is loaded (the updated in dev that is coming it HA 2022.02) you shall being possible switching it between command (dimmer switch) and event (scene switch) also by triple clicking the button.
The command mode shall working OK but i have not getting report if its doing that or not.
Use development tools and events and putting in zha_event in listening to and clicking start listening.
If all working OK in dimmer mode you shall getting all commands the original TS004F is sending = On, Off, Dimm up and down and stop dimming.
I need good logs from the color changing so we can implanting it 2 with devices automation in the quirk.
The scene mode is sending no standard command for press, double and long press and i have testing and and getting it working with my switch but not good. But this device have one extra attribute for rotating that i have implantation and testing (by renaming the attribute for my device) and can getting OK data in ZHA.
The best is making one mod working OK before mixing all up and making one large mess of it.
Can you getting logs then having the switch in command mode and trying if the standard commands is working and also logs from color changing (pressing and rotating left and right) ?
For doing changes for the event mode is needed updating files in the HA container (adding the extra attributes) and i have it not finished then have not getting feedback if its working or not but i think its better waiting for the update of HA then its deleting all changes in the container.
I think the last error Status.MAC_NO_ACK is the device sleeping and have not replacing on the request.

By the way in ZHA you shall only getting one battery sensor then the "switch part" is not having one state lik lights is having (On/Off) and is sending events that can being used for triggering in automations.

Update: The last errors if from touch link cluster and old ZLL device was having one random group after reset but Zigbee 3 devices is not having it but can being bonded to one group but our devices is tuya so they is doing it by adding groups like lights and i have adding it in the last update of the quirk that is being in HA 2022.02.
I only waiting you is getting one LIDL remote that is having the same mess but noone have getting it working 100% ;-))

In one mode I only get errors:
Logger: zigpy.zcl
Source: /usr/local/lib/python3.9/site-packages/zigpy/zcl/__init__.py:114
First occurred: 19:43:11 (43 occurrences)
Last logged: 19:45:39

[0x27a3:1:0x0006] Unknown cluster-specific command 253
[0x27a3:1:0x0006] Unknown cluster-specific command 252

In the other mode I get these zha_events but I
Inrease brightness by one:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0008",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 8,
        "command": "step",
        "args": [
            0,
            25,
            1
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T18:38:45.080837+00:00",
    "context": {
        "id": "0fb7ab9b2ef9a42f4f4450ef97e7b785",
        "parent_id": null,
        "user_id": null
    }
}

Decrase brightness by one:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0008",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 8,
        "command": "step",
        "args": [
            1,
            13,
            1
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T18:40:33.233880+00:00",
    "context": {
        "id": "b2d81f8d78fa063fa3e6df50da9ce91c",
        "parent_id": null,
        "user_id": null
    }
}

Push button 1x:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0006",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 6,
        "command": "toggle",
        "args": []
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T18:41:13.246422+00:00",
    "context": {
        "id": "a21af6d3c36c78d28ddd66b90f796e20",
        "parent_id": null,
        "user_id": null
    }
}

The only events I get are "step" and "toggle, "long press" and "color temperature" don't arrive.
Should I again do some sniffing? :D

The toggle is new the old is sending on and off.
The dimm is also looks OK but is using different parameters so need adding then also in the device automation in the quirk.
Perhaps is the  device not sending the color changing if not have configuring it OK with one tuya light (likely its needs touch link pairing for doing that or some magic from the tuya ZBGW).
Can you looking in the log if you is getting some undefined commands from the device the doing the color changes ?
For "decoding" the "scene" commands you can putting in your local quirk folder (after taking away the .txt) and restarting HA. Its only one hack and is not doing its work nice but you shall getting events then being in scene mode but not the rotating (its using one extra attribute)
ts004f3.py.txt
.

Log when trying to change temperature:
2022-02-02 20:23:39 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=47, SecurityUse=<Bool.false: 0>, TimeStamp=14099745, TSN=0, Data=b'\x01\x35\x4C\x01\x78\x00\x03\x00\x99\x00\xF4\x01', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:23:39 DEBUG (MainThread) [zigpy.device] Ignoring message (b'01354c01780003009900f401') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'
2022-02-02 20:23:39 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=51, SecurityUse=<Bool.false: 0>, TimeStamp=14122257, TSN=0, Data=b'\x01\x36\x4C\x01\x12\x00\x01\x00\x99\x00\xF4\x01', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:23:39 DEBUG (MainThread) [zigpy.device] Ignoring message (b'01364c01120001009900f401') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'

Log when long press:
022-02-02 20:25:45 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=25, SecurityUse=<Bool.false: 0>, TimeStamp=6235135, TSN=0, Data=b'\x01\x3F\x04\x01\xC8', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:25:45 DEBUG (MainThread) [zigpy.device] Ignoring message (b'013f0401c8') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'
2022-02-02 20:25:45 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=36, SecurityUse=<Bool.false: 0>, TimeStamp=6258034, TSN=0, Data=b'\x01\x40\x47', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:25:45 DEBUG (MainThread) [zigpy.device] Ignoring message (b'014047') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'
2022-02-02 20:25:46 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=29, SecurityUse=<Bool.false: 0>, TimeStamp=6297664, TSN=0, Data=b'\x01\x41\x01\x01\x0F', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:25:46 DEBUG (MainThread) [zigpy.device] Ignoring message (b'014101010f') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'

Log normal press:
2022-02-02 20:26:14 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=36, SecurityUse=<Bool.false: 0>, TimeStamp=8071241, TSN=0, Data=b'\x01\x42\x4C\x01\x12\x00\x01\x00\x99\x00\xF4\x01', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:26:14 DEBUG (MainThread) [zigpy.device] Ignoring message (b'01424c01120001009900f401') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'

Log changing brightness:
2022-02-02 20:26:52 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=8, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=40, SecurityUse=<Bool.false: 0>, TimeStamp=10449481, TSN=0, Data=b'\x01\x43\x02\x01\x3D\x02\x00', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:26:52 DEBUG (MainThread) [zigpy.zcl] [0x27a3:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=67 command_id=2>
2022-02-02 20:26:52 DEBUG (MainThread) [zigpy.zcl] [0x27a3:1:0x0008] ZCL request 0x0002: [1, 61, 2]
2022-02-02 20:26:52 DEBUG (MainThread) [zigpy.zcl] [0x27a3:1:0x0008] No handler for cluster command 2
2022-02-02 20:26:52 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event zha_event[L]: device_ieee=54:0f:57:ff:fe:2e:3c:5f, unique_id=54:0f:57:ff:fe:2e:3c:5f:1:0x0008, device_id=3cc97f6cd8c336b5e52a6070f17fd3e8, endpoint_id=1, cluster_id=8, command=step, args=[1, 61, 2]>

With the updated quirk you is also having group as in cluster = you is seeing it in ZHA grupes and can adding it to groups like other lights (i think its only using the last added group).
If adding the remotes "light" to one group and waking up the remote so it can receiving it it shall sening toggle and dimmering also then HA is offline.
Then have updating the device automation with toggle and the new dimmer parameters it shall being possible using add automations from the device card and also from automation dialogue.

@MattWestb My receiving device is not a zigbee device in my case.
But I still have to get it work first, as seen in the log there are many unknowns :D

You can always triggering one automation on the events the device is sending bt you maust doing it by hand and not with the template. Fixing  the template in the device automation is not one big thing.
I was adding color cluster in the last quirk and hope you is getting real command then.
rename the old quirk so they the system is not using both and restart HA and testing the color commands.
ts004f3B.py.txt

It is loading but I get many weird errors after boot:
  2022-02-02 20:42:07 ERROR (MainThread) [frontend.js.latest.202112291] https://home.mydomain.at/frontend_latest/17dc2469.js:246:519 Uncaught TypeError: Cannot read properties of undefined (reading 'get')
  2022-02-02 20:42:09 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0006]: Failed to bind 'TS004X_cluster' cluster:
  2022-02-02 20:42:09 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0006]: finished channel configuration
  2022-02-02 20:42:09 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=system_log, service=write, service_data=logger=frontend.js.latest.202112291, message=https://home.mydomain.at/frontend_latest/17dc2469.js:246:519 Uncaught TypeError: Cannot read properties of undefined (reading 'get')>
  2022-02-02 20:42:09 ERROR (MainThread) [frontend.js.latest.202112291] https://home.mydomain.at/frontend_latest/17dc2469.js:246:519 Uncaught TypeError: Cannot read properties of undefined (reading 'get')
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0005]: Failed to bind 'scenes' cluster:
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0005]: finished channel configuration
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0000]: 'async_configure' stage succeeded
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0001]: 'async_configure' stage succeeded
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x1000]: 'async_configure' stage succeeded
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0008]: 'async_configure' stage succeeded
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0006]: 'async_configure' stage succeeded
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0019]: 'async_configure' stage succeeded
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0005]: 'async_configure' stage succeeded
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x27A3](TS004F): completed configuration
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x27A3](TS004F): stored in registry: ZhaDeviceEntry(name='_TZ3000_4fjiwweb TS004F', ieee='54:0f:57:ff:fe:2e:3c:5f', last_seen=1643830272.64237)
  2022-02-02 20:42:18 DEBUG (MainThread) [zigpy.device] [0x27a3] Extending timeout for 0x0c request
  2022-02-02 20:42:18 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x27A3), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=3, TSN=12, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=30, Data=b'\x01\x0C\x40\x02\x00')
  2022-02-02 20:42:18 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=system_log, service=write, service_data=logger=frontend.js.latest.202112291, message=https://home.mydomain.at/frontend_latest/17dc2469.js:246:519 Uncaught TypeError: Cannot read properties of undefined (reading 'get')>
  2022-02-02 20:42:18 ERROR (MainThread) [frontend.js.latest.202112291] https://home.mydomain.at/frontend_latest/17dc2469.js:246:519 Uncaught TypeError: Cannot read properties of undefined (reading 'get')
  2022-02-02 20:42:18 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
  2022-02-02 20:42:18 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=12)
  2022-02-02 20:42:18 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 1 of 5
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x27A3), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=3, TSN=12, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=30, Data=b'\x01\x0C\x40\x02\x00')
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Received command: SYS.Ping.Rsp(Capabilities=<MTCapabilities.APP_CNF|GP|UTIL|ZDO|AF|SYS: 1625>)
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=12)
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 2 of 5
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestSrcRtg.Req(DstAddr=0x27A3, DstEndpoint=1, SrcEndpoint=1, ClusterId=3, TSN=12, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=30, SourceRoute=[], Data=b'\x01\x0C\x40\x02\x00')
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestSrcRtg.Rsp(Status=<Status.SUCCESS: 0>)
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Sending request: ZDO.ExtRouteDisc.Req(Dst=0x27A3, Options=<RouteDiscoveryOptions.UNICAST: 0>, Radius=30)
  2022-02-02 20:42:20 DEBUG (MainThread) [zigpy_znp.api] Received command: ZDO.ExtRouteDisc.Rsp(Status=<Status.SUCCESS: 0>)
  2022-02-02 20:42:22 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 3 of 5
  2022-02-02 20:42:22 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x27A3), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=3, TSN=12, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=30, Data=b'\x01\x0C\x40\x02\x00')
  2022-02-02 20:42:22 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
  2022-02-02 20:42:22 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=12)
  2022-02-02 20:42:22 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 4 of 5
  2022-02-02 20:42:23 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.IEEE: 3>, address=54:0f:57:ff:fe:2e:3c:5f), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=3, TSN=12, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=30, Data=b'\x01\x0C\x40\x02\x00')
  2022-02-02 20:42:23 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
  2022-02-02 20:42:23 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=12)
  2022-02-02 20:42:23 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 5 of 5
  2022-02-02 20:42:23 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x27A3:1:0x0003]: command failed: 'trigger_effect' args: '(2, 0)' kwargs '{}' exception: 'Request failed after 5 attempts: <Status.MAC_NO_ACK: 233>'

The two events are still not registered, here is the log:
Temperature:
2022-02-02 20:46:15 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=18, SecurityUse=<Bool.false: 0>, TimeStamp=4885481, TSN=0, Data=b'\x01\x5F\x4C\x03\x23\x00\x01\x00\x99\x00\xF4\x01', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:46:15 DEBUG (MainThread) [zigpy.device] Ignoring message (b'015f4c03230001009900f401') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'
2022-02-02 20:46:15 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=40, SecurityUse=<Bool.false: 0>, TimeStamp=4904506, TSN=0, Data=b'\x01\x60\x4C\x03\x34\x00\x02\x00\x99\x00\xF4\x01', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:46:15 DEBUG (MainThread) [zigpy.device] Ignoring message (b'01604c03340002009900f401') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'
2022-02-02 20:46:15 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=40, SecurityUse=<Bool.false: 0>, TimeStamp=4923871, TSN=0, Data=b'\x01\x61\x4C\x01\x12\x00\x01\x00\x99\x00\xF4\x01', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:46:15 DEBUG (MainThread) [zigpy.device] Ignoring message (b'01614c01120001009900f401') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'

Long press:
2022-02-02 20:47:05 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=43, SecurityUse=<Bool.false: 0>, TimeStamp=8013189, TSN=0, Data=b'\x01\x62\x04\x01\xC8', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:47:05 DEBUG (MainThread) [zigpy.device] Ignoring message (b'01620401c8') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'
2022-02-02 20:47:05 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=43, SecurityUse=<Bool.false: 0>, TimeStamp=8025967, TSN=0, Data=b'\x01\x63\x47', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:47:05 DEBUG (MainThread) [zigpy.device] Ignoring message (b'016347') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'
2022-02-02 20:47:06 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=768, SrcAddr=0x27A3, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=51, SecurityUse=<Bool.false: 0>, TimeStamp=8075940, TSN=0, Data=b'\x01\x64\x01\x01\x0F', MacSrcAddr=0x27A3, MsgResultRadius=11)
2022-02-02 20:47:06 DEBUG (MainThread) [zigpy.device] Ignoring message (b'016401010f') on cluster 768: unknown endpoint or cluster id: 'No cluster ID 0x0300 on (54:0f:57:ff:fe:2e:3c:5f, 1)'

I was doing the inport OK but was pasting the wrong name in replace.
Test this version (same name as last)
ts004f3B.py.txt
:

Color Temp works now:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0300",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 768,
        "command": "step_color_temp",
        "args": [
            1,
            35,
            1,
            153,
            500
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T20:11:52.166788+00:00",
    "context": {
        "id": "e8264ac2c3d516074e72cdf7eb4bfe60",
        "parent_id": null,
        "user_id": null
    }
}

But long press is a bit weird, there are three different events happening:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0300",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 768,
        "command": "move_hue",
        "args": [
            1,
            15
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T20:12:08.499514+00:00",
    "context": {
        "id": "e2eda71e6d78c27d9696ff36956b17b5",
        "parent_id": null,
        "user_id": null
    }
}

{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0300",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 768,
        "command": "move_saturation",
        "args": [
            1,
            200
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T20:12:22.225590+00:00",
    "context": {
        "id": "1df26be95a4ecb0b4ff03d3db75144e0",
        "parent_id": null,
        "user_id": null
    }
}

{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0300",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 768,
        "command": "stop_move_step",
        "args": []
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T20:12:22.285341+00:00",
    "context": {
        "id": "343b3d0d1bac72160453226909cd1086",
        "parent_id": null,
        "user_id": null
    }
}

Color command 0x0004 is 0x0004: ("move_saturation", (t.uint8_t, t.uint8_t), False),  # mode, rate
0x0047 = 0x0047: ("stop_move_step", (), False),
0x0001 = 0x0001: ("move_hue", (t.uint8_t, t.uint8_t), False),  # move mode, rate
so looks like normal Zigbee commands and its wath you is getting in in zha_events.
You finding all commands and attributes for color cluster here. https://github.com/zigpy/zigpy/blob/dev/zigpy/zcl/clusters/lighting.py
And the first one is also working OK
        0x004C: (
            "step_color_temp",
            (t.bitmap8, t.uint16_t, t.uint16_t, t.uint16_t, t.uint16_t),
            False,
        ),

I dont knowing the logic tuya is using but its described as stepping the color but device can have many different  color modes and using different commands as you can see.
If you can see the pattern they is using (like step_color_temp, step_color_temp and step_color_temp) its easy getting the automation working.
If using different sequences every time then its not possible getting the triggering working OK.
I need some sleep but i looking more tomorrow.
Can you looking if the dimmer is sending the same data the turing the button or if its changing if doing little, medium or mutch ?
Then i can doing automations for it (by copy it from IKEA Symphonisk).

@MattWestb Yeah, it works pretty fine, but I don't get why its sending these three command when I do a long press.
It would be nice if the changed triggers are exposed to the gui, now its "on" and "off" but this device only has "toggle".
And there are still three unhandled commands from Cluster 768: 1, 4, 71.
I don't know if its what you meant, but here are different values when turning the knob:
Turning it one click:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0008",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 8,
        "command": "step",
        "args": [
            0,
            13,
            1
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T21:04:26.123340+00:00",
    "context": {
        "id": "cf408b8f12d957ddfee4b76484168b8c",
        "parent_id": null,
        "user_id": null
    }
}

Turning it ~3 clicks:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0008",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 8,
        "command": "step",
        "args": [
            0,
            37,
            2
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T21:05:49.561157+00:00",
    "context": {
        "id": "3899f66a65ff99cf924335862ec06cc5",
        "parent_id": null,
        "user_id": null
    }
}

Turning many times:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "54:0f:57:ff:fe:2e:3c:5f",
        "unique_id": "54:0f:57:ff:fe:2e:3c:5f:1:0x0008",
        "device_id": "3cc97f6cd8c336b5e52a6070f17fd3e8",
        "endpoint_id": 1,
        "cluster_id": 8,
        "command": "step",
        "args": [
            0,
            145,
            3
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-02T21:06:24.615029+00:00",
    "context": {
        "id": "63da78a81ea046001d864c0476136a6c",
        "parent_id": null,
        "user_id": null
    }
}

@MattWestb I changed the automation triggers and toggling works now:
class Tuya4NewButtonTriggers:
    """Tuya 4-button New version remote device triggers."""

    device_automation_triggers = {
        (SHORT_PRESS, TURN_ON): {COMMAND: COMMAND_TOGGLE, CLUSTER_ID: 6, ENDPOINT_ID: 1},
        (SHORT_PRESS, DIM_UP): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [0, 51, 10],
        },
        (LONG_PRESS, DIM_UP): {
            COMMAND: COMMAND_MOVE,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [0, 51],
        },
        (SHORT_PRESS, DIM_DOWN): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [1, 51, 10],
        },
        (LONG_PRESS, DIM_DOWN): {
            COMMAND: COMMAND_MOVE,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [1, 51],
        },
        (LONG_RELEASE, DIM_DOWN): {
            COMMAND: COMMAND_STOP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
        },
    }

But I can't get the brightness controll running, but I found out the meaning of the three parameters:
ARGS: [x1, x2, x3]
x1 = Direction, 0 = clockwise, 1 = anticlockwise
x2 = Dimmvalue:

13 = 1 step
24 = 2 steps
37 = 3 steps
49 = 4 steps
61 = 5 steps
73 = 6 steps
85 = 7 steps
x3 = rotation speed, 1 = slow, 2 = middle, 3 = fast

Servus !
First great logging and testing !!!
I think we need doing more device classes then we is getting many not working device automations if implanting all in the same class.
For testing its OK making all crazy things but in the end its better getting it structured and good working for the end user.
For the dimmering it shall being "translated" to rotate like have being done with the IKEA rotator:
https://github.com/zigpy/zha-device-handlers/blob/23a166902e50d5c32019e0d4d32a968715041bb6/zhaquirks/ikea/symfonisk.py#L96-L113
The question is shall only triggering on one step or manny and also the speed ?
I thinking making one automation for each combination is little overkill.
I is more or less copy and paste then coding sometime little more advance but i think you have more knowledge / experience of working with coding.
Perhaps Right / Left. Slow / medium and fast and trying getting the steps as parameter in the automation if its possible. What is the maximum of steps the device is sending before it stop or start from beginning ?
The device is sending color changes for more modes because its not knowing witch mode the lights is controlling is supporting.
"move_to_hue", "move_saturation" and "step_color_temp".
I wondering if "stop_move_step" is one stop command the is being sent then releasing the button because hue and saturation is relative to what the light is having setted for the moment (thinking = not knowing) and the Color Temperature (CT) is sending "step_color_temp" and can needoing on stop command.
Its not so important now but good looking at it later.
I think we shall only using one of the 3 color command sent and i think the CT is best if we can getting the stop command as one release after long press.
I chall testing making more device classed and see if i can getting your device being triggered with MODELS_INFO: before its loading the "standard" MODEL: "TS004F" so we can moving the device automations to the device class and not getting one mess with working and not working ones for all devices.
The added color cluster is not making any harm with my device then its not  sending any command on that cluster but i like its more clean and not one mess of all.

@MattWestb It's difficult to find out by rotating so fast, but what I have seen the Max. Value = 253 which would make sense, assuming that it is using a 8-bit register.
I think the speed parameter is not that important for use, but if you can implement it, why not? :D
BTW are you making a new class or should I try? You have more knowledge about this device.

I have making 2 new classes and moving the device automation into the device class so its only working for the device and not all.
The "normal is last and is being loaded if no of the first is not matching (i have testing 5 times and its looks wrong OK) and first is your new class with the ID (and without my test clusters) of your device and in the middle is my test class.
I have adding the color cluster as import and also in your class and its being loaded OK in HA and is not crashing.
You need putting in your new device automations and doing the inport for toggle and other things you is needing for it.
Line 98 is for light mode commands and the outcommented line 99 is for deicing tuya scene commands that is sending no standard commands for its "scenes" (we is coming to it later)
ts004f3B.py.txt
Now we can doing changes and not braking the other device types :-)).

@MattWestb Sorry, but I can't help with that, I never worked with the automation trigger and don't know how they work.
But isn't it possible the calculate with mathemical equation?
BTW is there a reason why you removed the toggle I posted?
And why does this device have two disabled entities?

No i was making one "clean" quirk from dev and copy the last classes i have making in it and adding my changes but i dont knowing all changes you have making in the device automation so need adding them and the imports. Sorry for deleting but i was thinking better have one clean start and not my old test with much crap in.
The 2 disables ebterys is not from My its new functions like the first one (send identifying) its LQI and RSSI for the last received message. I haven't have time updating my 4 HA so i dont  have  them so i dont knowing if and how they is working.

@MattWestb Here are my changes for trigger, short press and log press work with it: ts004f3B.py.txt
But I don't like that there are three different events when doing a long press.
Is it possible to just make one event with the command "LONG_PRESS"?

Long press is the color changing i think ?
The device is sending 3 commands and we can changing that.
But we shall only using one for doing device automations and ignoring the other that  we dont need.
I have putting your automations in my quirk but  i need looking for the functions then they need being imported from some place or the tests is not working.
I have updating my production system to HA 2022.2 and need do little testing and then some food for dinner and also updating my 2 test setups for being in phase with you.

I dont knowing if we have doing right with long press and press rotated.
Long press is "set color" and press rotate is "set the color temperature".
Can you looking if the long press is sending all Color command 0x0001, 0x0004, 0x0047 and 0x007C one time and not later.
Also what is the device what is its sending by press and rotating left and right ?

In the device automations you must using names the system is knowing or its not working making automations with them.
You is finding them here https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/const.py

It is working with string too, I already tested my implementation, but we can use button, looks better.

"stop_move_step" COMMAND_STEP_COLOR_TEMP = "step_color_temp" if using the CT for triggering the command.
Release from long press can being being stop_move_step but i think its not defined in the constans :-((

None of the three commands the long press sends are implemented, but it works with strings, the way I implemented it, too.
When we make a PR we can just add the new commands to const.py

If dont finding any suitable then adding it in the PR.
I think the strings is making the PR failing the tests and can t being merged.
I have updated my test systems and with your device automations i must adding     COMMAND_TOGGLE. in import or ZHA is not starting.
Its looks like all device is getting the LQI and RSSI but they is disabled by default on all device i have looking on.

@MattWestb Just add the three new constants to const.py and then import them and make for both files a PR.
But why are you already making a PR? The dimming function is still not working.

I was looking how IKEA quirk is made and was defining it in the quirk the its was made so but later i can moving it to constant then is used of more quirks.
Also adding left and right and button.
from zhaquirks.const import (
    ARGS,
    BUTTON,
    CLUSTER_ID,
    COMMAND,
    COMMAND_MOVE,
    COMMAND_OFF,
    COMMAND_ON,
    COMMAND_STEP,
    COMMAND_STOP,
    COMMAND_TOGGLE,
    DEVICE_TYPE,
    DIM_DOWN,
    DIM_UP,
    ENDPOINT_ID,
    ENDPOINTS,
    INPUT_CLUSTERS,
    LEFT,
    LONG_PRESS,
    LONG_RELEASE,
    MODEL,
    MODELS_INFO,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
    RIGHT,
    SHORT_PRESS,
    TURN_OFF,
    TURN_ON,
)
from zhaquirks.tuya import TuyaZBOnOffAttributeCluster, TuyaSmartRemoteOnOffCluster

ROTATED = "device_rotated"

Is the changed imports.
I was putting the new named in your automations and ZHA is starting OK.
    device_automation_triggers = {
        (SHORT_PRESS, BUTTON): {COMMAND: COMMAND_TOGGLE, CLUSTER_ID: 6, ENDPOINT_ID: 1},
        (LONG_PRESS, BUTTON): {COMMAND: "stop_move_step", CLUSTER_ID: 768, ENDPOINT_ID: 1},
        (ROTATED, RIGHT): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [0, 13, 1],
        },
        (ROTATED, LEFT): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [1, 13, 1],
        },

Its only triggering on one step left and right but is interesting is its working in real.
I only thinking not making  somethings that is working but is not possible getting thru the test then making on PR
I was adding "new" variables like ROTATED as variable and its easier making one first PR with all functions we like have and then moving the the constans to constans in one following up PR.
Back to DA is it looking OK that i have doing and is it working in real ?

@MattWestb If you send me your current version I can test it.

Back to DA is it looking OK that i have doing and is it working in real ?

What do you mean?

Different way thinking how to making PRs is not important but better getting the Device Automations working OK.
I trying getting long press working with one of the 2 commands its sending.

@MattWestb Long press is sending three commands and automation I did works, I even tested it with a lamp.

Good.
Is the rotating right and left one step slow working ?

@MattWestb right and left one step is not working correctly.
Because rotated right is also triggered when doing left rotation and left is trigger when doing right rotation.
So no matter what direction I rotate, both triggers will be activated.
And I get this error:
Logger: homeassistant.config
Source: config.py:454
First occurred: 19:47:20 (2 occurrences)
Last logged: 19:47:20

Invalid config for [automation]: Invalid trigger configuration. Got OrderedDict([('default_config', {}), ('tts', [OrderedDict([('platform', 'google_translate')])]), ('group', {}), ('automation', [OrderedDict([('alias', 'Set theme at startup'), ('trigger', OrderedDict([('platform', 'homeassistant'), ('event', 'start')])), ('action', OrderedDict([('service', 'frontend.set_theme'), ('data', OrderedDict([('name', 'noctis')]))])), ('id', 'f62a8e53c0074e80a89b4d6e26a4591e')]), OrderedDict([('id', '1643843094508'), ('alias', 'Fabian_Deckenlicht_On/Off'), ('descripti.... (See /config/configuration.yaml, line 9).

How is your HA /config/configuration.yaml, line 9 looking ? Is it related to ZHA ?
I must looking if i have making the args OK in the automation.

I have making one version with one step with slow and fast but need
ROTATED_SLOW = "device_rotated_slow"
ROTATED_FAST = "device_rotated-fast"
defined for working OK.
        (ROTATED_SLOW, RIGHT): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [0, 13, 1],
        },
        (ROTATED_SLOW, LEFT): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [1, 13, 1],
        },
        (ROTATED, RIGHT): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [0, 13, 2],
        },
        (ROTATED, LEFT): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [1, 13, 2],
        },
        (ROTATED_FAST, RIGHT): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [0, 13, 3],
        },
        (ROTATED_FAST, LEFT): {
            COMMAND: COMMAND_STEP,
            CLUSTER_ID: 8,
            ENDPOINT_ID: 1,
            ARGS: [1, 13, 3],
        },

If its not working can your posting the zha_event its sending for the command so can getting the ARGs OK.

@MattWestb Your ARGs are ok, the error is something different.
I already posted all commands yesterday.

Yes and very good documents / analyzed !!
I was dubble checking the args and looking on your posted events and its looks very OK.
Deleting the __pycache__ in your local quirk folder and restarting HA so it cant reusing old cashed code and data.

I don't have a __pychache___. My ZHA never generates one :D.
But I will try again if I find something.

That is very strange and is only happening if ZHA is not loading the .py files is not generated if it was deleted.
My path is looking like this C:\msys32\Portainer\homeassistant\custom_zha_quirks\__pycache__ and having HA in C:\msys32\Portainer\.
If you deleting the local quirk (not the folder) is ZHA loading you quirk or the standard one from HA container ?
You can see the quirk name loaded for the device on the device card on the last line on the left side.
Your local quirkname  = TuyaSmartRemote004F2A
ZHA quirk name = TuyaSmartRemote004F

@MattWestb It's definitely loading the loca quirk since I have multiple ones in use as you know.
And all changes and tests always apply, so this isn't a problem.

Try fixing or renaming automations.yaml then the name of the automation tiger name has being  changed and is breaking your saved automation.

I deleted all automations, reboot and did a few test.

Button works without problems
I created with rotate left a dimm down automation, works too.
Then I added with rotate right a dimm up automation, works BUT after creating it, dimm down doesn't work anymore.
When I deactivate rotate right, rotate left works again.
So I think there should be a problem with rotate right.
This is my yaml entry:

- id: '1643918693820'
  alias: Fabian_Deckenlicht_On/Off
  description: ''
  trigger:
  - device_id: 3cc97f6cd8c336b5e52a6070f17fd3e8
    domain: zha
    platform: device
    type: remote_button_short_press
    subtype: button
  condition: []
  action:
  - type: toggle
    device_id: ded8c256a221c111531ecce08e8ddeb9
    entity_id: light.fabian_deckenlicht_on_off
    domain: light
  mode: single
- id: '1643918722609'
  alias: Fabian_Deckenlicht_DimmDown
  description: ''
  trigger:
  - device_id: 3cc97f6cd8c336b5e52a6070f17fd3e8
    domain: zha
    platform: device
    type: device_rotated
    subtype: left
  condition: []
  action:
  - device_id: ded8c256a221c111531ecce08e8ddeb9
    domain: light
    entity_id: light.fabian_deckenlicht_on_off
    type: brightness_decrease
  mode: single
- id: '1643918785173'
  alias: Fabian_Deckenlicht_DimmUp
  description: ''
  trigger:
  - device_id: 3cc97f6cd8c336b5e52a6070f17fd3e8
    domain: zha
    platform: device
    type: device_rotated
    subtype: right
  condition: []
  action:
  - device_id: ded8c256a221c111531ecce08e8ddeb9
    domain: light
    entity_id: light.fabian_deckenlicht_on_off
    type: brightness_increase
  mode: single

I dont knowing how the automations code is working.
My feeling is that somthing is not filtering the events OK and the automations is triggering al all that is coming from the device or some filtering is working.
Did you putting the missing defined variables in the constans.py in the HA container and importing then in the quirk ?

@MattWestb No, I just added the constant in the quirk since it doesn't matter for python where you define it.

I dont knowing how python is working i only doing copy and paste and little modification that mostly is working ;-(((
I understand that Zigpy is understanding the defining but how do HA getting that information from the local quirk ? I think constans.py or the quirk.INIT is having some code for HA to understanding it then its living in one other "universe" and must getting all information for working OK.
Can you trying putting the constants in the constants,py in the HA container and see if its working the same ?

@MattWestb I'm sure it isn't because of constants but I think I know why it isn't working.
The IKEA device uses the command COMMAND_MOVE which is compatible with the the subtype left and right.
But this devices uses the command COMMAND_STEP which isn't compatible with the the subtype left and right.

The IKEA 5 button quirk is using both commands and they is imported from zhaquirks/const.py.
The rotated is defined in zhaquirks/ikea/__init__.py and is imported from it but i cant see any strange things done there.
Left and right is from const.py.
I have finding traces of the defining rotated, right and left in ZHA https://github.com/home-assistant/core/blob/65d14909ee3678b942ed87308a55cad576119ea9/homeassistant/components/zha/translations/en.json but not whrer the code is implanted.
HA is not knowing the ARGS: [0, 13, 2], so the (quirk ) device automations is doing the triggering of  them and sending the rotate and right / left to HA and doing the automations of it.
So the device automation trigger is not working OK in the quirk.
If doing one "manual automation" in HA it must triggering on the ARGS it getting from zha_event then its dont knowing the rotated and left / right.
Sorry but its only thinkings and not knowing :-(((

@MattWestb I don't know much either since I never programmed in python just C/C++ and the documentation of zha is not that good. But I will try a few thing tomorrow afternoon after my totally uninteresting exam 😢

Is it so bad in JKU ?
I hope you have one short  day and not so boring.
I must also getting some sleep and doing some work tomorrow.

I'm in a different university now, extremely specialised in IT and yeah, the exams currently are hard, but tomorrow is the last and most hated one, signal theorie and mathematics 😢

@MattWestb Do you know what this missing cluster command is?
[0xd9d4:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=17 command_id=2>
[0xd9d4:1:0x0008] ZCL request 0x0002: [0, 13, 1]
[0xd9d4:1:0x0008] No handler for cluster command 2

And why I got these two exclamation marks?

And I still don't understand why we have this error:
Logger: homeassistant.components.zha.core.channels.base
Source: components/zha/core/channels/base.py:428
Integration: Zigbee Home Automation (documentation, issues)
First occurred: 00:23:31 (2 occurrences)
Last logged: 00:23:44

[0xD9D4:1:0x1000]: 'async_configure' stage failed: not enough values to unpack (expected 3, got 2)

@MattWestb I also found something interesting in the logs.

The cluster 0x1000 is LightLink cluster and we have not  "touching" it = not our fault.
The dimmer device trigger looks promise and the data i was putting it looks right.
If you using the device automation from the device card is it working OK or is it always being  triggered ?
I looking more in the afternoon.

I was using one IKEA Symphonisk that also is one rotater and is sending nearly the same commands and was doing one automation from the device card with  rotating right and fire one zha_event right:1 and one more with left.
2022-02-07 14:08:59 DEBUG (MainThread) [zigpy.zcl] [0x7dbc:1:0x0008] ZCL request 0x0001: [0, 195]
2022-02-07 14:08:59 DEBUG (MainThread) [zigpy.zcl] [0x7dbc:1:0x0008] No handler for cluster command 1
2022-02-07 14:08:59 INFO (MainThread) [homeassistant.components.automation.sf_right] SF Right: Running automation actions
2022-02-07 14:08:59 INFO (MainThread) [homeassistant.components.automation.sf_right] SF Right: Executing step zha_event

2022-02-07 14:08:57 DEBUG (MainThread) [zigpy.zcl] [0x7dbc:1:0x0008] ZCL request 0x0001: [1, 195]
2022-02-07 14:08:57 DEBUG (MainThread) [zigpy.zcl] [0x7dbc:1:0x0008] No handler for cluster command 1
2022-02-07 14:08:57 INFO (MainThread) [homeassistant.components.automation.sf_left] SF Left: Running automation actions
2022-02-07 14:08:57 INFO (MainThread) [homeassistant.components.automation.sf_left] SF Left: Executing step zha_event

And i is getting right:1 and left:1 nicely as events and also in the log.
The IKEA DA:
https://github.com/zigpy/zha-device-handlers/blob/23a166902e50d5c32019e0d4d32a968715041bb6/zhaquirks/ikea/symfonisk.py#L102-L113
I have not looking but shall but my feeling is that the Device Automation and what the device is sending is OK but perhaps problem with the automation you have done.
My automation made from the device card, add automation for this device rotating Right / left is looking like this in the automations.yaml:
- id: '1644238923083'
  alias: SF Right
  description: ''
  trigger:
  - device_id: 1018f5c2e28bde1044a8ee2449db3bcd
    domain: zha
    platform: device
    type: device_rotated
    subtype: right
  condition: []
  action:
  - event: zha_event
    event_data:
      Right: 1
  mode: single
- id: '1644239212807'
  alias: SF Left
  description: ''
  trigger:
  - device_id: 1018f5c2e28bde1044a8ee2449db3bcd
    domain: zha
    platform: device
    type: device_rotated
    subtype: left
  condition: []
  action:
  - event: zha_event
    event_data:
      Left: 1
  mode: single

Im looking little more in you logs and reporting if i can see some interesting in it.

I was looking little in your log with double commands sent and its looks its only one triggering of the code. But i dont understand way its making 2 actions from it.
Can you taking away your action and putting in one single zha_event instead so its cant being something strange with the action part that is linked to other things ?

@MattWestb What do you mean with one single zha_event. You mean I should remove the other automations?

Put in like this and the automation is only doing one zha_event.
  action:
  - event: zha_event
    event_data:
      Left: 1
  mode: single

Its feels very spooky that the automation is triggered one time and is doing 2 actions.
Only for eliminating its some problem with the action part.

I agree but in the log its 2 actions that is only one trigger.
Therefor eliminating somthing strange happens in the action part (somthing linked that  we dont see / knowing).
Its easy testing and eliminating other things that can doing bad things.
If the zha_events is working OK = the quirk and the device automation is OK and somthing is wrong with the with the entity_id: light.fabian_deckenlicht_on_off brightness_increase but we dont knowing that before testing it.

i just tried to connect this device, it's found by ZHE,  but the button is not working. Is that a known issue?

@grinono If you have the same device as me, you have to use the quirk discussed here.

@MattWestb Oh, you are from austria too 😃 , I'm from lower austria.
I think the problem either lies in the quirk or zha, it shouldn't be HA, since wenn i test trigger the automation it works.

@MattWestb Since we temporarily didn't finde a solution I made an automation script, works but not fast:
- alias: Fabian_SmartKnob_Deckenlicht_Dimming
  description: ''
  mode: parallel
  trigger:
    - platform: event
      event_type: zha_event
      event_data:
        device_ieee: "54:0f:57:ff:fe:2e:3c:5f"
        endpoint_id: 1
        cluster_id: 8
        command: "step"
  condition: []
  action:
    service: light.turn_on
    entity_id: light.fabian_deckenlicht_on_off
    data:
      brightness_step_pct: "{{ ((trigger.event.data.args[1] - 1) / 12) if trigger.event.data.args[0] == 0 else (-((trigger.event.data.args[1] - 1) / 12)) }}"

@MattWestb And I recently I get this error from the smart knob, really weird:
2022-02-16 19:59:58 WARNING (MainThread) [zigpy_znp.api] Failed to parse broken GeneralFrame(header=CommandHeader(id=0x9F, subsystem=Subsystem.ZDO, type=CommandType.AREQ), data=b'\xD4\x9B\x84\x01\x8B') as <class 'zigpy_znp.types.commands.ZDO.ParentAnnceRsp.Callback'>
2022-02-16 19:59:58 DEBUG (MainThread) [zigpy_znp.api] Received command: ZDO.MsgCbIncoming.Callback(Src=0x9BD4, IsBroadcast=<Bool.false: 0>, ClusterId=32799, SecurityUse=0, TSN=3, MacDst=0x0000, Data=b'\x84\x01\x8B')
2022-02-16 19:59:58 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/zigbee/application.py", line 654, in on_zdo_message
args, data = list_deserialize(data, types)
File "/usr/local/lib/python3.9/site-packages/zigpy/types/__init__.py", line 9, in deserialize
value, data = type_.deserialize(data)
File "/usr/local/lib/python3.9/site-packages/zigpy/types/basic.py", line 622, in deserialize
item, data = cls._item_type.deserialize(data)
File "/usr/local/lib/python3.9/site-packages/zigpy/types/basic.py", line 648, in deserialize
item, data = cls._item_type.deserialize(data)
File "/usr/local/lib/python3.9/site-packages/zigpy/types/basic.py", line 140, in deserialize
raise ValueError(f"Data is too short to contain {byte_size} bytes")
ValueError: Data is too short to contain 1 bytes

Your "manual" automation looks nice and is having the step counting implanted !!
If your light was one Zigbee light you only have needing adding it in the same group or binding the controller to the group and all have working (also then the coordinator is offline).
The zigpy_znp.types.commands.ZDO.ParentAnnceRsp.Callback is tricky then ParentAnnce is being sent of one device then its re/joining the network if its have being lost, rebooted or jumping to one new parent and the parent is then broadcasting it in the network so all is knowing where the device is.
But its strange is that some device is trying sending one response back to the joining device and that is malformed. Perhaps its the coordinator that is trying doing it but i cant see that   in the log.
If you is still getting it try sniffing it so we can see wot is being sent in real and from witch device.

Is / was the knob Src=0x9BD4 ?

@MattWestb Sorry made a mistake, it has neary the same src address so I looked wrongly, it's a new device I bought for my dimming target: Osram CLA60 TW

If your light was one Zigbee light you only have needing adding it in the same group or binding the controller to the group and all have working (also then the coordinator is offline).

But as far as I know, Tuya doesn't work with Zigbee Groups. I tried creating groups before, but they didn't do anything.

tuya "MCU / DP" devices (TS0602) is not supporting binding.
"Normal" tuya zigbee devices is normally doing it.
My TS004F is not doing it but its one remote and shall doing it and i was finding that it must being added as one light in one Zigbee light group and its working but only the last added group is being used of the remote.
In the quirk i have adding Groups.cluster_id as in cluster so you shall having the knob in ZHA group as one light and adding to one group is sending the light commands to it.
Testing if its working but dont forgetting waking the knob then you is sending commands to it.

Have getting one and the the "scene mode" is the device automatons working with single, double and long press release and rotating left and right without triggering right then rotating left.
In controller mode i is getting the same right rotating is OK but left is triggering first right and then left rotating automation.
INIT must being coped in the HA container and the quirk is working OK as local quirk.
TS004F-Knob.zip
Still very much work in progress but the ground functions is in and need more testing and finding way the controller mode is not working OK with this device but OK with IKEA ones.
Changing mode is 3 fast pressing or using attribute on ONOff cluster.

Now "scene mode" is having working device automation triggers for:
SHORT_PRESS, LONG_PRESS, DOUBLE_PRESS, ROTATED, RIGHT and ROTATED, LEFT.
Its not sending stop rotating and how much and no long press release.
Dimmer mode:
SHORT_PRESS, LONG_PRESS, LONG_RELEASE OK
Mode dont have double press but release after long press and is sending slow, medium and fast steps right / left.
Now to the bad part: Rotate !!
I have only making slow rotate left and right and left is working OK and right is being triggered for both directions (as we knowing).
But i have also doing DA for middle speed and ceiling it fast (fast mode is not easy getting correct numbers for doing DA so skipped) and both right and left is working OK !!!
Fast right with DA:
2022-03-01 16:31:21 DEBUG (MainThread) [zigpy.zcl] [0xe34a:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=73 command_id=2>
2022-03-01 16:31:21 DEBUG (MainThread) [zigpy.zcl] [0xe34a:1:0x0008] ZCL request 0x0002: [0, 37, 2]
2022-03-01 16:31:21 DEBUG (MainThread) [zigpy.zcl] [0xe34a:1:0x0008] No handler for cluster command 2
2022-03-01 16:31:21 INFO (MainThread) [homeassistant.components.automation.new_automation_frr] New Automation FRR: Running automation actions
2022-03-01 16:31:21 INFO (MainThread) [homeassistant.components.automation.new_automation_frr] New Automation FRR: Executing step zha_event

Fast left with DA:
2022-03-01 16:31:06 DEBUG (MainThread) [zigpy.zcl] [0xe34a:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=67 command_id=2>
2022-03-01 16:31:06 DEBUG (MainThread) [zigpy.zcl] [0xe34a:1:0x0008] ZCL request 0x0002: [1, 37, 2]
2022-03-01 16:31:06 DEBUG (MainThread) [zigpy.zcl] [0xe34a:1:0x0008] No handler for cluster command 2
2022-03-01 16:31:06 INFO (MainThread) [homeassistant.components.automation.new_automation_frl] New Automation FRL: Running automation actions
2022-03-01 16:31:06 INFO (MainThread) [homeassistant.components.automation.new_automation_frl] New Automation FRL: Executing step zha_event

And only one and the right event in zhe_event !!!
@Tropaion can you testing if you is getting the same results so i is not doing anything wrong ?
ts004f3B.py.txt
I have tested putting new defines in INIT and also in the quirk but the latest "stand" is little mixed so can being need little patching.
I shall trying getting little more good logging for putting in the ZHA issue for trying getting the bug fixed so all is working OK.
More thinking of implanting DA ?
I think the dimmer mode fast rotate is not working stable in reality.
Perhaps making one DA with X steps rotated left / right.
"Scene mode" i think we is having all in place and also the ground for dimmer mode functions the device is sending. Try using more commands from the color cluster is not bringing anything then its have the same function on the device(only tripper sending commands). Only the rotate is interesting looking more on what is working in real life and can being implanted in DAs.
Commands and feedback is more then welcome !!

Updated version of quirk and INIT. TS004F4.Zip
The INIT need being copied in to HA container so unzip the archive in your config folder and copy the quirk to your local quirk folder and the inside HA container with one CLI with the command cp /config/__init__.py  /usr/local/lib/python3.9/site-packages/zhaquirks/tuya/__init__.py and restarting HA.
Some WIP is still inside and shall being deleted / moved to constants after its have being merged.
Still "normal" rotating is being triggered false positive but its one bug in HA and not in the quirk and I think user have getting enough for playing  for some time and the core devs can hunting the bug that making the problems.
Testing and reporting back pleas !!

31 DAs for our TS004F devices !!!
DA = Device automatons that you can doing from the device card.
TS004F Dimmer switch
Command mode (old ones):
SHORT_PRESS, TURN_ON
SHORT_PRESS, TURN_OFF
SHORT_PRESS, DIM_UP
LONG_PRESS, DIM_UP
SHORT_PRESS, DIM_DOWN
LONG_PRESS, DIM_DOWN
LONG_RELEASE, DIM_DOWN (and dim up)
Event mode (now ones):
SHORT_PRESS, BUTTON_1
LONG_PRESS, BUTTON_1
DOUBLE_PRESS, BUTTON_1
SHORT_PRESS, BUTTON_2
LONG_PRESS, BUTTON_2
DOUBLE_PRESS, BUTTON_2
SHORT_PRESS, BUTTON_3
LONG_PRESS, BUTTON_3
DOUBLE_PRESS, BUTTON_3
SHORT_PRESS, BUTTON_4
LONG_PRESS, BUTTON_4
DOUBLE_PRESS, BUTTON_4
So 7 + 12 = 19 device automatons :-))
Switch between command and event mode with long pressing the upper and lower right button until the lower right button LED is blinking or user attribute on EP1 OnOff cluster "Switch mode" (0x8004) and waking the device up then setting or reading it.
And you need have the dimmer paired ones with one tuya ZBGW for getting all 4 EP sending the commands (its working until taking the battery out) or i can getting help reading and setting attributes from the quirk.
TS004F Rotating Knob
Command mode:
SHORT_PRESS, BUTTON
LONG_PRESS, BUTTON
LONG_RELEASE, BUTTON
ROTATED_SLOW, RIGHT (one step)
ROTATED_SLOW, LEFT  (one step)
(HA automation is triggering it false positive but  the quirk is making it OK).
ROTATED_FAST, RIGHT (3 steps)
ROTATED_FAST, LEFT (3 steps)
Event mode:
SHORT_PRESS, BUTTON_1
DOUBLE_PRESS, BUTTON_1
LONG_PRESS, BUTTON_1
ROTATED, RIGHT
ROTATED, LEFT
So 7 + 5 = 12 device automatons :-))
Switch between command and event mode with triple press the button or user attribute on EP1 OnOff cluster "Switch mode" (0x8004) and waking the device up then setting or reading it.
Event mode have all in that we have found that the device is sending.
The command mode is having 3 speed of rotating and also how many steps is doing and only 1 step slow and 1 step medium (called fast in DA) is made but more DA can being made is user have good working cases for it (perhaps getting right X steps and x is stetted in the automation?). Fast rotating i think its no working case for then its not easy getting correct  triggered.
Then both devices is light controller they can controlling light by sending commands to light groups. The dimmer switch cant being bonded to one group but can being added as one light in ZHA with only the last added group is working. I shall testing the Knob how its working with LIDL lights and "others" and reporting back.
Pleas testing and reporting back !!

I managed to get the test code using "Custom deps deployment" addon and copying files (first time doing so)
In any case I tried both "Remote" and "Scene" mode.  I don't have automations tied to the new events but I did monitor the zha_event while trying all the functions.
All functions in both modes result in one or more events so that's good.  Long press in "remote" mode results in 3 events:
move_saturation, stop_move_step, move_hue   - is that correct?
Now that the device is showing events for everything I notice:

"double press" has to be fairly quick or else you get 2 single press.
Long press in both modes is very long (feels more like 4s than 3s).
Press and rotate cannot be done too fast or you get a toggle and step

Looking forward to building out my remote automations with the new functionality

edit: when this is released do I need to do anything or will it overwrite the test code?

Just delete your quirks and reboot, then it should apply.

Long press in "remote" mode results in 3 events:
move_saturation, stop_move_step, move_hue - is that correct?

Thats correct.

Thanks for testing @contactcr  !!
The device is one light controller = is being made for controlling lights and is sending commands like dim up and down and so on plus one event mode for rotate and clicking around.
Then the device made like this we cant doing anything only tuya can changing it in the future (and braking our device automatons).
I have trying "extracting" the commands that can being good used but as long pressing is sending many commands that we is only interested of one and the rest is for the system not interested.
You is having device automatons on the device card only clicking on the + on the side of Automations and you is getting all function automated in some clicks.
The double press must being very fast and ripple is very nasty and the long press is always around 5 seconds and its the same we cant changing the device.
Then you is updating HA you need deleting your  "Custom deps deployment" or you is getting problem with broken dependencies so look on this for doing that https://github.com/zigpy/zha-device-handlers/discussions/693#discussioncomment-457020.

We have getting the tuya magic spell working but i have not getting time getting the last parts in place for production but you can trying this quirk and deleting the "old" one in your custom_quirk folder.
Then deleting the device and restarting AH and letting HA starting and settle (if not need restarting HA waiting one min before joining the device a gen or the deleting is not finished and you is getting problems).
Adding the device and is its doing it OK it shall have casing the spell and have getting the 3 new endpoints working ts004f5.zip.
The device is reseeding all "scenes" from EP 2-4 2 tomes but you is only getting one in zha_event and in the automatons.
I have getting it working around 10 times but can being little tricky so the device is getting the casting early for doing its new setup.
Changing working mode with with the 2 right button long press until lower left is blinking.
Its looks resetting the device and taking out battery is deleting the tuya magic but only resetting is OK and also taking out the battery if it was in the network (have trying 2 times with 20 min).
.

Thanks a lot for the new quirk file !!!! i tested it this morning by following your procedure and now all 4 buttons are working as excepted.

Thanks for testing and reporting back @exki92  !!
I shall trying getting time in the weekend for getting the quirk clean and fix the last bug we can fixing.

PR is made and waiting to being merged if the maintainer like it https://github.com/zigpy/zha-device-handlers/pull/1437.
The "dimmer bug" i cant fixing its out of my knowledge.

Thanks for testing and reporting back @exki92 !!
I shall trying getting time in the weekend for getting the quirk clean and fix the last bug we can fixing.

Hello Matt,
whats the current status of the issue with this knob?
I bought me one and i cant wait to get it started.
sadly i have no skills to support you.
best thing i can offer is being a beta-tester...

The original and 2 more device IDs is is being added and is working as expected in (light) command and event (scene) mode with  device automatons for most things we have finding.
If you is running HA 2022.05 you shall having the quirk in your system and working if not having one more with new device ID.

@MattWestb My smartknob is already in production use for a while 😄 .
BTW should I close the issue? It's basically resolved isn't it?

Sounds great that is working after little hacking and coding !!
Our Puddly was fixing the DA with his ZCL R7.5 and one more update is coming for HA 2022.06 but its working the same only different parms being used.
I was missing linking this issue with the PR so i think better closing it and user can opening new issue if having problems.
I have "found" 2 more device IDs for it and its added in the quirk so more user shall getting it working OK and also if coming new ones with the same endpoint and cluster setting it shall have the light DA working by default.

Its looks being paired OK and the quirk is also loaded OK.
The tuya smart rotating knob shall working OK then being normally pared and dont need being reconfigured like all IKEA remotes need for reporting OK.
If you going development tools -> events and putting in zha_event  in Listen to events box and clicking start listening  and doing things with the ROK is you getting something ?
If not getting events from it deleting it in ZHA and waiting one minute and then resetting it with the reset button and paring it and looking if you is getting events.
If you is getting  events from it you can using the device automatons from the device card for using all commands we have found for making your automaton .

@MattWestb
i want to thank you so much! your advice works!!
i do get many different responses from the knob:
today i was able to successfully create my first light dimmer swich in NodeRed:
for every movement i created an helper button + automation in HA
example: if pressed once --> trigger the virtual "pressed once"-button
(maybe in the future i could fiddle with this blueprint: https://community.home-assistant.io/t/moes-smart-knob-lights-control/382180/47 )
then in node red every button is linked to an individual flow.
...a bit of a workaround, but as long it works...right?
sadly there are a few feature missing, that are advertised:

= works only in one of the two modes

double click

long click --> kinda works but very strangely

fast rotation
rotation while pressed down
--> zha_event DOES give me feedback in ONE of the two modes, but there is no available automation trigger to select from.
are there plans to add this? because espacially the last one i miss this feature a lot!!

PS: is there a way to buy you a coffee?

I have the same button and using the same "TuyaSmartRemote004FROK" quirk and I can confirm that in command mode I have single, double, long press clicks and single-step right and left rotation working fine. But event mode does not work at all. I get no events when listening "zha_event" whatsoever. So no fast rotation or rotation while pressed down. I want to control volume in a stereo and the single steps rotation make it very difficult to do so, especially because you have to weight 0.5sec between each rotation to be caught in automation...

@sebaschn I just made yaml automations that are reacting to the '''zha_events''' and everything works without problems.
For example dimming:
- id: '1650491726841'
  alias: Fabian_SmartKnob_Deckenlicht_Dimming
  description: ''
  trigger:
  - platform: event
    event_type: zha_event
    event_data:
      device_ieee: 54:0f:57:ff:fe:2e:3c:5f
      endpoint_id: 1
      cluster_id: 8
      command: step
  condition: []
  action:
  - service: light.turn_on
    entity_id: light.fabian_deckenlicht_on_off
    data:
      brightness_step_pct: '{{ (4*((trigger.event.data.args[1] - 1) / 12)) if trigger.event.data.args[0]
        == 0 else (-4*((trigger.event.data.args[1] - 1) / 12)) }}'
  mode: single

The only events that I'm able to receive are toggle and step.
What am I doing wrong?
I tried to change scena_mode (pressing 3 times the main button), but then the device doesn't send events anymore and some errors are logged.

If all is going well it shall being in next HA release in some day (HA2022.9).
Try updating your system then its released and doing one more test.

Everything works as expected in 2022.9.0.
Thank you!


UX Copy -  (i) button tooltips should pick up SDK description copy

Vish, we rewrote the descriptive copy explaining each of the different actions.
Can we have this copy be picked up by the tooltips of composer? The copy we wrote is a whole lot better at least as a starting point than what's currently in the tooltips..
And while we're at it, can we remove the title? It's displayed out of proportion huge and unnecessary - you already clicked 'Condition (i)' so why do I need to see that the info content is about 'Condition'?

Just to mark (some) progress on this, I went through the Trigger menu and terms, captured them in the[ UX terms and terminology spreadsheet (tab 2),  and am working on updates to prevent the amount of duplications, typos (recieved vs received? (-;), inconsistency in capitalization. I have included Yan in this effort and am happy to sit down with you, Vish, to knock this out.

ping

I went through this but several are still 'awkward' or not very helpful as I am having a hard time going through all of them through the UI (it's both time consuming and 'error prone' as I seem to continue to miss items).
Is there a way to 'extract' these strings so we can review, refine and discuss them in an excel spreadsheet so that both the SDK and UX perspective are included? Once approved, we can then add back in, like we often do for UX copy in software? @tomlm @vishwacsena @cwhitten

I don't think you can close this as this remains an ongoing issue.
The copy live in multiple places in the SDK, in the schema, UX schema and UI, which is leading to insistences in the app itself, between app and SDK and app and documentation.
We need a away to extract, updated and review the copy in a more manageable manner than having to go the various individuals that each own the different elements (SDK, schema, UX schema and UI and documentation).

@mareekuh This has been open for quite some time. Closing due to inactivity.

It has been active but has proven a tough issue to solve through the SDK only.
Localization and accessibility have reiterated the importance of finding a sustainable solution. Here is the spec that is dealing with this https://microsoft.sharepoint.com/:w:/t/ConversationalAI785/EfF1fPqBmAhDp_q2LgsYJh8BmuCNar_PvXnOx9HW2qKBzw?e=eszmoO


Throw exception in case the log file has been deleted

When you create a StreamHandler based on a file, absolutely no errors is raised if the file has been deleted.
Which is a real problem, as you don't know that you are not able to log.
This PR aims to fix this bug.

The problem here is that this fix basically adds i/o ops to every log write to detect a rare edge case. Unfortunately IIRC it's not really feasible to reliably check if fwrite() succeeded or not, and only act on failures. PHP is really not helping us here :/ But as it stands I'd rather not merge this for performance reasons. If it really matters to you though you could do it by extending the class and overriding write().

@Seldaek yes you're right, PHP is not helping at all. fwrite does not return false even if the resource's file does not exist anymore.
I've been looking for a more elegant solution but I didn't find anything. Maybe somebody will have an idea.
Otherwise, would it make sense to create a  dedicated FileStreamHandler in monolog? Maybe it has a big impact for the lib, I don't know, it's up to you.

I don't know if it's really worth having a specialized handler for that, but you can always do one and publish it as its own package :)


Sunstone novnc not work if vnc password contain symbol "#"

Description
novnc into sunstone not connect to vm if vnc password contain symbol "#"
To Reproduce
Make VNC password : "=1DS#bnH"
Expected behavior
Connecting in vnc must with this password worked fine.
Details

Affected Component: Sunstone(novnc)
Hypervisor: KVM
Version: 6.4

Progress Status

[ ] Code committed
[ ] Testing - QA
[ ] Documentation (Release notes - resolved issues, compatibility, known issues)

won't fix for noVNC, please reopen if also applies to Guacamole VNC and/or VMRC


Avoid some warning messages about elementwise operations

When I launch the test with pytest, I've got these messages:
=================== warnings summary =========================
tests/test_generators.py::test_featdet_shape_generator
  deeposlandia/deeposlandia/generator.py:24: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
    mask = img == label

tests/test_generators.py::test_semseg_shape_generator
  deeposlandia/deeposlandia/generator.py:49: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
    mask = img == label

-- Docs: http://doc.pytest.org/en/latest/warnings.html

These warnings arise during the label generator creation. It seems that they are numpy-related. Have you got an idea of how to solve this?

I think we'll try to find out the origin of the message: what file,
where, ... to better understand what it's about.
Maybe use a numpy test utils assertion function for that.
Raphael Delhome writes:

These warnings arise during the label generator creation. It seems that
they are numpy-related. Have you got an idea of how to solve this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view_it_on_GitHub, or mute_the_thread.

--
Damien Garaud
Data Scientist – Developer, Oslandia
http://oslandia.com


Update documentation

Make sure the README documents all the features in the tests. Possibly draw from release notes. Mimic the style and format of D3 Documentation.

Add this image

Hold off on React marketing until a React Example (#16) has been created.

Needs to reflect new API from https://github.com/datavis-tech/reactive-model/issues/20


Bug: View all tables function cannot be used

Chat2DB Version
Chat2DB1.0.0
Describe the bug
There are 1003 tables in OceanBase database. The function of viewing all tables will keep waiting in circles and cannot be viewed. SQL statements can run normally.

please try new version


408 on bigger uploads

Reported by @xijielu

tried to set up a project but failing to finalize the osm upload
The uploads appear to be completed as the progress bar reaches to the file size but the check sign is always greyed out and could not finalize set up to go to the next step

The request is timing out:
170523/111818.322, [response] http://<IP_ADDRESS>:4000: post /projects/16/scenarios/22/files {} 408 (27213ms)
We're looking into a fix.
cc @danielfdsilva


Why not label this as an awesome list?

The content is very organized and helpful. How about you label it awesome?

Hi Madhav, that's a great suggestion. Can you please help us in choosing best labels for the reply and start using the same? Pls share your suggestions

Here, see the list of all badges https://shields.io/
Also, do change the name of repo from Learning-Resources to Awesome-Learning-Resources :)
And do add an awesome badge :)

Also, I wrote this article long back, https://medium.com/@madhavbahl10/a-practical-approach-to-web-development-1ee37a4ad829
You can put it's link too in the resources, if its fine :)

Hi @MadhavBahl , apology for the late action, but yeah finally we have made the changes as suggested. Thank you again and keep suggesting and contributing!


Feautures not working

I have installed the extension recently.But seems like it's not working.Not sure why.

Try the latest and see if it works: https://github.com/mrinc/Facebook-Hide-Recommendations-and-Reels/releases/tag/v1.21.3
Note the langs supported: https://github.com/mrinc/Facebook-Hide-Recommendations-and-Reels/blob/v1.21.3/src/content/langs.ts


is filter by country_ids not works anymore?

same as title

Took a look at the api response from vinted, country_ids isn't returned anymore.
However, you can still grab the profile ID and check the user's country_id.

😭

No worries, you can easily implement it :)
Just be careful not to poke the user endpoint too much, otherwise you'll
get rate limited pretty fast.
On Thu, Oct 3, 2024, 12:00 AM Igors K @.***> wrote:

😭
—
Reply to this email directly, view it on GitHub
https://github.com/herissondev/vinted-api-wrapper/issues/17#issuecomment-2389764846,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKVVW5EEOOZOKOUTXRCJE43ZZRUHHAVCNFSM6AAAAABODBQ5FCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBZG43DIOBUGY
.
You are receiving this because you commented.Message ID:
@.***>


Functions refactoring

Implement flexiable way to build function calls
Issues fixed by this MR:

Issue #108
Issue #182

Coverage increased (+0.008%) to 90.008% when pulling ba7f85dbe30fbffcdd2dad4f1d9c9ff6e0281fa4 on alexprey:functions_refactoring into 2620568c0f0950ff812c734cb988603456533035 on JamesPHoughton:master.


feat: add custom command support

This allows issuing commands to devices directly.
https://github.com/custom-components/alexa_media_player/wiki#run-custom-command

This is AMAZING!   It completely makes the sky the limit with the Alexa/HA integration..  You can do ANYTHING!  TESTED AND VERIFIED! Such an AMAZING feature!


Add Swift mark to PhotoEditorSDK

Project URL
https://www.photoeditorsdk.com
Description
PhotoEditor SDK is written in Swift. This pull requests adds the :large_orange_diamond: mark to reflect this.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

Thanks!


Undefined symbol: ogg not found for architecture arm64 (M1)

Can't build the project for iOS Simulator on M1 Apple Silicon
Xcode 14 Beta 2
Screenshot

Hey @emretekince ,
Yea we saw the same just on m1 macs, it should be fixed with https://github.com/vector-im/swift-ogg/pull/3 if you want to try again.
Thanks


Wrap publish start/end messages in a safe call

This wraps publishing of start and end messages in a safe call.  By wrapping publish in safe if an error is thrown in a start message handler, the end message will still be published and the current block will be skipped.  This makes start and end messages work similar to setup and teardown functions.

Rebased on top of PR #424 so that the travis build would pass.


Fix link on Readme

From Readme:
.. -- mode: rst --

The link looked like this [link] (link) rather than link. This is because it was not saved as a markdown file, which could confuse some users. Nothing really major however


PyTorch compatibility for older version of Mac

While I was trying to run this notebook, 0.2--Encoder-Basics,  I run into this error,
Cell 7 line 1 -----
encoder = nlp.encoder.Encoder()
pooler = nlp.encoder.EncoderPooler()
AttributeError: module 'cltrier_nlp' has no attribute 'encoder' .
I also try to install the newest version of the cltrier_nlp library, pip install cltrier_nlp==0.1.3 , it throws this error,
ERROR: Could not find a version that satisfies the requirement torch<3.0.0,>=2.3.0 (from cltrier-nlp) (from versions: 2.0.0, 2.0.1, 2.1.0, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 2.2.2)
ERROR: No matching distribution found for torch<3.0.0,>=2.3.0
I am using intel MacBook.

Thanks for reporting it. I deployed a fix that drops the required versions to torch==2.2.2. Install the newest version of our package: pip install cltrier_nlp==0.1.5
Please confirm the fix, then I’ll close this issue.


Update client vendor

Fixes prod builds.
govendor update github.com/keybase/client/go/auth
govendor update github.com/keybase/client/go/logger
govendor update github.com/keybase/client/go/libkb
govendor update github.com/keybase/client/go/externals
govendor update github.com/keybase/client/go/kex2
govendor update github.com/keybase/client/go/protocol

you have libkb.test checked in...please remove that, then lgtm

The libkb.test change is a deletion :)


JAVA-2867 Fixed protocol substitutions

Fixes https://datastax-oss.atlassian.net/jira/software/c/projects/JAVA/issues/JAVA-2867
During investigation of camel-quarkus extension for cassandraQl, I was facing issue, which is already reported as https://datastax-oss.atlassian.net/jira/software/c/projects/JAVA/issues/JAVA-2867
This is simple fix of the issue.
It would be nice to have some JUnit validating this quarkus stuff. But introducing this is beyond my knowledge of datastax /java-driver..

@JiriOndrusek Thank You for your contribution!
I did add unit tests that are asserting that such a situation will not occur in the future.
Let's wait for a review of other team members.

@tomekl007 Thanks for the test!

Sorry to open yet another PR, but I'd like to propose an alternative solution: #1497
Instead of substituting the classes' contents, take a step back: delete the classes, and substitute the code that instantiated them. This completely eliminates the need to track changes to the implementations.

Closing in favor of #1497, we've decided to go with the other approach.
Thanks @JiriOndrusek for getting things started.