chore: disable the remote feature by default

The rust implementation of the remote client is not yet ready.  This is understandably confusing for users since it is enabled by default.  This PR disables it by default.  We can re-enable it when we are ready (even then it is not clear this is something that should be a default feature).

It appears the macos tests were already broken.  I'm going to merge this and we can address shortly.


Desktop GPU run error in Docker container - An unacceptable value is specified

I created a Mediapipe docker image using the instructions here: https://google.github.io/mediapipe/getting_started/install.html#installing-using-docker.
I have installed the mesa drivers used for Mediapipe GPU support as instructed here: https://google.github.io/mediapipe/getting_started/gpu_support.html#opengl-es-setup-on-linux-desktop.
I was able to compile the multi_hand_tracking_gpu example. However, when I run the example within the Docker container running the Mediapipe image, using
GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/multi_hand_tracking/multi_hand_tracking_gpu \
  --calculator_graph_config_file=mediapipe/graphs/hand_tracking/multi_hand_tracking_mobile.pbtxt

I get the error below:
root@fb89acd43129:/mediapipe# GLOG_logstderr=1 bazel-bin/mediapipe/examples/desktop/multi_hand_tracking/multi_hand_tracking_gpu --calculator_graph_config_file=mediapipe/graphs/hand_tracking/multi_hand_tracking_mobile.pbtxt
libEGL warning: DRI2: failed to authenticate
INFO: Initialized TensorFlow Lite runtime.
INFO: Created TensorFlow Lite delegate for GPU.
E20200722 18:46:19.313830  2217 demo_run_graph_main_gpu.cc:146] Failed to run the graph: Graph has errors:
Calculator::Open() for node "[multihanddetectionsubgraph__TfLiteInferenceCalculator, TfLiteInferenceCalculator with output stream: multihanddetectionsubgraph__detection_tensors]" failed: [GL_INVALID_ENUM]: An unacceptable value is specified for an enumerated argument.: glBufferData in external/org_tensorflow/tensorflow/lite/delegates/gpu/gl/gl_buffer.h:255

Is there something else that I have to installed inside the Docker container? This desktop gpu example worked perfectly fine outside of docker on my computer so I know it's not a issue with my Nvidia GPU. When I check my video card using the instructions, I get:
root@fb89acd43129:/mediapipe# glxinfo | grep -i opengl
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  54
  Current serial number in output stream:  53

Based on the error I would guess the GPU is not setup correctly, or if it is, then it doesn't support OpenGL ES 3.1+ inside the container.
The docker container MediaPipe provides doesn't do anything special to enable GPU, so you may need to search how to make sure GPU is supported in the docker you create.
Related:

https://github.com/thewtex/docker-opengl
https://hub.docker.com/r/nvidia/opengl
https://github.com/google/mediapipe/issues/150
https://github.com/google/mediapipe/issues/840

...though seems like you already searched the github issues

Hi, there,
i got the same problem, did you solve it?
@AlexYiningLiu
thanks.

nvidia-docker run --env NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics <...your commands...>
i had the same problem, Even though docker says it does support glx, @flx42 found a way to overcome it by adding the environment NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics  variable when launching the docker container. ...worked for me, good luck!

Hi @AlexYiningLiu, Could you please share the issue status. Thanks!

Hi @AlexYiningLiu, Could you please respond to my above comment. Thanks!

We are closing this issue now due to lack of activity !


rm -rf .git not a command on windows

I was wondering if you could help me with this issue
rm -rf .git not a command on windows

The idea behind that command is to delete .git folder once you have cloned the repository.
I'm not a Windows user so I can't test a Windows variant of this. Maybe just rmdir .git? (From the theme directory of course)
If you can verify this works I'll mention it in the readme, or feel free to do a pull request to add it.


feat(APIGuildPreview): add stickers

Please describe the changes this PR makes and why it should be merged:
Reference Discord API Docs PRs or commits:

https://github.com/discord/discord-api-docs/pull/4278

upstream PR merged


ensure dms provider passes on locationField when bbox parameter provided

This PR ensures that a locationField parameter, optionally defined in the collection's configuration, is sent along to the DMS Core API when a bbox parameter is specifed in a feature collection query. It uses the DMS Core API default of location if not specified in the configuration.

Tests failing for unrelated reasons?

CI test failures are unrelated (Xarray 2023.2.0 was released earlier today, we can wait a few days for upstream patches).


White background is visible in dark theme.

In dark theme, the bottom part should also be dark not white.

@muke1908 can i work on this? :)

Hi @AudreyKj, looks like this issue is fixed.
If you are looking to do something visual you might look into this #60


ext4-fs: fix image creation on armv7l when image is bigger than 2G

Motivation for this change
When building big sd-image on armv7l cptofs is failing with this error:
can't open fsimg /nix/store/aal5c4ia7x587kmy0x9swna8bhqd8g92-ext4-fs.img: Value too large for defined data type
21119 Segmentation fault      cptofs -t ext4 -i $out nix-path-registration /

Fix this issue by dropping cptofs from script and using -d argument of mkfs.ext4 instead as lkl is not maintained and takes a very long time to build.
Also make image creation more reproducible.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[X] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

cc @samueldr @grahamc

This should also fix building on x86_64 using boot.binfmt.emulatedSystems = [ "aarch64-linux" ];:
Before:
building '/nix/store/0ls2xbc6na607bh6lhdnq7zx6j2g95y2-ext4-fs.img.zst.drv'...
Creating an EXT4 image of<PHONE_NUMBER> bytes (numInodes=94009, numDataBlocks=489089)
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
mke2fs 1.45.5 (07-Jan-2020)
Unsupported ioctl: cmd=0xffffffff80200204
Discarding device blocks: done
Creating filesystem with 677107 4k blocks and 169344 inodes
Filesystem UUID: 44444444-4444-4444-8888-888888888888
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

error while reading directory .: Cannot allocate memory
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
error while reading directory ./nix/store: Cannot allocate memory
error while reading directory ./nix: Cannot allocate memory
error while reading directory .: Cannot allocate memory
copying store paths to image...
error while reading directory /nix/store/03nsv3a6a81ms8dsak74gb2jaqrn5llf-bind-9.14.11-lib/lib/named: Cannot allocate memory
error while reading directory /nix/store/03nsv3a6a81ms8dsak74gb2jaqrn5llf-bind-9.14.11-lib/lib: Cannot allocate memory
error while reading directory /nix/store/03nsv3a6a81ms8dsak74gb2jaqrn5llf-bind-9.14.11-lib: Cannot allocate memory
error while reading directory /nix/store: Cannot allocate memory
....
etc, etc

After:
building '/nix/store/0jlr2r3cxjcixp22ii3lgmywzwlc25pb-ext4-fs.img.zst.drv'...
copying store paths for image...
copying files for image...
Creating an EXT4 image of<PHONE_NUMBER> bytes (numInodes=94013, numDataBlocks=466719)
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
mke2fs 1.45.5 (07-Jan-2020)
Unsupported ioctl: cmd=0xffffffff80200204
Discarding device blocks: done
Creating filesystem with 654745 4k blocks and 163840 inodes
Filesystem UUID: 44444444-4444-4444-8888-888888888888
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done

e2fsck 1.45.5 (07-Jan-2020)
Unsupported ioctl: cmd=0xffffffff80200204
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
NIXOS_SD: 93759/163840 files (0.2% non-contiguous), 526170/654745 blocks
Resizing to minimum allowed size
resize2fs 1.45.5 (07-Jan-2020)
Unsupported ioctl: cmd=0xffffffff80200204
Resizing the filesystem on temp.img to 630560 (4k) blocks.
The filesystem on temp.img is now 630560 (4k) blocks long.

e2fsck 1.45.5 (07-Jan-2020)
Unsupported ioctl: cmd=0xffffffff80200204
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
NIXOS_SD: 93759/163840 files (0.2% non-contiguous), 526170/630560 blocks
Compressing image
*** zstd command line interface 64-bits v1.4.4, by Yann Collet ***
./temp.img           : 23.13%<PHONE_NUMBER> => 597319969 bytes, /nix/store/9hf8pz2k4r3b6flh4k6jfsn4q5w41km0-ext4-fs.img.zst)
building '/nix/store/rpx12maw8rqawm1847dja791yfzv1m65-nixos-sd-image-20.09pre-git-aarch64-linux.img.drv'...
Decompressing rootfs image
/nix/store/9hf8pz2k4r3b6flh4k6jfsn4q5w41km0-ext4-fs.img.zst:<PHONE_NUMBER> bytes
Checking that no-one is using this disk right now ... OK

Disk /nix/store/nks2rj2zigpbblr0ar1gwa4zpaw4093m-nixos-sd-image-20.09pre-git-aarch64-linux.img/sd-image/nixos-sd-image-20.09pre-git-aarch64-linux.img: 2.45 GiB,<PHONE_NUMBER> bytes, 5122304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0x2178694e.
/nix/store/nks2rj2zigpbblr0ar1gwa4zpaw4093m-nixos-sd-image-20.09pre-git-aarch64-linux.img/sd-image/nixos-sd-image-20.09pre-git-aarch64-linux.img1: Created a new partition 1 of type 'W95 FAT32' and of size 30 MiB
.
/nix/store/nks2rj2zigpbblr0ar1gwa4zpaw4093m-nixos-sd-image-20.09pre-git-aarch64-linux.img/sd-image/nixos-sd-image-20.09pre-git-aarch64-linux.img2: Created a new partition 2 of type 'Linux' and of size 2.4 GiB.
/nix/store/nks2rj2zigpbblr0ar1gwa4zpaw4093m-nixos-sd-image-20.09pre-git-aarch64-linux.img/sd-image/nixos-sd-image-20.09pre-git-aarch64-linux.img3: Done.

New situation:
Disklabel type: dos
Disk identifier: 0x2178694e

Device                                                                                Boot Start     End Sectors  Size Id Type
/nix/store/nks2rj2zigpbblr0ar1gwa4zpaw4093m-nixos-sd-image-20.09pre-git-aarch64-linux.img/sd-image/nixos-sd-image-20.09pre-git-aarch64-linux.img1      16384   77823   61440   30M  b W95
/nix/store/nks2rj2zigpbblr0ar1gwa4zpaw4093m-nixos-sd-image-20.09pre-git-aarch64-linux.img/sd-image/nixos-sd-image-20.09pre-git-aarch64-linux.img2 *    77824 5122303 5044480  2.4G 83 Linu

The partition table has been altered.
Syncing disks.
5044480+0 records in
5044480+0 records out
2582773760 bytes (2.6 GB, 2.4 GiB) copied, 25.4228 s, 102 MB/s
ERROR: ld.so: object '/nix/store/b8spi94bjg0hhdj9mnqsvc5dydcb4w9g-libfaketime-0.9.8/lib/libfaketime.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
mkfs.fat 4.1 (2017-01-24)
Copying bootcode.bin
Copying config.txt
Copying fixup.dat
Copying fixup4.dat
Copying fixup4cd.dat
Copying fixup4db.dat
Copying fixup4x.dat
Copying fixup_cd.dat
Copying fixup_db.dat
Copying fixup_x.dat
Copying start.elf
Copying start4.elf
Copying start4cd.elf
Copying start4db.elf
Copying start4x.elf
Copying start_cd.elf
Copying start_db.elf
Copying start_x.elf
Copying u-boot-rpi3.bin
fsck.fat 4.1 (2017-01-24)
Checking we can access the last sector of the filesystem
Boot sector contents:
System ID "mkfs.fat"
Media byte 0xf8 (hard disk)
       512 bytes per logical sector
      2048 bytes per cluster
         4 reserved sectors
First FAT starts at byte 2048 (sector 4)
         2 FATs, 16 bit entries
     30720 bytes per FAT (= 60 sectors)
Root directory starts at byte 63488 (sector 124)
       512 root directory entries
Data area starts at byte 79872 (sector 156)
     15321 data clusters (31377408 bytes)
32 sectors/track, 64 heads
         0 hidden sectors
     61440 sectors total
Checking for unused clusters.
firmware_part.img: 20 files, 12115/15321 clusters
61440+0 records in
61440+0 records out
31457280 bytes (31 MB, 30 MiB) copied, 0.306261 s, 103 MB/s
/nix/store/nks2rj2zigpbblr0ar1gwa4zpaw4093m-nixos-sd-image-20.09pre-git-aarch64-linux.img

I have successfully tested this in conjunction with #86291, to cross-build an aarch64 image for a raspberry 3 via https://github.com/nix-community/nixos-generators by enabling
binfmt.emulatedSystems = [ "aarch64-linux" ];

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-in-distress/3604/26

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/cant-boot-into-new-configuration-after-nix-rebuild-raspberry-pi3-b/7812/1

I poked @samueldr  on IRC about reviewing this, and they said they would take a look


Fixed security issue and fixed overwriting.

This should work.
I have tested it and it worked fine for me.
So now you will only change the values that you choose to change, and if the value does not exist it will skip it, so if you would like it to create it you will need to add that.
Do note that on L56 you no longer need the 'APP_LOG_LEVEL' in the .env file as it's changed out with LOG_CHANNEL and all the config is in a config file.
To support that you will need to change the form and the $data part.

Hello,
Thanks for you contribution.
I believe this can be achieved simply by adding
Artisan::call('key:generate');
Right after this like:
file_put_contents($this->envPath, $envFileData);
What do you think?

I did try, but it asked for second parameter and I where unsuccessful to find what it was, especially since it doesn't make sense in my head to have two parameters on the key:generate command.

We already regenerating a new key on the final step.
https://github.com/RachidLaasri/LaravelInstaller/blob/master/src/Helpers/FinalInstallManager.php#L20

For those who care, this was fixed in #179 So it was indeed static as I thought. But that is no longer a concern.


Improve the UI of the Registration form

I am the contributor of GSSOC'22
I want to make more attractive the form.
Please assign this issue to me.

No needed already the size of UI is good i am closed this issue you can suggest some more ideas


Attempt to gather more information about random OptionalTest failure

z is coming out with the wrong value; let's fix that.
See #1130

@kyouko-taiga why isn't your error message showing up in the test failure output?

@dabrahams I got the branch to pass tests and have good reasons to believe that the UB that was causing the errors has been fixed by a0ac6881b24268b5d3f4dd55f730e26b0dd4e92c. Shall we close?

@dabrahams I got the branch to pass tests and have good reasons to believe that the UB that was causing the errors has been fixed by a0ac688. Shall we close?

@kyouko-taiga if you tell me that the fix to switch statements (as that commit describes itself) is also a fix for if let, then yes, please go ahead.  Otherwise, there are no switch statements in the failing example, so no.

It is. The problematic test is unwrapping a union, which involves a switch statement at the LLVM IR level.


Fix indentation for idl output (Take 2)

This is followup to PR https://github.com/Microsoft/xlang/pull/227. I've closed original mostly because it was based on changes in master branch (and not feature branch).
I was looking at output of idl and noticed that custom attributes for methods had wrong indentation of 4 spaces when method itself had 8 space indentation. Like this:
    interface ILearningModelStatics
    {
    [Windows.Foundation.Metadata.RemoteAsyncAttribute]
    [Windows.Foundation.Metadata.OverloadAttribute("LoadFromStorageFileAsync")]
        Windows.Foundation.IAsyncOperation`1<LearningModel> LoadFromStorageFileAsync(Windows.Storage.IStorageFile modelFile);

vs.
    interface ILearningModelStatics
    {
        [Windows.Foundation.Metadata.RemoteAsyncAttribute]
        [Windows.Foundation.Metadata.OverloadAttribute("LoadFromStorageFileAsync")]
        Windows.Foundation.IAsyncOperation`1<LearningModel> LoadFromStorageFileAsync(Windows.Storage.IStorageFile modelFile);

Use same approach as @devhawk python tool that uses indent_guard class to automatically increase indentation in scope and specialize writer::write_impl() methods to automatically indent output for each line that starts on new line.

Now write(CustomAttribute const& attr) and write_uuid(CustomAttributeSig const& arg) are similar to other functions that they do not have enforced newline and indent at the start of line.
All manual loops that wrote custom attributes are replaced with bind_each<write_custom_attribute>(attribute)
Compared to original python tool code the writer::write_impl() methods check if current line to output is equal to newline. If it is then there is no sense to indent it.

I verified that idl output for windows.winmd differs only by whitespace changes for fixed custom attributes.
If this approach is acceptable then next step is to factor out:

struct indent_guard
int32_t indent{};
void write_impl(std::string_view const& value)
void write_impl(char const value)
std::string write_temp(std::string_view const& value, Args const& ... args)

into indented_writer class so that python and idl tools can use shared code. I also have not moved source to samples directory, since there is separate ticket https://github.com/Microsoft/xlang/issues/248 for it.

Windows build failed to create Docker container :(

re-queued the build. we've seen some flakiness from pipelines docker support recently. Unrelated to this PR

@jonitis I asked on #227 if you'd be willing to move the entire IDL project into the samples directory. I'm thinking /samples/meta_reader. Can you do that as part of this PR?

Ok, I will try to move it and modify build files.

@jonitis I asked on #227 if you'd be willing to move the entire IDL project into the samples directory. I'm thinking /samples/meta_reader. Can you do that as part of this PR?

I moved code to samples directory, but I am not sure what to do with CMakeLists.txt file. I've renamed idl->meta_reader, but should it include master Cmake file from src directory?

I think we should add a CMakeLists file in /samples that includes a add_subdirectory(meta_reader). We should also exclude the IDL project from build all with a set_target_properties(idl PROPERTIES EXCLUDE_FROM_ALL TRUE)

I addressed review notes related to c++ code that implements indentation.
But I have problems with Cmake files and moving code to sample directory. I've added EXCLUDE_FROM_ALL for meta_reader target so that it is not built by default. But I can't get it build with --target samples. Cmake complains that it does not know TARGET_CONFIG_MSVC_PCH. So it does not inherit from src/CmakeLists.txt. Probably because it tries to reference parent directory with ..
It would be better to add top level CmakeLists.txt that would handle both src and samples directories, but that would affect all build scripts for CI etc.
Someone better familiar with your build system should complete that migration to samples directory.
P.S.
BTW I would prefer if idl stayed at tools directory. It had self-explanatory name and it was real tool :)

I'll take a look at your cmake files and propose a fix.
/src/tool/idl was never a real tool - it was only a testbed for the metadata reader. We are working on a tool for generting metadata from IDL (#262, #264, and #256 all relate to this tool)

Looks great! I made a slight change to the cmake file - mirroring #290 - to account for CMake 3.13 (which ships w/ VS2019).


Refactor the merge_prefactors function

Codecov Report

Merging #101 (d38f882) into computgraph_daniel (166d8aa) will increase coverage by 0.26%.
The diff coverage is 62.96%.

@@                  Coverage Diff                   @@
##           computgraph_daniel     #101      +/-   ##
======================================================
+ Coverage               53.44%   53.70%   +0.26%
======================================================
  Files                      43       43
  Lines                    2756     2778      +22
======================================================
+ Hits                     1473     1492      +19
- Misses                   1283     1286       +3

Impacted Files
Coverage Δ

src/computational_graph/graph.jl
82.43% <62.96%> (+0.68%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Move sensio labs security to Symfony Security Monitoring

The Security Advistories Checker website will shut down at the end of October.

I don't get what is wrong here.

Thanks!


Initialize connection with Egg-net

Prerequisites

Node: A modern (e.g. the LTS version) installation of Node.
Docker
SubQuery Node: npm install -g @subql/node

Description
Currently, I have set up the schema and mapping for our SubQuery to Egg-net.
But I'm stuck in the step to establish the connection between SubQuery and Egg-net.
Currently, I point the network option to Kusama for testing the mapping and the schema. But you can comment on the Kusama network section, and un-comment the local network section to reproduce the error.
Steps to Reproduce
Note: You have to run Egg-net locally.
Firstly, comment this section and un-comment this section.
Run yarn build to build the project.
Then you can try one of the below approaches:

Using docker:

Run yarn start:docker: You will get the error like I described in this issue https://github.com/subquery/subql/issues/1204#issuecomment-1197095979

Without docker (follow these steps here):

Make sure you installed subql-node by using npm install -g @subql/node
Install and run postgres
Prepare environments variables to connect to Postgres:export DB_USER=<your-pg-user>
export DB_PASS=<your-pg-pass>
export DB_DATABASE=postgres
export DB_HOST=localhost
export DB_PORT=5432

Run subql-node -f . (Make you you are in the project directory, . is the relative path to the project)
You will get the behavior like the screenshots above, if you check the database, it will be empty

Screenshots:

Created this issue https://github.com/subquery/subql/issues/1216 and wait for the SubQuery team feedback.

setup running 3 nodes with --pruning=archive
RUST_LOG=dkg=trace ./target/release/egg-standalone-node  --base-path /tmp/standalone/alice --alice   --pruning=archive --rpc-cors=all &
RUST_LOG=dkg=trace ./target/release/egg-standalone-node  --base-path /tmp/standalone/bob --bob --pruning=archive --rpc-cors=all &
RUST_LOG=dkg=trace ./target/release/egg-standalone-node --base-path /tmp/standalone/charlie --charlie --pruning=archive --rpc-cors=all

Blockchain DB cleanup
m -rf /tmp/standalone/${alice|bob|charlie}/chains/local_testnet/db/full/


Starting and stopping the notifications slash commands are not working

As a user, the notifications for commenting and sharing any file type in the drive are not working.
Steps to reproduce:-

Run the "/drive notifications start".
Share the desired file from the drive to a user and add a comment on it.
Go back to MM and open the bot channel.

The user did not receive the notification for the file type shared and comment added.
And since, the start notification functionality is not working we cannot assure that the stop functionality would be working properly or not.

@AayushChaudhary0001 can you share details about your MM setup and steps to reproduce the issue because it was working in my testing. Just want to confirm that it's not some configuration issue before diving into debugging.

@AayushChaudhary0001 can you provide more information per above?

@darkLord19 I am using an enterprise edition of Mattermost (version:- 7.1.0). Also, for plugin, I have created the build from master branch. I have already configured the client ID and client secret, as I am able to connect the account.
Steps to reproduce:-

Run the "/drive notifications start".
Share the desired file from the drive to a user and add a comment on it through the account of the user to whom the file is shared.
Go back to MM and open the bot channel of Google Drive.

What I did is share a document which was created in my drive to a user and add comments through that user's account. The notifications were already enabled still I didn't get any notification on MM instance.
I am also adding a supporting screenshot below.

@AayushChaudhary0001 did you comment using your own account? Comments made using the same account which is connected to mattermost won't trigger notifications.

You will need two accounts for this.

create a file using account linked to your mm profile
comment of that file using some other account

@darkLord19 No, the account which I used for commenting is another user's account.

@AayushChaudhary0001 please use this branch https://github.com/mattermost-community/mattermost-plugin-google-drive/pull/12 and see if everything is working correctly.
Please see attached videos i have done clean setup on my device and it's working fine
https://drive.google.com/drive/folders/1iUckXDK_YKB2T48Ry2Cxa229dKpq6irB?usp=sharing

@darkLord19 Tested PR #12 works fine for the login is a user comments, but there is an issue in the UI with the Indigo theme of Mattermost, can you please look into it?
I am attaching a screenshot as well for the same

Also, in other plugins blue coloured button is used in these type of attachments, if you can try to make it consistent in any way

@AayushChaudhary0001 can you close this issue and create a new one for theming issue?


bump sync plugin for https://trello.com/c/FxtSMIUm/1447-3-removing-a-…

…build-object-should-remove-the-corresponding-jenkins-job-jenkinsintegration
@bparees @coreydaley fyi / ptal

rpm updates are done?

waiting for the plugin list to get generated ... then will do rpm stuff

the list is now getting cooked as I type

And here it is:
Installed plugins:
ace-editor:1.0.1
apache-httpcomponents-client-4-api:4.5.3-2.0
authentication-tokens:1.1
blueocean-autofavorite:1.2.0
blueocean-bitbucket-pipeline:1.4.1
blueocean-commons:1.4.1
blueocean-config:1.4.1
blueocean-core-js:1.4.1
blueocean-dashboard:1.4.1
blueocean-display-url:2.1.1
blueocean-events:1.4.1
blueocean-github-pipeline:1.4.1
blueocean-git-pipeline:1.4.1
blueocean-i18n:1.4.1
blueocean-jira:1.4.1
blueocean:1.4.1
blueocean-jwt:1.4.1
blueocean-personalization:1.4.1
blueocean-pipeline-api-impl:1.4.1
blueocean-pipeline-editor:1.4.1
blueocean-pipeline-scm-api:1.4.1
blueocean-rest-impl:1.4.1
blueocean-rest:1.4.1
blueocean-web:1.4.1
branch-api:2.0.11
cloudbees-bitbucket-branch-source:2.2.5
cloudbees-folder:6.1.2
conditional-buildstep:1.3.1
config-file-provider:2.17
credentials-binding:1.15
credentials:2.1.15
display-url-api:2.1.0
docker-commons:1.11
docker-workflow:1.9
durable-task:1.16
favorite:2.3.1
git-client:2.7.0
github-api:1.86
github-branch-source:2.2.3
github:1.26.0
github-organization-folder:1.6
git:3.8.0
git-server:1.5
handlebars:1.1
htmlpublisher:1.14
jackson2-api:2.7.3
jenkins-design-language:1.4.1
jira:2.4.2
job-dsl:1.68
jquery-detached:1.2.1
jsch:<IP_ADDRESS>
junit:1.24
kubernetes-credentials:0.3.0
kubernetes:1.2
mailer:1.20
mapdb-api:<IP_ADDRESS>
matrix-auth:2.2
matrix-project:1.12
mercurial:2.3
momentjs:1.1
openshift-client:1.0.7
openshift-login:1.0.5
openshift-pipeline:1.0.54
openshift-sync:1.0.8
parameterized-trigger:2.35.2
pipeline-build-step:2.7
pipeline-github-lib:1.0
pipeline-graph-analysis:1.6
pipeline-input-step:2.8
pipeline-milestone-step:1.3.1
pipeline-model-api:1.2.5
pipeline-model-declarative-agent:1.1.1
pipeline-model-definition:1.2.5
pipeline-model-extensions:1.2.5
pipeline-rest-api:2.9
pipeline-stage-step:2.2
pipeline-stage-tags-metadata:1.2.5
pipeline-stage-view:2.4
pipeline-utility-steps:1.5.1
plain-credentials:1.3
pubsub-light:1.12
run-condition:0.10
scm-api:2.2.6
script-security:1.41
sse-gateway:1.15

ssh-credentials:1.13
structs:1.13
subversion:2.10.3
token-macro:2.0
variant:1.1
workflow-aggregator:2.5
workflow-api:2.25
workflow-basic-steps:2.3
workflow-cps-global-lib:2.7
workflow-cps:2.42
workflow-durable-task-step:2.18
workflow-job:2.14.1
workflow-multibranch:2.16
workflow-remote-loader:1.4
workflow-scm-step:2.4
workflow-step-api:2.14
workflow-support:2.18

rpms gonna have to wait until Monday ... the rpm job at https://buildvm.openshift.eng.bos.redhat.com:8443/job/devex/job/devex%252Fjenkins-plugins/build?delay=0sec does not allow you to select 3.10 yet
@jupierce @smunilla @adammhaile ^^ will y'all have a sec on Monday to update the above job?

rhel plugin update job https://buildvm.openshift.eng.bos.redhat.com:8443/job/devex/job/devex%252Fjenkins-plugins/35/

rpm job complete ... should start showing up in brew-pulp images that QE can verify


"Uncaught (in promise) 60" on second invite for the same call

Package Name: @azure/communication-calling
Package Version: 1.14.1 (also present on 1.10.1)
Operating system: Windows 11
[ ] nodejs

version: v16.16.0

[ ] browser

name/version: Chrome 114.0.5735.199

[ ] typescript

version: 4.3.5

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
We receive a call, which we don't accept. When the call is offered a second time, the communication-calling package throws an unresolved promise rejection exception.
To Reproduce
Create a CallClient with the correct credentials, we will call this the client.
Set up a call in another ACS application (our backend in our case).
Add the client as a participant.
When the incomingCall is received by the client, reject it.
Try to add the client as a participant again.
The client gets an error in the console: "Uncaught (in promise) 60"
Expected behavior
I would expect the client to get another incomingCall event.
Screenshots
debugging shows the error is thrown from here:

After some more in depth analysis we have come to the following conlusions:
Our issue was triggered by a exception in the callsUpdated callback where we process the calls.removed. This error was not visible in the console, so it looks like the communication-calling library caught the exception without logging this to the console. Because of this it was hard to find the point of defect. We would expect exceptions in our own code to remain visible to the user and that these exceptions do not break event handling for other future calls.
Small code example:
`
this.callAgent.on('callsUpdated', calls => {
calls.added.forEach(addedCall => {
console.log('this will only log on the first call');
});
        calls.removed.forEach(removedCall => {
            throw Error('Random error');
        });
    });

`
This example will not show the "Random error" Error that was thrown in the console. If you use an azure logger, you will see the following in the console:
acs.audio.service.ts:115 azure:ACS:warning 2023-08-02T11:15:40.671Z CallClient1:CallStack:PluginlessStack Event handler exception caught!,Error: Random error
This is only shown as an azure warning, without any indication of an error. After this, you can see the "Rejected Promise (60)" in the console as well.

we've added a try/catch with a log line to indicate that app thew an error
Application threw an error while it handled the ${event} event


Error on creating appUser

package:  "smooch-core": "^6.3.0"
Following the instructions to create an appUser (https://docs.smooch.io/rest/#pre-create-app-user)
while :
apiClient                     .appUsers.create(appId, {                         userId<EMAIL_ADDRESS>                        givenName: 'Steve',                         properties: {                             favoriteFood: 'prizza'                         }                     })
I am getting "TypeError: userId.trim is not a function" because on the package on 'smooch-core/lib/api/appUsers.js' line #68 is trying to trim.
Is there anything wrong following the instructions of the documentation ?
Thanks

Looks like a bug in the lib... I think trim is being applied to the object because the second argument is expected to be the userId string.
apiClient .appUsers.create(appId<EMAIL_ADDRESS>{ givenName: 'Steve', properties: { favoriteFood: 'prizza' } })

^ this call should work.

Thanks for the fast reply,
Yes, that was the solution I applied while using the library, but might be good to update the documentation or fix the Bug.
Thanks in advance again, keep the hard work :+1:

Closing now that the docs have since been updated


Mat-menu not working in Mozilla on button click

Bug- Want to open mat menu on button click
on chrome and edge its working as expected.
Expected-
It should work on Mozilla Firefox
https://stackblitz.com/edit/mat-menu-firefox-issue

Duplicate


BAU: Validate JSON files as part of yarn lint

Proposed changes
As part of the yarn lint pre-commit step, these changes check the translation.json files are valid.
What changed
package.json and .eslintrc.js now use a new npm package, eslint-plugin-jsonc.
Why did it change
Some errors had crept into the translation files over time, so this change checks that a valid file structure is preserved as different team members work on the code.

Closing stale PR. If we see further inconsistencies in the translation files, we should write a test that checks the structure matches what we expect (not just that it's valid JSON).


gpt-3.5-turbo model support

Are you considering adding gpt-3.5-turbo model support?
Or should the gpt2 model be used (according to https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb)?

I'm also interested in gpt-3.5-turbo support.
Sometimes I need to calculate the number of tokens before sending it to the model.

Thanks for your interest in turbo and tiktoken! I've added support for turbo in encoding_for_model and released this in 0.3.0


Git clone authentication not working

Testing for https://github.com/Microsoft/vscode/issues/23305

VSCode Version: Insiders Latest
OS Version: Windows

Steps to Reproduce:

Type Git Clone into the command palatte
Clone a repository that I need auth for (in my example I used vscode-distro)

I expect to see affordance to enter my credentials.
Actual: I saw an error message and no affordance.
Note that I tried for both ssh and https clone.

The issue isn't about Windows. It's about the Clone command only. 👍

Verified on OSX and Linux.


Error in create-icon-set.js "underfined is not a an object ( _react.Proptypes..oneOf")

[ ] Review the documentation: https://github.com/oblador/react-native-vector-icons
[ ] Search for existing issues (including closed issues): https://github.com/oblador/react-native-vector-icons/issues

Environment
react-native: 0.61.5
react-native-vector-icons 6.6.0

Description
Getting error in the create-icon-set.js file on line 34 saying "underfined is not a an object ( evaluating _react.Proptypes..oneOf)", even tried with different version of vector-icons but the issue persists.

This must be referencing an old version from another dependency or something. Can you verify that you only have one version installed in node_modules and that it's 6.6.0?


⚠ BCR Bot has degraded performance

In 86a095d, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1594 ms

Resolved: BCR Bot performance has improved in cb68b3a.


graph/traverse: reduce edge confusion

Please take a look.
It could be argued that the Visit could go away completely, since the until parameter can now be used to do the same thing. However, until differs between BreadthFirst and DepthFirst so that BF can stop after a certain depth. This means that a visitors for BreadthFirst and DepthFirst would not be interchangeable. For this reason I have kept it.
Fixes #913.

While I'm breaking the API, I will change the EdgeFilter field to Traverse. This name is less restrictive in it's connotation; with the filter name, there is a suggestion that it is purely for filtering the edges during the walk. With Traverse, it can mean either "Should I traverse to the other side?" or "Traverse this edge."
/cc @umarcor because this will break his code.

Thanks for warning me.
A little suggestion: since you are changing the signature so that Visit provides a Node and Traverse provides an Edge, why not make it more explicit by naming them OnNode and OnEdge instead? I think that it avoids the ambiguity of 'filter', 'traverse', 'visit', etc. The user just does whatever on each whatever, during the walk.

Visit is a Go convention (see https://golang.org/pkg/go/ast/#Walk and https://golang.org/pkg/path/filepath/#example_Walk) and also within graph terminology. The documentation now makes it clear what each does, and I'm not convinced that On<Object> indicates any more clearly what is done.

ping


WIP

Addresses DBTP-

Checklist:
Title:

[ ] Scope included as per conventional commits
[ ] Ticket reference included (unless it's a quick out of ticket thing)

Description:

[ ] Link to ticket included (unless it's a quick out of ticket thing)
[ ] Includes tests (or an explanation for why it doesn't)
[ ] If the work includes user interface changes, before and after screenshots included in description
[ ] Includes any applicable changes to the documentation in this code base
[ ] Includes link(s) to any applicable changes to the documentation in the DBT Platform Documentation (can be to a pull request)

Tasks:

[ ] Run the end to end tests for this branch and confirm that they are passing

:x: 20 Tests Failed:

Tests completed
Failed
Passed
Skipped

639
20
619
3

View the top 3 failed tests by shortest run time

tests/platform_helper/test_command_copilot.py::TestMakeAddonsCommand::test_exit_if_no_config_file

Stack Traces | 0.027s run time

.../tests/platform_helper/test_command_copilot.py:419: in test_exit_if_no_config_file
    assert (
E   assert '`platform-config.yml` is missing. Please check it exists and you are in the root directory of your deployment project.' in ''
E    +  where '' = <Result TypeError("CopilotProvider.__init__() missing 1 required positional argument: 'app'")>.output

tests/platform_helper/test_command_copilot.py::TestMakeAddonsCommand::test_exit_if_no_local_copilot_services

Stack Traces | 0.029s run time

.../tests/platform_helper/test_command_copilot.py:436: in test_exit_if_no_local_copilot_services
    assert "No services found in ./copilot/; exiting" in result.output
E   assert 'No services found in ./copilot/; exiting' in ''
E    +  where '' = <Result TypeError("CopilotProvider.__init__() missing 1 required positional argument: 'app'")>.output

tests/platform_helper/test_command_copilot.py::TestMakeAddonsCommand::test_exit_if_no_local_copilot_environments

Stack Traces | 0.032s run time

.../tests/platform_helper/test_command_copilot.py:654: in test_exit_if_no_local_copilot_environments
    assert "No environments found in ./copilot/environments; exiting" in result.output
E   assert 'No environments found in ./copilot/environments; exiting' in ''
E    +  where '' = <Result TypeError("CopilotProvider.__init__() missing 1 required positional argument: 'app'")>.output

To view more test analytics, go to the Test Analytics Dashboard
:loudspeaker:  Thoughts on this report? Let us know!


[Enhancement] Encode modification time to cache key.

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 9 / 12 (75.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/FileTableScanNode.java
0
1
00.00%
[97]

:large_blue_circle:
com/starrocks/connector/RemoteScanRangeLocations.java
0
1
00.00%
[122]

:large_blue_circle:
com/starrocks/connector/hudi/HudiRemoteFileIO.java
0
1
00.00%
[95]

:large_blue_circle:
com/starrocks/connector/RemoteFileDesc.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/connector/hive/HiveRemoteFileIO.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/planner/IcebergScanNode.java
1
1
100.00%
[]


Stable releases?

Thank you for your work on this project!
It would be very helpful for us if you had releases, release branches, or some kind of versioning so we aren't all pulling directly from main which right now looks like the active development branch.
https://semver.org/

I'm well aware 😉
In fact the current development cycle is intended to achieve just that, a first tagged release. After working on taoPQ on and off for the last years and after finally getting enough experience with the implications of the binary format and the lack of support from PostgreSQL's side, I am not confident that I can finish up the last remaining details and, of course, add some documentation for all the basics (which is actually a requirement for semantic versioning). I hope to have some time soon to finish the documentation, a first pre-1.0-release will be tagged soon after.
This might also be the time for you and others to review the current state of taoPQ, run tests, give feedback, anything really.


Help with target filtering

Hello, i think that this plugin is quite amazing, but i have a small problem where i need to filter the target i want to scroll and i don't quite understand how to write it in the filterTarget method.
I want to be able to drag only ONE div with a particular id inside the wrapper, not all contents.

not sure off the top of my head but try either setting the scroll position on the wrapper before you initialize .kinetic()


[Device Support Request] TZE200_ntcy3xu1 Smoke Detector (Tuya)

Unable to get this device add to ZHA or Z2MQTT (TZE200_ntcy3xu1 TS0601)

No entities available
At least Smoke Alarm and Battery support would be great
Got 3 Smoke Detectors, maybe possible to make a group if 1 goes on all others also go on :)

Link to the product: https://nl.aliexpress.com/item/1005004028271868.html?spm=a2g0o.detail.1000014.6.60ea58e9JKBVqU&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.40050.274735.0&scm_id=1007.40050.274735.0&scm-url=1007.40050.274735.0&pvid=88b4e6bd-d89d-40be-8c8c-daf880cd73b7&_t=gps-id:pcDetailBottomMoreOtherSeller,scm-url:1007.40050.274735.0,pvid:88b4e6bd-d89d-40be-8c8c-daf880cd73b7,tpp_buckets:668%232846%238114%231999&pdp_ext_f=%257B%2522sku_id%2522%253A%252212000027793000075%2522%252C%2522sceneId%2522%253A%252230050%2522%257D&pdp_pi=-1%253B5.55%253B-1%253B-1%2540salePrice%253BEUR%253Brecommend-recommend
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_rsp: [<Status.SUCCESS: 0>]
[0x0000:zdo] No handler for ZDO request:ZDOCmd.Mgmt_Permit_Joining_rsp([<Status.SUCCESS: 0>])
New device 0xaaf3 (a4:c1:38:0e:9d:6f:69:67) joined the network
[0xaaf3] Scheduling initialization
Received frame on uninitialized device  from ep 0 to ep 0, cluster 19: b'\x07\xf3\xaagio\x9d\x0e8\xc1\xa4\x80'
[0xaaf3:zdo] ZDO request ZDOCmd.Device_annce: [0xAAF3, a4:c1:38:0e:9d:6f:69:67, 128]
Tries remaining: 3
[0xaaf3] Requesting 'Node Descriptor'
Tries remaining: 2
[0xaaf3] Extending timeout for 0xd2 request
Received frame on uninitialized device  from ep 0 to ep 0, cluster 32770: b'\xd2\x00\xf3\xaa\x02@\x80A\x11BB\x00\x00*B\x00\x00'
[0xaaf3] 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=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)
[0xaaf3] Discovering endpoints
Tries remaining: 3
[0xaaf3] Extending timeout for 0xd3 request
Received frame on uninitialized device  from ep 0 to ep 0, cluster 32773: b'\xd3\x00\xf3\xaa\x01\x01'
[0xaaf3] Discovered endpoints: [1]
[0xaaf3] Initializing endpoints [<Endpoint id=1 in=[] out=[] status=<Status.NEW: 0>>]
[0xaaf3:1] Discovering endpoint information
Tries remaining: 3
[0xaaf3] Extending timeout for 0xd4 request
Received frame on uninitialized device  from ep 0 to ep 0, cluster 32772: b'\xd4\x00\xf3\xaa\x14\x01\x04\x01Q\x00\x01\x04\x04\x00\x05\x00\x00\xef\x00\x00\x02\x19\x00\n\x00'
[0xaaf3:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=81, device_version=1, input_clusters=[4, 5, 61184, 0], output_clusters=[25, 10])
Unknown cluster 0xEF00
[0xAAF3:1:0x0000] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=213, command_id=<GeneralCommand.Read_Attributes: 0>, *is_reply=False)
[0xAAF3:1:0x0000] Sending request: Read_Attributes(attribute_ids=[4, 5])
[0xaaf3] Extending timeout for 0xd5 request
[0xAAF3:1:0x0000] Received ZCL frame: b'\x18\xD5\x01\x04\x00\x00\x42\x10\x5F\x54\x5A\x45\x32\x30\x30\x5F\x6E\x74\x63\x79\x33\x78\x75\x31\x05\x00\x00\x42\x06\x54\x53\x30\x36\x30\x31'
[0xAAF3:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=213, command_id=1, *is_reply=True)
[0xAAF3:1:0x0000] Decoded ZCL frame: Basic:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0004, status=<Status.SUCCESS: 0>, value=TypeValue(type=CharacterString, value='_TZE200_ntcy3xu1')), ReadAttributeRecord(attrid=0x0005, status=<Status.SUCCESS: 0>, value=TypeValue(type=CharacterString, value='TS0601'))])
[0xaaf3] Read model 'TS0601' and manufacturer '_TZE200_ntcy3xu1' from <Endpoint id=1 in=[groups:0x0004, scenes:0x0005, None:0xEF00, basic:0x0000] out=[ota:0x0019, time:0x000A] status=<Status.ZDO_INIT: 1>>
[0xaaf3] Discovered basic device information for
Device is initialized
Checking quirks for _TZE200_ntcy3xu1 TS0601 (a4:c1:38:0e:9d:6f:69:67)
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1}
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because device_type mismatch on at least one endpoint
'sensor' component -> 'RSSISensor' using ['basic']
'sensor' component -> 'LQISensor' using ['basic']
device - 0xAAF3:a4:c1:38:0e:9d:6f:69:67 entering async_device_initialized - is_new_join: True
device - 0xAAF3:a4:c1:38:0e:9d:6f:69:67 has joined the ZHA zigbee network
0xAAF3: started configuration
0xAAF3:ZDO: 'async_configure' stage succeeded
[0xAAF3:1:0x0000]: finished channel configuration
[0xAAF3:1:0x0019]: finished channel configuration
Error handling '_save_attribute' event with (a4:c1:38:0e:9d:6f:69:67, 1, 0, 4, 'TZE200_ntcy3xu1') params: FOREIGN KEY constraint failed
[0xAAF3:1:0x0000]: 'async_configure' stage succeeded
[0xAAF3:1:0x0019]: 'async_configure' stage succeeded
Error handling 'save_attribute' event with (a4:c1:38:0e:9d:6f:69:67, 1, 0, 5, 'TS0601') params: FOREIGN KEY constraint failed
0xAAF3: completed configuration
0xAAF3: stored in registry: ZhaDeviceEntry(name='TZE200_ntcy3xu1 TS0601', ieee='a4:c1:38:0e:9d:6f:69:67', last_seen=1649867790.7504046)
0xAAF3: started initialization
0xAAF3:ZDO: 'async_initialize' stage succeeded
[0xAAF3:1:0x0000]: initializing channel: from_cache: False
[0xAAF3:1:0x0000]: finished channel initialization
[0xAAF3:1:0x0019]: initializing channel: from_cache: False
[0xAAF3:1:0x0019]: finished channel initialization
[0xAAF3:1:0x0000]: 'async_initialize' stage succeeded
[0xAAF3:1:0x0019]: 'async_initialize' stage succeeded
0xAAF3: power source: Battery or Unknown
0xAAF3: completed initialization
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB4\x02\x00\x5C\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=180, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 180): b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB4\x02\x00\x5C\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=180, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 180): b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB4\x02\x00\x5C\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=180, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 180): b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB4\x02\x00\x5C\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=180, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 180): b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB4\x02\x00\x5C\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=180, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 180): b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB4\x02\x00\x5C\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=180, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 180): b'\x00\\x01\x04\x00\x01\x01'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\\x01\x04\x00\x01\x01'
[0xB3A6:1:0x0b04]: async_update
[0xB3A6:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=214, command_id=<GeneralCommand.Read_Attributes: 0>, *is_reply=False)
[0xB3A6:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
[0xB3A6:1:0x0b04] Received ZCL frame: b'\x18\xD6\x01\x0B\x05\x00\x29\x00\x00\x08\x05\x00\x21\x00\x00\x05\x05\x00\x21\xE8\x00'
[0xB3A6:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=214, command_id=1, *is_reply=True)
[0xB3A6:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=int16s, value=0)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=232))])
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB5\x02\x00\x5D\x0E\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=181, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00]\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 181): b'\x00]\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00]\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB6\x02\x00\x5E\x0E\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=182, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00^\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 182): b'\x00^\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00^\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB7\x02\x00\x5F\x0E\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=183, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 183): b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xB8\x11\x00\x37\x40'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=184, command_id=17, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 17 b'\x007@'
[0xAAF3:1:0xef00] Received command 0x11 (TSN 184): b'\x007@'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x11: b'\x007@'
[0xAAF3:1:0x0000] Received ZCL frame: b'\x08\xB9\x0A\x01\x00\x20\x48\xE2\xFF\x20\x38\xE4\xFF\x20\x00'
[0xAAF3:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=185, command_id=10, *is_reply=True)
[0xAAF3:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=72)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=56)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))])
[0xAAF3:1:0x0000] Received command 0x0A (TSN 185): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=72)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=56)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))])
[0xAAF3:1:0x0000] Attribute report received: app_version=72, 0xFFE2=56, 0xFFE4=0
[0xAAF3:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=185, command_id=<GeneralCommand.Default_Response: 11>, *is_reply=True)
[0xAAF3:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xBA\x02\x00\x60\x0E\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=186, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\x0e\x04\x00\x01\x02' [0xAAF3:1:0xef00] Received command 0x02 (TSN 186): b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\x0e\x04\x00\x01\x02' [0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xBA\x02\x00\x60\x0E\x04\x00\x01\x02' [0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=186, command_id=2, *is_reply=True) [0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 186): b'\x00\x0e\x04\x00\x01\x02' [0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xBA\x02\x00\x60\x0E\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=186, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\x0e\x04\x00\x01\x02' [0xAAF3:1:0xef00] Received command 0x02 (TSN 186): b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\x0e\x04\x00\x01\x02' [0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xBA\x02\x00\x60\x0E\x04\x00\x01\x02' [0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=186, command_id=2, *is_reply=True) [0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 186): b'\x00\x0e\x04\x00\x01\x02' [0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xBB\x02\x00\x61\x0E\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=187, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00a\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 187): b'\x00a\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00a\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received ZCL frame: b'\x09\xBC\x02\x00\x62\x0E\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=188, command_id=2, *is_reply=True)
[0xAAF3:1:0xef00] Unknown cluster command 2 b'\x00b\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] Received command 0x02 (TSN 188): b'\x00b\x0e\x04\x00\x01\x02'
[0xAAF3:1:0xef00] No explicit handler for cluster command 0x02: b'\x00b\x0e\x04\x00\x01\x02'
[0xB3A6:1:0x0b04]: async_update
[0xB3A6:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=215, command_id=<GeneralCommand.Read_Attributes: 0>, *is_reply=False)
[0xB3A6:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
[0xB3A6:1:0x0b04] Received ZCL frame: b'\x18\xD7\x01\x0B\x05\x00\x29\x00\x00\x08\x05\x00\x21\x00\x00\x05\x05\x00\x21\xE9\x00'
[0xB3A6:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=215, command_id=1, *is_reply=True)
[0xB3A6:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=int16s, value=0)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=233))])
[0xAAF3:1:0x000a] Received ZCL frame: b'\x00\xBD\x00\x07\x00'
[0xAAF3:1:0x000a] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=189, command_id=0, *is_reply=False)
[0xAAF3:1:0x000a] Decoded ZCL frame: Time:Read_Attributes(attribute_ids=[7])
[0xAAF3:1:0x000a] Received command 0x00 (TSN 189): Read_Attributes(attribute_ids=[7])
[0xAAF3:1:0x000a] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=189, command_id=<GeneralCommand.Read_Attributes_rsp: 1>, *is_reply=True)
[0xAAF3:1:0x000a] Sending reply: Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0007, status=<Status.SUCCESS: 0>, value=TypeValue(type=LocalTime, value=703190233))])
[0xAAF3:1:0x0000] Received ZCL frame: b'\x08\xBE\x0A\xDF\xFF\x42\x23\x79\xD4\xE9\x29\x13\xA8\xD4\xE9\x29\x65\xA9\xD4\xE9\x29\x12\xB1\xD4\xE9\x29\x69\xB3\xD4\xE9\x29\x69\xB4\xD4\xE9\x29\x69\xB5\xD4\xE9\x29\x69'
[0xAAF3:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=190, command_id=10, *is_reply=True)
[0xAAF3:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0xFFDF, value=TypeValue(type=CharacterString, value='y  )\x13   )e   )\x12   )i   )i   )i   )i'))])
[0xAAF3:1:0x0000] Received command 0x0A (TSN 190): Report_Attributes(attribute_reports=[Attribute(attrid=0xFFDF, value=TypeValue(type=CharacterString, value='y  )\x13   )e   )\x12   )i   )i   )i   )i'))])
[0xAAF3:1:0x0000] Attribute report received: 0xFFDF='y  )\x13   )e   )\x12   )i   )i   )i   )i'
[0xAAF3:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=190, command_id=<GeneralCommand.Default_Response: 11>, *is_reply=True)
[0xAAF3:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0xAAF3:1:0x0000] Received ZCL frame: b'\x08\xBF\x0A\xDF\xFF\x42\x32\x79\xD4\xE9\x29\x13\xA8\xD4\xE9\x29\x65\xA9\xD4\xE9\x29\x12\xB1\xD4\xE9\x29\x69\xB3\xD4\xE9\x29\x69\xB4\xD4\xE9\x29\x69\xB5\xD4\xE9\x29\x69\xBD\xD4\xE9\x29\x69\xC8\xD4\xE9\x29\x69\xD2\xD4\xE9\x29\x69'
[0xAAF3:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=191, command_id=10, *is_reply=True)
[0xAAF3:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0xFFDF, value=TypeValue(type=CharacterString, value='y  )\x13   )e   )\x12   )i   )i   )i   )i   )i   )i   )i'))])
[0xAAF3:1:0x0000] Received command 0x0A (TSN 191): Report_Attributes(attribute_reports=[Attribute(attrid=0xFFDF, value=TypeValue(type=CharacterString, value='y  )\x13   )e   )\x12   )i   )i   )i   )i   )i   )i   )i'))])
[0xAAF3:1:0x0000] Attribute report received: 0xFFDF='y  )\x13   )e   )\x12   )i   )i   )i   )i   )i   )i   )i'
[0xAAF3:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=191, command_id=<GeneralCommand.Default_Response: 11>, *is_reply=True)
[0xAAF3:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0xB3A6:1:0x0b04]: async_update
[0xB3A6:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=216, command_id=<GeneralCommand.Read_Attributes: 0>, *is_reply=False)
[0xB3A6:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
[0xB3A6:1:0x0b04] Received ZCL frame: b'\x18\xD8\x01\x0B\x05\x00\x29\x00\x00\x08\x05\x00\x21\x00\x00\x05\x05\x00\x21\xE8\x00'
[0xB3A6:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=216, command_id=1, *is_reply=True)
[0xB3A6:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=int16s, value=0)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=232))])
[0xB3A6:1:0x0b04]: async_update
[0xB3A6:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=217, command_id=<GeneralCommand.Read_Attributes: 0>, *is_reply=False)
[0xB3A6:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
[0xB3A6:1:0x0b04] Received ZCL frame: b'\x18\xD9\x01\x0B\x05\x00\x29\x00\x00\x08\x05\x00\x21\x00\x00\x05\x05\x00\x21\xE8\x00'
[0xB3A6:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=217, command_id=1, *is_reply=True)
[0xB3A6:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=int16s, value=0)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=232))])

Can you post the device signature?

{
"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=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0051",
"in_clusters": [
"0x0000",
"0x0004",
"0x0005",
"0xef00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZE200_ntcy3xu1",
"model": "TS0601",
"class": "zigpy.device.Device"
}

Did you try applying the quirk I posted? According to the device signature it should work.

e quirk I posted? According to the device signature it should work.

Figuring out right now howto to that haha. Just made a folder and uploaded the .py file. ZHA doesn't work anymore so still looking how to fix that so i can test again ^^

@mwitlox Here is an explanation how to do it: https://github.com/zigpy/zha-device-handlers/discussions/693#discussioncomment-857274
ZHA can also stop working when the quirk has an error -> look in the logs about it.

@Tropaion
Logger: homeassistant.config_entries
Source: custom_zha_quirks/ts0601_smoke.py:22
First occurred: 21:06:55 (1 occurrences)
Last logged: 21:06:55
Error setting up entry Sonoff Zigbee 3.0 USB Dongle Plus, s/n: 2001c85f6f3bec1196259e957a0af07f - ITead for zha
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
result = await component.async_setup_entry(hass, self)
File "/usr/src/homeassistant/homeassistant/components/zha/init.py", line 99, in async_setup_entry
setup_quirks(config)
File "/usr/local/lib/python3.9/site-packages/zhaquirks/init.py", line 409, in setup
importer.find_module(modname).load_module(modname)
File "", line 529, in _check_name_wrapper
File "", line 1029, in load_module
File "", line 854, in load_module
File "", line 274, in _load_module_shim
File "", line 711, in _load
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/config/custom_zha_quirks/ts0601_smoke.py", line 22, in
from . import TuyaManufCluster, TuyaManufClusterAttributes
ImportError: attempted relative import with no known parent package

Ok now i got this
Logger: homeassistant.config_entries
Source: zha_quirks/ts0601_smoke.py:83
First occurred: 21:25:57 (1 occurrences)
Last logged: 21:25:57
Error setting up entry Sonoff Zigbee 3.0 USB Dongle Plus, s/n: 2001c85f6f3bec1196259e957a0af07f - ITead for zha
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
result = await component.async_setup_entry(hass, self)
File "/usr/src/homeassistant/homeassistant/components/zha/init.py", line 99, in async_setup_entry
setup_quirks(config)
File "/usr/local/lib/python3.9/site-packages/zhaquirks/init.py", line 409, in setup
importer.find_module(modname).load_module(modname)
File "", line 529, in _check_name_wrapper
File "", line 1029, in load_module
File "", line 854, in load_module
File "", line 274, in _load_module_shim
File "", line 711, in _load
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/config/zha_quirks/ts0601_smoke.py", line 73, in
class TuyaSmokeDetector0601(CustomDevice):
File "/config/zha_quirks/ts0601_smoke.py", line 83, in TuyaSmokeDetector0601
("_TZE200_aycxwiau", "TS0601")
TypeError: 'tuple' object is not callable

Ok, I made another mistake, let's try again 😄 : ts0601_smoke.zip

@Tropaion Wauw this is working! Now at least i can see if there is a smoke alarm! Now i can test to make a group of 3 when 1 goes off all give alarm
Still need to learn more about this quirk stuff
Do you know if they also provide a battery status or something?

@mwitlox It should show battery percentage like this:

It would be nice if you could test and confirm that everything works, then I can add the work to ZHA

Hmm only got this
sensor.rookmelder_beneden_0406f16f_basic_lqi
sensor.rookmelder_beneden_0406f16f_basic_rssi
No battery

Weird, maybe try repairing the device.

Yeah just did that, got 3 of them. Maybe the battery type is not supported? Got 2 AAA batteries in these things

Normally it should show battery status. What does it say for the energy source? Mains or Battery/Unknown?
Maybe @MattWestb knows more about this device/case.

It says: Battery or Unknown

@mwitlox I'm not sure if this changes anything, but if you have time, try this: motion_ac02.zip

@Tropaion I have time, just drinking some beer playing around with HA and stuff. Thanks for the support so far!
When i add the file and reboot i get this error again:
Error setting up entry Sonoff Zigbee 3.0 USB Dongle Plus, s/n: 2001c85f6f3bec1196259e957a0af07f - ITead for zha
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
result = await component.async_setup_entry(hass, self)
File "/usr/src/homeassistant/homeassistant/components/zha/init.py", line 99, in async_setup_entry
setup_quirks(config)
File "/usr/local/lib/python3.9/site-packages/zhaquirks/init.py", line 409, in setup
importer.find_module(modname).load_module(modname)
File "", line 529, in _check_name_wrapper
File "", line 1029, in load_module
File "", line 854, in load_module
File "", line 274, in _load_module_shim
File "", line 711, in _load
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/config/zha_quirks/motion_ac02.py", line 40, in
class MotionT1(XiaomiCustomDevice):
File "/config/zha_quirks/motion_ac02.py", line 71, in MotionT1
NODE_DESCRIPTOR: zigpy.zdo.types.NodeDescriptor(
NameError: name 'NODE_DESCRIPTOR' is not defined

Sorry, posted the wrong file, wanted to post this one: ts0601_smoke.zip 😥

Got this:
Error setting up entry Sonoff Zigbee 3.0 USB Dongle Plus, s/n: 2001c85f6f3bec1196259e957a0af07f - ITead for zha
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
result = await component.async_setup_entry(hass, self)
File "/usr/src/homeassistant/homeassistant/components/zha/init.py", line 99, in async_setup_entry
setup_quirks(config)
File "/usr/local/lib/python3.9/site-packages/zhaquirks/init.py", line 409, in setup
importer.find_module(modname).load_module(modname)
File "", line 529, in _check_name_wrapper
File "", line 1029, in load_module
File "", line 854, in load_module
File "", line 274, in _load_module_shim
File "", line 711, in _load
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/config/zha_quirks/ts0601_smoke.py", line 74, in
class TuyaSmokeDetector0601(CustomDevice):
File "/config/zha_quirks/ts0601_smoke.py", line 106, in TuyaSmokeDetector0601
NODE_DESCRIPTOR: zigpy.zdo.types.NodeDescriptor(
NameError: name 'NODE_DESCRIPTOR' is not defined

There was a missing import:
ts0601_smoke.zip

The current NODE_DESCRIPTOR seems good to me (mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, *is_mains_powered=False), so I think that there is no need to include it on the replacement part.
Since device don't have a PowerConfiguration cluster I'm not sure how you should report it for HA to expose the value. I'll see if I can figure it out.
Please go back to the working version of the quirk and check if there are any errors in the traces that might give us a clue as to what might be going on.
Regards.

@Tropaion can you tell me which cluster/attribute reports the battery status?

@javicalle I don't know, I don't have the device 😕

Ahhh, I supposed from a previous comment.
Then it is not sure that this device will ever reported its battery status... 🤔

Yes, I think the device simply doesn't do it, since it doesn't have a PowerConfiguration cluster
I will just PR the quirk like this.

It could be that device reports low_battery alt DP: 14
Other posible DPs for this device are:
    wooxSwitch: 102,
    wooxBattery: 14,
    wooxSmokeTest: 8,

But not sure because they aren't in the current version...
@mwitlox can you try to enable debug logs, remove and put battery to the device and attache the logs?

@javicalle
I tried enable debug.. do you have a example howto debug only one device the right way?
logger:
default: info
logs:
zigpy.application: debug
zigpy_znp.zigbee.application: debug
Only Info is logged. Think i am doing something wrong :(
2022-04-19 19:54:20 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 1 of 5
2022-04-19 19:54:22 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 2 of 5
2022-04-19 19:54:24 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 3 of 5
2022-04-19 19:54:24 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 4 of 5
2022-04-19 19:54:25 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 5 of 5
2022-04-19 19:54:59 INFO (MainThread) [zigpy_znp.zigbee.application] ZDO device announce: nwk=0xB667, ieee=a4:c1:38:fa:6f:f1:06:04, capabilities=128
2022-04-19 19:54:59 INFO (MainThread) [zigpy.application] Device 0xb667 (a4:c1:38:fa:6f:f1:06:04) joined the network
2022-04-19 19:54:59 INFO (MainThread) [zigpy_znp.zigbee.application] TC device join: ZDO.TCDevInd.Callback(SrcNwk=0xB667, SrcIEEE=a4:c1:38:fa:6f:f1:06:04, ParentNwk=0x0000)
2022-04-19 19:54:59 INFO (MainThread) [zigpy.application] Device 0xb667 (a4:c1:38:fa:6f:f1:06:04) joined the network
There is also a button on the device. When it's mounted it clicks and does something. Some sort of check

@mwitlox Enable debugging like this:
logger:
  default: info
  logs:
    zigpy: debug
    zhaquirks: debug

do you have a example howto debug only one device the right way?

It's not possible to debug just one device. Enable the logs perform some actions and disable.
Logs can be setted (in mode YAML) from the logger.set_level service in developer tools section.

HA Debug Zig 19-14-2022.txt

@mwitlox have you tried to remove and put batteries from device while having debug traces? I can't see any report. If you already done, we can suppose that device is not reporting battery status. Maybe only low battery status (when battery will be low).

The device is reporting 3 DP:

DP1: command_id=1025 used in TuyaIasZone cluster ✅
DP4: command_id=260 settled in attribute 0x0104 reports values 1/0
DP14: command_id=1038 settled in attribute 0x040e always with value 2

DP4 can be a tamper sensor (IasZone.ZoneStatus.Tamper). Not implemented in any quirk.
Maybe DP14 is some discrete battery level (good, med, low), but it's just a guess. Some implementations are giving fake battery levels in function of this value (ex: good=100%, med=20%, low =1%). Not sure if there is a better way to make it accesible in HA.

I've just received one of the same sensors, and the quirk here works, thanks!
Playing around a little bit I think I those can confirm those values a little.
The 0x0104 attribute is the tamper sensor. It sets to 1 when the backplate is off, and 0 when put back on and the tamper button gets pressed in. Funnily though mine wasn't being reliable and I discovered it's stuck, I need to give it a jolt to realise the cover is off and send 1.
0x040e does seem like it's a battery quality type thing. With fresh batteries it reports 2 on every update of anything else. Then I swapped one almost dead battery in, and it reported 0 once when it started up, but then didn't report again ever.  It reported 2 just like brand new batteries for a few minutes, until it reported 0 just once and stopped again.
I suppose 0 does mean very low battery, then it stops sending updates (maybe to save battery). I haven't seen 1 yet.

DP4: command_id=260 settled in attribute 0x0104 reports values 1/0 could be something like: 0 Mounted 1 Unmounted
DP14: command_id=1038 settled in attribute 0x040e always with value 2 Battery 100% 1 Battery 50% 0 Replace Battery 0-10%
Something strange happend today. I have a few sockets with power monitoring. Seems like it somehow uses the same quirk now as the smoke detectors. But i didn't change the socket or readd the socket. Sorry if my knowledge from zigbee devices is limited. Just a year ago i only used Tasmota Wifi devices. Maybe i need to change something? Can someone help with this?

{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x010a",
"in_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0702",
"0x0b04",
"0xe000",
"0xe001"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZ3000_gjnozsaz",
"model": "TS011F",
"class": "zhaquirks.tuya.ts011f_plug.Plug"
}

Just turned quirks off then it works again but stil saying zhaquirks.tuya.ts011f_plug.Plug

I don't understand the problem, the smoke detector quirk is ts0601_smoke and the device you should is TS011F and uses the quirk ts011f_plug, which is the right one and not even a custom quirk.

@Tropaion
When i enable this:

All the TS011F sockets don't work properly anymore

Ok sorry forget it. I readd the device, reboot HA serval times now all works again. Maybe something to do with todays update HA Core 2022.4.6
Back to the Smoke sensors.

I'm not familiar with the Zigbee IasZone cluster.
Also not familiar with the cluster behaviour in HA.
But... what do you think about something like?:
TUYA_SMOKE_DETECTED_ATTR = 0x0401  # [0]/[1] [Detected]/[Clear]!
TUYA_SMOKE_TAMPED_ATTR = 0x0104  # [0]/[1] [Clear]/[Tamped]!
TUYA_SMOKE_BATTERY_ATTR = 0x040e  # [0]/[1]/[2] [Low]/[Med]]/[Full]!

class TuyaSmokeDetectorCluster(TuyaManufClusterAttributes):
    """Manufacturer Specific Cluster of the TS0601 smoke detector."""

    attributes = {
        TUYA_SMOKE_DETECTED_ATTR: ("smoke_detected", t.uint8_t, True),
        TUYA_SMOKE_TAMPED_ATTR: ("tamped_device", t.uint8_t, True),
        TUYA_SMOKE_BATTERY_ATTR: ("battery_status", t.uint8_t, True),
    }

    def _update_attribute(self, attrid, value):
        super()._update_attribute(attrid, value)
        if attrid == TUYA_SMOKE_DETECTED_ATTR:
            if value == 0:
                self.endpoint.device.ias_bus.listener_event(
                    "update_zone_status", IasZone.ZoneStatus.Alarm_1
                )
            else:
                self.endpoint.device.ias_bus.listener_event("update_zone_status", 0)
        elif attrid == TUYA_SMOKE_TAMPED_ATTR:
            if value == 1:
                self.endpoint.device.ias_bus.listener_event(
                    "update_zone_status", IasZone.ZoneStatus.Tamper
                )
            else:
                self.endpoint.device.ias_bus.listener_event("update_zone_status", 0)
        elif attrid == TUYA_SMOKE_BATTERY_ATTR:
            if value == 0:
                self.endpoint.device.ias_bus.listener_event(
                    "update_zone_status", IasZone.ZoneStatus.Battery
                )
            else:
                self.endpoint.device.ias_bus.listener_event("update_zone_status", 0)
        else:
            _LOGGER.warning(
                "[0x%04x:%s:0x%04x] unhandled attribute: 0x%04x",
                self.endpoint.device.nwk,
                self.endpoint.endpoint_id,
                self.cluster_id,
                attrid,
            )

Could do the job?
I don't know if this would be the 'standar' way to manage all the others device alerts (tamper, battery) but I don't think that a cluster for every alert would be the way to go.

I'm in on this. I can't contribute with much more than a virtual beer, but this looks nice so far.
The tamper and battery integration would be so awesome! I too see those when i manually go in the cluster section. I'm just too noob to know how to make use of it from there sorry.
But i'm definitely looking forward to see a complete quirk with alle 3 sensors. :)

this would be the 'standar' way to manage all the others device alerts (tamper, battery) but I don't think that a cluster for every alert would be the way to go.

TUYA_SMOKE_DETECTED_ATTR = 0x0401  # [0]/[1] [Detected]/[Clear]!
TUYA_SMOKE_TAMPED_ATTR = 0x0104  # [0]/[1] [Clear]/[Tamped]!
TUYA_SMOKE_BATTERY_ATTR = 0x040e  # [0]/[1]/[2] [Low]/[Med]]/[Full]!
If this is possible with these smoke sensors this will be a great thing and the maximum that can be achieve i think. Let me know if i can test another quirk

Did anyone make any progress on this one? I tried @mwitlox 's suggested change to the quirk, but no success

Which part are you asking about?
The smoke detector must be already supported.
The extra detector status will require some implementation in HA and had not progressed.

Sorry for not being clear, yes the extra sensors like battery etc


Set a error when the input text is empty

I try to set a error message saying that the input text is empty and it does not appear because it need at least one character to display the error message.

fixed in release 1.3.4 :)


Move write_manufacturer_specific_attribute from added to doConfigure event

…
fix issue that motion detection doesn't work after reonboarding
https://smartthings.atlassian.net/browse/WASH-2068

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Added draft version of X-forwarding feature

Closing in favour of  https://github.com/spring-cloud/spring-cloud-commons/pull/1027.


Handle nullable param type where default isn't null

On https://github.com/D3R/soho-products output using master is
 php vendor/bin/phpdoccheck --directory=./src                                                                                12:04:51

PHP Docblock Checker by Dan Cryer (https://www.dancryer.com)

...W......................W....

Checked 31 files in 0.18 seconds.
31 Passed / 0 Errors / 4 Warnings / 0 Info

WARNING  Soho\Products\Base\Tools\Maths\Convert::cmToInches - @param $round (int|null)  does not match method signature (int).
WARNING  Soho\Products\Base\Tools\Maths\Convert::cmToFeetAndInches - @param $round (int|null)  does not match method signature (int).
WARNING  Soho\Products\Base\Tools\Maths\Convert::kilogramsToPounds - @param $round (int|null)  does not match method signature (int).
WARNING  Soho\Products\Base\Model\Stock::updateStockRecord - @param $storeId (string|null)  does not match method signature (string).

But using this branch it is
 php vendor/bin/phpdoccheck --directory=./src                                                                                12:05:45

PHP Docblock Checker by Dan Cryer (https://www.dancryer.com)

...............................

Checked 31 files in 0.19 seconds.
31 Passed / 0 Errors / 0 Warnings / 0 Info

@neild3r it is now tested and ready.

Replaced by https://github.com/neild3r/php-docblock-checker/pull/1.


Why is _missingManifestCache in ResourceManagerStringLocalizer

Why is _missingManifestCache in ResourceManagerStringLocalizer. Because ResourceManagerStringLocalizer is Transient. Now it is not likely to cache anything
 services.TryAdd(new ServiceDescriptor(
                typeof(IStringLocalizerFactory),
                typeof(ResourceManagerStringLocalizerFactory),
                ServiceLifetime.Singleton));
            services.TryAdd(new ServiceDescriptor(
                typeof(IStringLocalizer<>),
                typeof(StringLocalizer<>),
                ServiceLifetime.Transient));

IMHO missingManifestCache  is a ConcurrentDictionary to cache the missing requested keys instead of going back and forth to the disk, asking the ResourceManager each time for a missing resources is expensive while there are nt exist at all. I think this a clear solution and that's why it's there

No, Now you get a new empty cache object for every request. With 2 request the disk is accessed 2 times.
This will only work If the cache was placed in the factory or the IStringLocalizer was a singleton
Maybe I use this object wrong
I used this in my home controller
public HomeController(IStringLocalizer<HomeController> loc)
        {
            _loc = loc;
        }

@Anderman we took a look at this issue and we believe there's no bug here because the code is always run on a single thread anyway. But this did reveal that there's no need to use a ConcurrentDictionary at all here, so we'll change that to a regular dictionary in https://github.com/aspnet/Localization/issues/156.
Thanks!


Dependency Injection

The \Zettacast\Injector module should be compatible with PSR-11's \Psr\Container\ContainerInterface. Some projects using dependency injection, such as Pimple and PHP-DI may help us when building our injector interface.

Also, a correct way of caching the framework bindings should be implemented. Currently, this is done in \Zettacast\Zettacast.


Support multiple fiat currency types

Shopify can pass us a currency type that a merchant is set up to support. If we're going to allow these merchants to use the app, we need to figure out how to convert that price to USDC value.

added support here with a coin gecko api integration, closing


Fix QR info width in client app

Fix the info part at the top to be wider.
Current display :

bug resolved in merge #250


srcset: failed to parse srcset

e.g.
<img srcset="image.png, image.png@2x 1x" >

throws error in Vite
Error: failed to load module for ssr: /src/img/image.png,

The srcset regex seems to include the , character in the capture group: https://regex101.com/r/rUtHOq/1
https://github.com/bluwy/svelte-preprocess-import-assets/blob/8be2cdfed2c8ce8065cb7af0cfed998552bd54e1/src/index.ts#L147
Thanks for this library!

Thanks for the report! I've fixed the regex and released 0.1.6.


Partial Support for latest

It could be nice to have support for the latest version of the game, with minimal features enabled etc (e.g. no input handling etc), while also not moving amethyst entirely to a version.
That way some mods that are smaller in size can be updated to trail latest stable release. I'm not entirely sure how this will be able to be managed on git, we can make a fork and make changes to that branch etc, but im not sure if we can properly keep that branch updated from main?
As of current I want to keep working on 1.20.51 until I have gotten most of the stuff I want to explore and do in amethyst

Well, this gives us the question again, is it worth it?
Afaik there are no mods that might use this..
So idk if we really need it ~ we might still be better off expanding <IP_ADDRESS>


[Copy Path] ... Add exceptions

Extension
https://www.raycast.com/koinzhang/copy-path
Description
I would love to be able to have set exception of forbidding copying from some apps I want
Who will benefit from this feature?
No response
Anything else?
No response

Hi @AISLVE. Currently this extension will only copy content from the Finder and Browser, when the foremost app is another app, it will just pop up a Toast alert and won't copy anything.
If you mean you want to disable the display of the Toast when the foremost app is another app, I'll provide a setting to do so.

so i use arc and when i try to copy the url of little arc it doesn't do so rather it copies other window's url

For Arc Browser, it is true that you can't get the current window URL if you are currently opening the window with Peek Links, this is because Peek Links is an Arc-exclusive capability.

yeah that's why i am asking for the feature to exclude certain apps since arc already has the ability to copy url with cmd + shift + c

Excluding certain apps may not solve your problem
I understand what you mean is to have the extension provide an ability to exclude Arc, then add a shortcut Shift+CMD+C for the command, and then use Shift+CMD+C in Arc to copy to the URL.
This cannot be achieved because if you set the shortcut key of Shift+CMD+C for the command, even if I provide the exclusion function, the shortcut key will be occupied in Arc and the ability to copy the URL that comes with Arc cannot be called.

no it can be achieved so i use paletro whose shortcut i have set as ⌘ + shift + C and have disabled it for vscode so i can use it's native command palette(⌘ + shift + P) and that works like a charm

The problem we are encountering now is that the URL of the Peek window of the Arc browser cannot be obtained through AppleScript, so Copy Path cannot obtain the URL of the Peek window, but it can be used normally for other types of Tab pages.

Excluding certain apps may not solve your problem I understand what you mean is to have the extension provide an ability to exclude Arc, then add a shortcut Shift+CMD+C for the command, and then use Shift+CMD+C in Arc to copy to the URL. This cannot be achieved because if you set the shortcut key of Shift+CMD+C for the command, even if I provide the exclusion function, the shortcut key will be occupied in Arc and the ability to copy the URL that comes with Arc cannot be called.

yeah, but have you tried excluding, it doesn't harm to try it, maybe they will work

oh i see i will just have to change the shortcut then thanks for the help by the way. i am closing the issue now if it's ok with you

Sorry, I don't have a way to improve this at the moment. Copy Path is a command I use every day, and I'm constantly improving it. Today I just submitted a PR #10984, which is about some improvements in copying URLs: Now you can select which part of the URL to copy

yeah mate i understand and really love it that's why i am still using it it's awesome tbh that raycast has such a wide number of plugins to use and it's thanks to devs like you, i have changed the shortcut to ⌘ + ⌥ + SHIFT + C