Confused Loading Presets in C++

| Required Info
| Camera Model                       |  D400 |
| Firmware Version                   | (2.18.0) |
| Operating System & Version |   Linux (Ubuntu 16 |
| Kernel Version (Linux Only)    |  (e.g. 4.4.0-143generic)                                         |
| Platform                                 | PC|
| SDK Version                            |  { legacy / 2.. }                          |
| Language                            |  {C++}                          |
Hello,
I am trying to fetch data from the depth sensor with 640x480 resolution, 60 FPS and of the presets activated. I am pretty confused by all the different ways  to set the preset. I want to load the preset in C++ API. I use the following code:
`//
//Construct a pipeline which abstracts the device
rs2::pipeline pipe;
//Create a configuration for configuring the pipeline with a non default profile
rs2::config cfg;

//Add desired streams to configuration

cfg.enable_stream(RS2_STREAM_DEPTH, 640, 480, RS2_FORMAT_Z16, 60);

//Instruct pipeline to start streaming with the requested configuration
auto profile = pipe.start(cfg);
auto sensor = profile.get_device().first<rs2::depth_sensor>();
sensor.set_option(rs2_option::RS2_OPTION_VISUAL_PRESET, rs2_rs400_visual_preset::RS2_RS400_VISUAL_PRESET_HAND);`

Will this work or do I have to activate advanced mode first? Is there a better way to load the preset?
And will it interfere with the fps and resolution?
Many thanks in advance

Hi @Alpatzino
Before using any presets, Advanced Mode must be enabled, once.
After that, doing sensor.set_option(RS2_OPTION_VISUAL_PRESET, x) and dev.as<advanced_mode>().load_json() will produce the same results.
Both calls will not augment FPS and resolution and only apply the relevant controls.

Thank you, I think I will get this to work. Best of luck :)


#1 [Accommodations] Add validation checking for vacanciesTaken <= vacanc…

@stolarekpiotr Please resolve the conflicts and let me know

@argasek Conflicts resolved


Decouple description generator from markdown engine

Description is generated by strip-markdown plugin. Since content-loader is now decoupled from markdown,  we should decouple the description generator too.
I suggest we use my original approach,  get processed HTML,  strip tags and get description.
Or we can provide another callback to let user generare their own description.

Totally.
Maybe, like current "renderer" option, we could have a "descriptionRenderer" option, with a default to what we are doing?

:+1: for default option. How about descriptionGenerator?

Not a fan about the term "generator".

Okie. That's fine.

Should be implemented as a collection-loader plugin. #260

Will handle this in #260.


Fixed crash on calling set_editor_draw without properly setup

Should fix #49531
It seems like there was a missing check for the validity of SkeletonModificationStack2D. No longer crashes on my end.

CC @TwistedTwigleg.
The fix is not wrong, but I'm not sure it fixes the real problem. The whole class seems to dereference stack without checks so it seems to assume that it's valid, and should probably make sure of it somehow (or checks should be added everywhere).

It's probably okay to merge this PR. What is likely happening is that the call to update happens before the modification stack is passed in, which causes it to crash.

Thanks!


Harakat chars not rendered properly

This is expected rendering with two dots underneath
فهي
This is what's being rendered. The issue is only present if the character is at the end of the word (middle casework fine)

I attached a screenshot for the Kasrah harakat but it appears as Fathah which is not correct :

PS> Fathah,  Shadah, and Dammah are rendered properly. I want to know is it possible to resolve issues 1, 2 above?

Issue 1 is probably caused by either using the persian Yeh letter instead of the Arabic one or having the "farsi" checkbox on in the RTLTextMeshPro inspector in which case the component replaces Arabic yeh's with  Farsi Yehs.
Issue 2 is probably caused by the font asset.
If you provide the font file and the font asset file I can investigate more. Does this happen only with Kaf letter or with all letters in that font?


[prim] Add a "clog2 width" function

$clog2() is commonly used to get the number of bits needed to
address a certain number of items, aka the width of a signal.
There's on special case that's often missed: $clog2(value) returns 0
if value == 1, leading synthesis failures for code like
logic [$clog2(value)-1:0] signal.
This commit adds a helper function to cover the value == 1 case
better by returning 1 in this case.

I know that this function will be useful in various places around our code base, but this PR doesn't convert any existing users yet.
What triggered me to add this functionality is #2419.
Naming: No really good names came to mind. I did call this function clog2_width() in the past, but went for bits_for_int() this time to make it closer to $bits() as defined in SV. I'm sure functionality like that exists in most internal helper libraries, so feel free to recommend better/more familiar names.

lgtm.
I can't think of a great name either, so whatever you have seems fine to me.
I guess I would have called it int_to_bits, but both seem equivalent.

I prefer the file extension being .svh if this file is intended to be included in a module. If not wrapping the function with package could be better in my opinion.

I thought a bit more about the name ...

I'm not a fan of int_to_bits or bits_from_int any more, as this indicates that the function returns the number of bits needed to represent an integer. That's not true; the function returns the number of bits needed to represent "integer - 1" (to account for the value "0")
I'm now trending towards something like "the number of bits needed to address a value". Something along the line of bits_addr().

I'll keep thinking (potentially in circles) and value your input :smile:

I updated the PR to use addr_bits() as function name instead, and slightly reword the documentation in the source code. It certainly feels like I'm over-explaining there, but given how often I've been bitten/seen people get bitten by this it could be needed.
@eunchan I've also renamed to prim_utils.svh.

sgtm.
On Mon, Jun 8, 2020 at 2:29 PM Philipp Wagner<EMAIL_ADDRESS>wrote:

I updated the PR to use addr_bits() as function name instead, and
slightly reword the documentation in the source code. It certainly feels
like I'm over-explaining there, but given how often I've been bitten/seen
people get bitten by this it could be needed.
@eunchan https://github.com/eunchan I've also renamed to prim_utils.svh.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/2425#issuecomment-640897716,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSRLDXHDQ6VSW6RKRT3RVVJ4BANCNFSM4NYLCQAA
.

I updated the PR to use addr_bits() as function name

Not that I care that much, but it is more than just the "number of bits of an address" but the bit width of a value, so either value_width() or value_bits() or vbits() (akin to $bits()) would see slightly more appropriate. but addr_bits() wfm and happy to just decide and move on with more important things. :smile:

vbits() it is.


/pre-payment page typos in intro line and on 'expiry date'

Should say:
'You're about to pay £130.00 for 1 parking permit:'
and
'Expiry date'

link to #735
tagging @joannesouthern to this


⚠ Quirk Club Argentina (API endpoint) has degraded performance

In e35a7b8, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 5481 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in c7f87f6.


Failed in section

What happened?

Following the document, section Provision Infrastructure. In the last step:
$ kubectl describe cloudsqlinstances.database.gcp.crossplane.io cloudsqlpostgresql
Status:
  At Provider:
  Conditions:
    Last Transition Time:  2020-07-11T16:04:01Z
    Message:               observe failed: cannot get the CloudSQL instance: googleapi: Error 403: The client is not authorized to make this request., notAuthorized
    Reason:                Encountered an error during resource reconciliation
    Status:                False
    Type:                  Synced
Events:
  Type     Reason                         Age                 From                                                 Message
  ----     ------                         ----                ----                                                 -------
  Warning  CannotObserveExternalResource  79s (x62 over 31m)  managed/cloudsqlinstance.database.gcp.crossplane.io  cannot get the CloudSQL instance: googleapi: Error 403: The client is not authorized to make this request., notAuthorized

How can we reproduce it?

Just follow the document.
What environment did it happen in?
Crossplane version:

Crossplane:v0.12.0
Kubernetes 1.18(Kind)
GCP
Ubuntu: Linux li1589-35 5.4.0-26-generic #30-Ubuntu SMP Mon Apr 20 16:58:30 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Hi @fleeto ! Could you check whether the service account you set up has the necessary permissions to managed CloudSQL?


Feature Request: Support Compiling Entirely from Source

Embed minizip and expat sourcecode (licenses are permissive) and build everything from source using Cmake. Use a flag in Cmake for the user to choose between building entirely from source vs. using FIND_PACKAGES. For those use-cases where the runtime environment is not controllable or known, it should be possible to create a binary that does not rely on the installation and runtime linking of these installed packages.

I'm suggesting that someone who wants to should be able to change something in the Cmake file from NO to YES (i.e. BUILD_FROM source), and have it 'just work' without any environment variables or external requirements, which means that the expat and minizip sourcecode libs would be checked in to the xlsxio repo.

I have always thought projects that pull in (or even ship) sources like that are quite dirty. It seams cleaner to me to use stable builds either provided by the distro or built yourself in a seperate location.
For the latter it would make more sence to add a variable like EXPATPATH where expat is searched for by looking into the include and lib folder. Would that suit you?

i'd love the former and would be okay with the later. Currently trying to make this and it can't find the minizip i built in a separate location. seems i'm bad with makefiles because my attempts to add the includes doesn't seem to work.

Which platform are you on?
If you're on Linux there is a large change your distro will have minizip.
If you're on Windows I can actually send you my packages built with MinGW-w64.
If you're on macOS I would recommend https://www.macports.org/.

managed to install it by editing the makefile and adding manually the minizip lib and include locations. distros where i am are very light and don't have much on them. that's why adding the dependencies in your releases can be useful, or at least the custom paths in your makefile.

added CMake options to specify custom dependancy paths: ZLIB_DIR/MINIZIP_DIR/LIBZIP_DIR/EXPAT_DIR
now updated in subversion, will be included in next release


Slimy fails to build on Zig 0.12.0

When trying to build slimy using zig build, at first it fails due to:
/mnt/Biblioteko/Gits/slimy/build.zig.zon:1:2: error: missing top-level 'paths' field
.{
 ^

This is simple enough to fix by just adding an empty paths specification to build.zig.zon as follows:
.{
    .name = "slimy",
    .version = "0.1.0-dev",
    .dependencies = .{
        .optz = .{
            .url = "https://github.com/silversquirl/optz/archive/a57f38365d85a8c1151171a7e3a715ed285e2a9d.tar.gz",
            .hash = "12200ddfa43ada90f0a56d8cd1664c91321001a30c1bbb5a6ac6d405161c4750d6d2",
        },
        .cpuinfo = .{
            .url = "https://github.com/silversquirl/cpuinfo-zig/archive/bf816de759cf02c95ee9d94e7e7ab3e373a7286f.tar.gz",
            .hash = "1220e168bbe411e4a92ffb194a7cf353997e69af530ca9ed4b4411c178948b340995",
        },
        .zcompute = .{
            .url = "https://github.com/silversquirl/zcompute/archive/60312ae55c6447a387462ab0212b7c163dfd50d3.tar.gz",
            .hash = "12206a1edb5a051dbdbdd106bdc19ac3f1f1237de076e80fb7325d5a98a98f8df54b",
        },
    },
    .paths = .{""},
}

What is a bit harder to fix, that I'm currently still working on, is that the dependencies are apparently out of date too. After fetching them, it errors out with the following:
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/build_integration.zig:171:22: error: expected 2 arguments, found 3
        const self = @fieldParentPtr(ShaderCompileStep, "step", step);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/vulkan/build_integration.zig:77:22: error: expected 2 arguments, found 3
        const self = @fieldParentPtr(GenerateStep, "step", step);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/xml.zig:235:13: error: local variable is never mutated
        var end = mem.indexOfScalarPos(u8, self.source, self.offset, '\n') orelse self.source.len;
            ^~~
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/xml.zig:235:13: note: consider using 'const'
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/vulkan/parse.zig:26:9: error: local variable is never mutated
    var reg = registry.Registry{
        ^~~
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/vulkan/parse.zig:26:9: note: consider using 'const'
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/vulkan/parse.zig:42:9: error: local variable is never mutated
    var commands_elem = root.findChildByTag("commands") orelse return error.InvalidRegistry;
        ^~~~~~~~~~~~~
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/vulkan/parse.zig:42:9: note: consider using 'const'
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/vulkan/parse.zig:41:9: error: local variable is never mutated
    var types_elem = root.findChildByTag("types") orelse return error.InvalidRegistry;
        ^~~~~~~~~~
/home/happysmash27/.cache/zig/p/1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea/generator/vulkan/parse.zig:41:9: note: consider using 'const'
/mnt/Biblioteko/Gits/Build/slimy/build.zig:5:21: error: root struct of file 'std' has no member named 'build'
pub fn build(b: *std.build.Builder) !void {
                 ~~~^~~~~~
/usr/lib64/zig/0.12.0/lib/std/std.zig:1:1: note: struct declared here
pub const ArrayHashMap = array_hash_map.ArrayHashMap;
^~~
referenced by:
    runBuild__anon_8992: /usr/lib64/zig/0.12.0/lib/std/Build.zig:2078:50
    main: /usr/lib64/zig/0.12.0/lib/compiler/build_runner.zig:300:29
    remaining reference traces hidden; use '-freference-trace' to see all reference traces

1220d3e1254af9c8fd4c3f09bd9f50f51dc5eaa5506f845ed67bcd75e1e2961ce1ea appears to be some version of vulkan-zig, and I have not yet figured out which specific dependency is pulling it.
I am guessing there will be other errors after I fix these ones, too, since the last update was for 0.11.0.

It looks like zcompute is the one pulling it in: https://github.com/silversquirl/zcompute/issues/1

Slimy now builds on 0.13.0, the latest zig version.
0.12.0 will not be supported.


How to use Scrollify with reactJS? I'm not getting any idea

same doubt

Scrollify can be used with React. You will need to initialise Scrollify after React has rendered the page.


How to use this in vuejs using import from node_modules?

Hi, sorry for delay, I've been busy with something else.
I'll try to describe it in most general way and then we can dive into your project specifics:

in your Vue component do import of the sign-pad just as you do import of anything else (see the readme example)
in your Vue's component HTML template just put the element as in the examples: <sign-pad></sign-pad>

Start from this point.
What you should have at that point is, that the component initialized correctly and you can see the pad on the screen and draw on it.
If we are on the same page up till now, then now you can start customizing things, like bind and event for change (see Vue for that part, should be standard pattern), add handler and in the handler function do whatever you need with the signature (again, for this part there are examples).
Please notify me where it goes wrong for you, I'll collect all the way down to the resolution and will add a CodePen example accordingly.

Here is a CodePen example of usage in Vue component - https://codepen.io/gullerya/pen/xxgPLRG
I'll add this to the documentation as well.

thank you for your detail explanation and providing the example. hope this library become popular.


Jobs: NIN UI

Ninki Guage (change color when reach 50/90)
Combo Timer
Huton Duration
TrickAttack Cooldown & Duration
Bunshin Cooldown
Ninjutsu Cooldown (to 2 charges)

Thanks, this looks great!


Test/improve coverage

Coverage increased (+1.05%) to 100.0% when pulling 307deb81a02b5b808c2050aec5df22f7feb835dc on test/improve-coverage into 588a7e6a0f540d76eba011731cc6bceadb2bb997 on master.


Update purge options

As an alternative, it could be written with the object syntax:
module.exports = {
  purge: {
    content: ['./src/**/*.html'],
  },
  // ...
}

What is important is to have purge section for it to work in prod mode (dev does not use purge by default).

got it thanks! I'll add it from a commit


Support pull requests on mirror repositories.

Currently, a mirror repoisitory could not merge anything, but we could still allow pull requests and don't allow to merge them.

Ping?

Is there a reason why this was postponed? That would be a very useful feature for teams that want to try out gitea

Just for the ones who are interested:
I tried with this patch on the current release and the basic functionality seems to be working.
So the remaining step would be to disable the merge button and add a hint maybe.

$ git diff
diff --git a/models/repo.go b/models/repo.go
index 009e7a457..d60487316 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -810,7 +810,7 @@ func (repo *Repository) CanUserDelete(user *User) (bool, error) {

 // CanEnablePulls returns true if repository meets the requirements of accepting pulls.
 func (repo *Repository) CanEnablePulls() bool {
-       return !repo.IsMirror && !repo.IsEmpty
+       return !repo.IsEmpty
 }

 // AllowsPulls returns true if repository meets the requirements of accepting pulls and has them enabled.

@lunny
Would you prefer adding a check around here and another check for disabling the button.
Or disabling the mergeconfig and setting false as default?
We're thinking about migrating to gitea, but have some repos hosted elsewhere (e.g. at customers). Thus doing code-reviews etc with gitea  would be nice, even if the repo is mirrored.

Since #15157 merged, I think this is possible for push mirror repositories.

@lunny you suppose to enable pull request on push mirrors then?

Please send a PR to do that.


Maker Market not syncing properly

Hey,
maker market synchronization is rarely reaching 100%. If it is reaching 100% it will try to resync everything again. Seems like a metamask problem:

Fixed on the side of MetaMask.


trivy-action attempts to run sudo on the local machine (!?)

It looks like https://github.com/aquasecurity/trivy-action/pull/399 changed trivy-action to use "composite" instead of "docker", and it attempts to install trivy via a curl [url]/install.sh | sudo sh - style method. This seems a bit dangerous to run on the local system outside of docker.
Am I misunderstanding what "composite" is supposed to do? I'm not going to grant sudo access to the github action runner user.
When running the latest, action, I get this in the log output:
Run aquasecurity/trivy-action@master
  with:
    image-ref: [redacted]
    exit-code: 1
    severity: MEDIUM,HIGH,CRITICAL
    format: table
    scan-type: image
    scan-ref: .
    ignore-unfixed: false
    vuln-type: os,library
    cache-dir: /run/github-runner/argo-2/argo/argo/.cache/trivy
    list-all-pkgs: false
    version: v0.56.1
    cache: true
Run curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b /usr/local/bin v0.56.1
  curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b /usr/local/bin v0.56.1
  shell: /nix/store/516kai7nl5dxr792c0nzq0jp8m4zvxpi-bash-5.2p32/bin/bash --noprofile --norc -e -o pipefail {0}
/run/github-runner/argo-2/_temp/1455b404-12e8-4243-bcd6-0e695ee57cfc.sh: line 1: curl: command not found
/run/github-runner/argo-2/_temp/1455b404-12e8-4243-bcd6-0e695ee57cfc.sh: line 1: sudo: command not found
Error: Process completed with exit code 127.

I left a comment on the relevant code change:
https://github.com/aquasecurity/trivy-action/pull/399/files#r1792533665

Been getting this with the new version as well. Definitely cant have sudo running

cc @knqyf263 @DmitriyLewen

This is not good on unprivileged self-hosted runners 😬
Run curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b /usr/local/bin v0.56.1
sudo: The "no new privileges" flag is set, which prevents sudo from running as root.
sudo: If sudo is running in a container, you may need to adjust the container configuration to disable the flag.
Error: Process completed with exit code 1.

As a workaround, I think you can point to 0.25.0 instead of the master to avoid this issue.

Hello all!
We merged https://github.com/aquasecurity/trivy-action/pull/406
trivy-action installs Trivy from release page now. So we don't need to use curl and sudo.
Fill free to write here if you still have problems/questions.


Feature/exec

Hi !
I added the possibility to execute a command with loading all the secrets as environment variables. It allows me to use unicreds as a docker ENTRYPOINT.

I would love it if you could just add a little block down the bottom of the README on using unicreds as a docker entry point, even if it is just a sentence.

I added the requested information in the README. It is important to note that the example should be updated with the version number corresponding to the release that contains this feature.
I also want to apologize for my English, the French are not known for their mastery of foreign languages ;-)

Not a problem at all, great to have this feature added.
Will spin a release over the next couple of days.


Making SecureCRT the default

Thank you for maintaining and developing this repo. Would you please guide me through on how to use SecureCRT (installed on linux) to be the default terminal that open when you click on device instead of default one?
Thanks

SecureCRT cannot be used as Linux terminal emulator, but you can make a wrapper that replacing telnet command:
echo '#!/bin/sh\nSecureCRT /T /TELNET "$@"' > ~/.local/bin/telnet
chmod +x ~/.local/bin/telnet

Make sure that $HOME/.local/bin exist in your PATH. If this not true then add this line to your ~/.profile file and then log out and log back:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"

Another way is to use this fork https://github.com/jkldgoefgkljefogeg/eve-ng-integration

Thank you for all of the hard work already provided!
Would you be able to help to get Securecrt working on Manjaro?... I already tried the instructions provided but still not working ...

Thanks in advance!
DJ

@dlj2019 my fault. The command for bash should looks like:
echo -e '#!/bin/sh\nSecureCRT /T /TELNET "$@"' > ~/.local/bin/telnet
chmod +x ~/.local/bin/telnet

For some reason still not working...

Should i make modifications to the "eve-ng-integration.desktop" file?

@dlj2019 make sure that ~/.local/bin/telnet has executable bit chmod +x ~/.local/bin/telnet if it's true add the line to ~/.profile file and than reboot your laptop:
echo 'PATH="$HOME/bin:$HOME/.local/bin:$PATH"' >> ~/.profile

It works. Awesome!!!
Your are the Best ... thanks again for all the hard work provided.
Regards,
DJ
On Dec 29 2017, at 12:16 pm, Sergei Eremenko<EMAIL_ADDRESS>wrote:

@dlj2019 (https://github.com/dlj2019?recipient=reply%2B01d74b26e6d6ae6b5f3559cd50d42955519c5897212f5f3192cf00000001165e3a7592a169ce10775144%40reply.github.com) make sure that ~/.local/bin/telnet has executable bit chmod +x ~/.local/bin/telnet if it's true add the line to ~/.profile file and than reboot your laptop:
echo 'PATH="$HOME/bin:$HOME/.local/bin:$PATH"' >> ~/.profile
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/SmartFinn/eve-ng-integration/issues/19?recipient=reply%2B01d74b26e6d6ae6b5f3559cd50d42955519c5897212f5f3192cf00000001165e3a7592a169ce10775144%40reply.github.com#issuecomment-354473779), or mute the thread (https://github.com/notifications/unsubscribe-auth/AddLJqf2Y3rgshnoaN6GxcjZoNyaPJDzks5tFR51gaJpZM4QoOUT?recipient=reply%2B01d74b26e6d6ae6b5f3559cd50d42955519c5897212f5f3192cf00000001165e3a7592a169ce10775144%40reply.github.com).

I only see that Tilix also opens along with Securecrt , is there a way to fix it or its not possible ?
On Dec 29 2017, at 12:41 pm, Dee Jesus<EMAIL_ADDRESS>wrote:

It works. Awesome!!!
Your are the Best ... thanks again for all the hard work provided.
Regards,
DJ
On Dec 29 2017, at 12:16 pm, Sergei Eremenko<EMAIL_ADDRESS>wrote:

@dlj2019 (https://github.com/dlj2019?recipient=reply%2B01d74b26e6d6ae6b5f3559cd50d42955519c5897212f5f3192cf00000001165e3a7592a169ce10775144%40reply.github.com) make sure that ~/.local/bin/telnet has executable bit chmod +x ~/.local/bin/telnet if it's true add the line to ~/.profile file and than reboot your laptop:
echo 'PATH="$HOME/bin:$HOME/.local/bin:$PATH"' >> ~/.profile
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/SmartFinn/eve-ng-integration/issues/19?recipient=reply%2B01d74b26e6d6ae6b5f3559cd50d42955519c5897212f5f3192cf00000001165e3a7592a169ce10775144%40reply.github.com#issuecomment-354473779), or mute the thread (https://github.com/notifications/unsubscribe-auth/AddLJqf2Y3rgshnoaN6GxcjZoNyaPJDzks5tFR51gaJpZM4QoOUT?recipient=reply%2B01d74b26e6d6ae6b5f3559cd50d42955519c5897212f5f3192cf00000001165e3a7592a169ce10775144%40reply.github.com).

if anyone still looking  how to use SecureCRT, there is another solution.
echo -e '#!/bin/sh\nSecureCRTx /T /TELNET $1 $2' > ~/.local/bin/SecureCRTx
chmod +x ~/.local/bin/SecureCRTx
next update ~/.profile
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
edit following script as it is on picture below /usr/bin/eve-ng-integration
https://transfer.sh/gH4Tz/1.png
https://transfer.sh/bOcOn/2.png

Thanks...
Can you please tell me how do i get Tilix to work with Eve-NG? i need to
open different "Tab"sessions instead new windows. Would the information
below work ?
[Desktop Entry]
Name=EVE-NG Integration
*Exec=env OVERRIDE_TERMINAL_CMD="tilix --tab -e" eve-ng-integration %u *
If so what's the next steps?
Thanks in advance!
On Sun, Mar 25, 2018 at 1:49 AM, shotab<EMAIL_ADDRESS>wrote:

if anyone still looking how to use SecureCRT, there is another solution.
echo -e '#!/bin/sh\nSecureCRTx /T /TELNET $1 $2' > ~/.local/bin/SecureCRTx
chmod +x ~/.local/bin/SecureCRTx
next update ~/.profile
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
edit following script as it is on picture below /usr/bin/eve-ng-integration
https://transfer.sh/gH4Tz/1.png
https://transfer.sh/bOcOn/2.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SmartFinn/eve-ng-integration/issues/19#issuecomment-375947312,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AddLJszmmDsTY7mBqSXXJAqPo44nL0bmks5thy_kgaJpZM4QoOUT
.

Thanks...
Can you please tell me how do i get Tilix to work with Eve-NG? i need to
open different "Tab"sessions instead new windows. Would the information
below work ?
[Desktop Entry]
Name=EVE-NG Integration
*Exec=env OVERRIDE_TERMINAL_CMD="tilix --tab -e" eve-ng-integration %u *
If so what's the next steps?
Thanks in advance!

I do not use Tilix so I am not familiar with it.
do you mean something like this one ?
https://mega.nz/#!344ySBDD!yDfJP06lqmNWQpZQkSoRUloNHzuqnKcT4EFTxO_zKKg

Yes, that's exactly what i need ... Do you know how i can this done?
On Mon, Mar 26, 2018 at 10:09 AM, shotab<EMAIL_ADDRESS>wrote:

Thanks...
Can you please tell me how do i get Tilix to work with Eve-NG? i need to
open different "Tab"sessions instead new windows. Would the information
below work ?
[Desktop Entry]
Name=EVE-NG Integration
*Exec=env OVERRIDE_TERMINAL_CMD="tilix --tab -e" eve-ng-integration %u *
If so what's the next steps?
Thanks in advance!
I do not use Tilix so I am not familiar with it.
do you mean something like this one ?
https://mega.nz/#!344ySBDD!yDfJP06lqmNWQpZQkSoRUloNHzuqnKcT4EFTxO_zKKg
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SmartFinn/eve-ng-integration/issues/19#issuecomment-376178844,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AddLJqcfLUvBMPPRehS5zrP35xhm8tVUks5tiPaAgaJpZM4QoOUT
.

Yes, that's exactly what i need ... Do you know how i can this done?

This is how I did it, maybe there is better solution which I don't know.
create following script and make it executable:
echo -e '#!/bin/bash\ntilix -a app-new-session $@' > ~/.local/bin/tilixx
chmod +x ~/.local/bin/tilixx

next you must edit "/usr/bin/eve-ng-integration" script  and add following code as it is on picture below:
elif self._is_command('tilixx'):
  return ['tilixx', '-e']

https://transfer.sh/aCHYk/tilix1.png
https://transfer.sh/M2qwi/tilix2.png

I am new to Linux.... Executable file has been created but i still not able
to open Tilix.
[Desktop Entry]
Name=EVE-NG Integration
Exec=eve-ng-integration %u
TryExec=eve-ng-integration
Type=Application
Categories=Network;
MimeType=x-scheme-handler/telnet;x-scheme-handler/capture;x-scheme-handler/docker;
X-KDE-Protocols=telnet,capture,docker
NoDisplay=true
def_terminal_emulator_cmd(self):
if self.override_terminal:
return self.override_terminal.split()
elif self._is_command('tilixx'):
return ['tilixx', '-e']
elif url.scheme == 'telnet':
cmd = 'telnet {host} {port}'.format(**data)
On Tue, Mar 27, 2018 at 7:35 AM, sb<EMAIL_ADDRESS>wrote:

Yes, that's exactly what i need ... Do you know how i can this done?
This is how I did it, maybe there is better solution which I don't know.
create following script and make it executable:
echo -e '#!/bin/bash\ntilix -a app-new-session $@' > ~/.local/bin/tilixx
chmod +x ~/.local/bin/tilixx
next you must edit "/usr/bin/eve-ng-integration" script and add following
code as it is on picture below:
elif self._is_command('tilixx'):
return ['tilixx', '-e']
https://transfer.sh/aCHYk/tilix1.png
https://transfer.sh/M2qwi/tilix2.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SmartFinn/eve-ng-integration/issues/19#issuecomment-376492479,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AddLJq-Px9bIJW9tHbc9GkJI3Ej-gG12ks5tiiPxgaJpZM4QoOUT
.

I am new to Linux.... Executable file has been created but i still not able
to open Tilix.
[Desktop Entry]
Name=EVE-NG Integration
Exec=eve-ng-integration %u
TryExec=eve-ng-integration
Type=Application
Categories=Network;
MimeType=x-scheme-handler/telnet;x-scheme-handler/capture;x-scheme-handler/docker;
X-KDE-Protocols=telnet,capture,docker
NoDisplay=true
def_terminal_emulator_cmd(self):
if self.override_terminal:
return self.override_terminal.split()
elif self._is_command('tilixx'):
return ['tilixx', '-e']
elif url.scheme == 'telnet':
cmd = 'telnet {host} {port}'.format(**data)

here is video.
https://mega.nz/#!j9ZiCYLa!CwFGrcaWN7bDS9C0qIJRfcR7p51k4SvTnErHNp0jA70

I am using KDE Neon on XPS 15.
usr/share/application/eve-ng-integration.desktop.
The Eve-ng integration.desktop differs from what i have. Should replace
below files with the ones in the website?
eni-rdp-wrapper
https://github.com/SmartFinn/eve-ng-integration/blob/master/bin/eni-rdp-wrapper
Add
RDP wrapper
https://github.com/SmartFinn/eve-ng-integration/commit/9d39dc93a33faee3aa0e3396d17d001e15dac7c9
#7 https://github.com/SmartFinn/eve-ng-integration/issues/7 3 months ago
eve-ng-integration
https://github.com/SmartFinn/eve-ng-integration/blob/master/bin/eve-ng-integration
Move
files and update installation scripts
https://github.com/SmartFinn/eve-ng-integration/commit/ed9c6693b9236b37d6532326928f23cd4e5336b7
3
months ago
On Tue, Mar 27, 2018 at 11:05 AM, sb<EMAIL_ADDRESS>wrote:

I am new to Linux.... Executable file has been created but i still not able
to open Tilix.
[Desktop Entry]
Name=EVE-NG Integration
Exec=eve-ng-integration %u
TryExec=eve-ng-integration
Type=Application
Categories=Network;
MimeType=x-scheme-handler/telnet;x-scheme-handler/
capture;x-scheme-handler/docker;
X-KDE-Protocols=telnet,capture,docker
NoDisplay=true
def_terminal_emulator_cmd(self):
if self.override_terminal:
return self.override_terminal.split()
elif self._is_command('tilixx'):
return ['tilixx', '-e']
elif url.scheme == 'telnet':
cmd = 'telnet {host} {port}'.format(**data)
here is video.
https://mega.nz/#!j9ZiCYLa!CwFGrcaWN7bDS9C0qIJRfcR7p51k4SvTnErHNp0jA70
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SmartFinn/eve-ng-integration/issues/19#issuecomment-376559834,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AddLJmafHuXWSugZBkOn4UFn4kFFvMzKks5tilVVgaJpZM4QoOUT
.

hi shotab,
Can you please let me know the 2 steps needed (link is not working anymore?
https://transfer.sh/gH4Tz/1.png
https://transfer.sh/bOcOn/2.png
============================================================
"if anyone still looking how to use SecureCRT, there is another solution.
echo -e '#!/bin/sh\nSecureCRT /T /TELNET $1 $2' > ~/.local/bin/SecureCRTx
chmod +x ~/.local/bin/SecureCRTx
next update ~/.profile
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
**edit following script as it is on picture below /usr/bin/eve-ng-integration
https://transfer.sh/gH4Tz/1.png
https://transfer.sh/bOcOn/2.png
================= "==========================================

if anyone still looking how to use SecureCRT, there is another solution.
echo -e '#!/bin/sh\nSecureCRT /T /TELNET $1 $2' > ~/.local/bin/SecureCRTx
chmod +x ~/.local/bin/SecureCRTx
next update ~/.profile
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
edit following script as it is on picture below /usr/bin/eve-ng-integration
https://transfer.sh/gH4Tz/1.png
https://transfer.sh/bOcOn/2.png

Can you please let me know the last 2 steps ( png pictures) missing. The 2 links are no longer available.
https://transfer.sh/gH4Tz/1.png
https://transfer.sh/bOcOn/2.png
Thanks a lot in advance!
Regards,
DJ

hi,
you should edit "eve-ng-integration" script, in my case it is located in
/usr/bin/eve-ng-integration
and here is changes you should make
https://ibb.co/esgSpK
https://ibb.co/cwdU3e

Excellent !!!!
Thanks a lot !!!

How do I integrate putty with eve-ng on ubuntu


Update readme.md

Codecov Report

Merging #34 (2d5951b) into main (0645bc2) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #34   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines            8         8
=========================================
  Hits             8         8

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0645bc2...2d5951b. Read the comment docs.

Thanks @teinett!


Only start web and CF tunnel if $DEBUG is set

This brings the builder action in line with the vm action (which also conditionally enables the CF tunnel).
NOTE: I'm only submitting a PR for the openbsd-builder action as that's the one I'm working with, but the rest of the builder actions could use the same treatment.

I just fixed the vbox to work with the latest cf tunnel.
please just wait for the latest openbsd-builder release:
https://github.com/vmactions/openbsd-builder/actions/runs/3620710977
Once it builds successfully, I will make a new release for the openbsd-vm.

It was intened to enable cf-web all the time, so that I can moniter the build process.

BTW,  the openbsd is hard to build.  it usually took  several hours to 1 day to success.

BTW, the openbsd is hard to build. it usually took several hours to 1 day to success.

I'm noticing this, too. I had one successful build of 7.1, so far zero of 7.2. I've seen multiple builds result in kernel panics causing the VM to reset which then confuses the build script. Eventually the job times out.
Did you mean to set the retry timeout to be higher than the job timeout? It seems the retry would never kick in with these values.

Yes,  I just monitor the build process by my eyes, and  click the re-run button by myself.

I don't know why, but the openbsd is soooo hard to build.


Forbid repeated dimension names

[x] Closes #2226 and #1499 by forbidding those situations (but we should leave #3731 open as the "official" place to discuss supporting repeated dimensions
[x] Tests added
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst
[ ] New functions/methods are listed in api.rst

Interesting - some of the h5netcdf tests apparently attempt to open hdf5 files that have repeated dimension names
FAILED xarray/tests/test_backends.py::TestH5NetCDFDataRos3Driver::test_get_variable_list - ValueError: Duplicate dimension names are forbidden, but dimensions {'PRESSURE'} appear more than once in dims=('DATETIME', 'PRESSURE', 'PRESSURE')
FAILED xarray/tests/test_backends.py::TestH5NetCDFDataRos3Driver::test_get_variable_list_empty_driver_kwds - ValueError: Duplicate dimension names are forbidden, but dimensions {'PRESSURE'} appear more than once in dims=('DATETIME', 'PRESSURE', 'PRESSURE')

thank you for putting this together, @TomNicholas.

Interesting - some of the h5netcdf tests apparently attempt to open hdf5 files that have repeated dimension names

if my understanding is accurate, neither h5netcdf nor netCDF appears to enforce restrictions against duplicate dimensions. are we to modify the HDF5 files accordingly or xfail these tests?

I guess depends what the point of those tests was. If it's just to check that we can correctly read the structure of those particular files then we could change to just check that the exact error we now expect is raised. Of we wanted to check more than that then we should change the files. Obviously xfail would be the quickest way to move forward however.

I'm not sure we should raise here since netcdf4 at least allows repeated dimension names:

import netCDF4

ds = netCDF4.Dataset("test.nc", mode="w")
ds.createDimension("time", 24)
ds.createVariable("test", int, dimensions=("time", "time"))
ds["test"][:] = 0
ds.close()

!ncdump -h test.nc

netcdf test {
dimensions:
	time = 24 ;
variables:
	int64 test(time, time) ;
}

One of the takeaways in https://github.com/pydata/xarray/issues/2368 and https://github.com/pydata/xarray/issues/1378#issuecomment-295791392 was that we want to be able to open all netCDF files even if the resulting Xarray object isn't as useful as it could be.

I'm not sure we should raise here since netcdf4 at least allows repeated dimension names (i bet zarr does too)

this may be a distinct issue, but should we consider updating the repr to indicate the presence of duplicated dimensions? as it stands, the current repr only displays unique dimensions.
In [92]: data = np.zeros((2, 3, 3))

In [93]: dims = ['a', 'b', 'b']

In [94]: var = xr.Variable(data=data, dims=dims)

In [95]: var.shape
Out[95]: (2, 3, 3)

In [96]: var.dims
Out[96]: ('a', 'b', 'b')

In [97]: var
Out[97]:
<xarray.Variable (a: 2, b: 3)>
array([[[0., 0., 0.],
        [0., 0., 0.],
        [0., 0., 0.]],

       [[0., 0., 0.],
        [0., 0., 0.],
        [0., 0., 0.]]])

Updating repr sounds good to me.

I'm not sure we should raise here since netcdf4 at least allows repeated dimension names

(Apparently Zarr v3 does allow them, even whilst it recommends against them)
We have three choices:

Forbid duplicate dimension names at construction time. I prefer this because it's clear, and it completely prevents getting into a world of undefined state, unclear functionality, and where currently internal implementation details can bleed out to affect what works and what doesn't.

Allow duplicate dimension names at construction time, but try to forbid them whenever something we know isn't going work work is attempted. This is sort of what we half-heartedly currently do.

Support duplicate dimensions, either for a subset or for all functionality. This is really hard, perhaps impossible for the full case, and isn't going to happen in this PR. It would require someone interested and committed to work on it.

I was thinking we should do (1) now then either (2) or (3) later, but @dcherian's comment
makes it sound like people would be annoyed if we did (1), and perhaps we should work towards a limited version of (2) immediately instead. In that case we should at least:

[x] Raise before attempting to broadcast (this already happens)
[ ] Raise inside get_axis_num
[ ] Test reductions over all axes still work (or just raise on all reductions)
[ ] Fix the repr
[ ] Raise in concat
[ ] Raise in stack
[ ] Add tests for all the above
[ ] Put a warning in the docs somewhere documenting this approach
[ ] Anything else?

(let's move your comment/discussion to an issue)

A new issue? Or one of the existing ones?

I would vote to add a warning to the constructor and mostly be done with it...
That list of items are all good, and the library would be better off with them. But I would guess that even raising in the right places has a long tail of work, and setting clear expectations of no support is realistic (unless someone wants to champion this, in which case great)
If we just say "we don't support this yet, but we will grudgingly load the file. Please rename the dims immediately", then that's quite clear...

Okay, so I've changed the error in the constructor to merely a warning, and I've added an actual error that gets raised by any call to _get_axis_num.

this may be a distinct issue, but should we consider updating the repr to indicate the presence of duplicated dimensions? as it stands, the current repr only displays unique dimensions.

I looked at this and it's because the repr calls .sizes, which uses .dims as keys for a dictionary. To make the repr display duplicate dimensions we would either have to change the return type of (.sizes) or redirect the repr to use a new ._non_unique_sizes, both of which don't seem great.

FWIW one thing I'd be keen for to do generally — though maybe this isn't the place to start it — is handle warnings in the test suite when we add a new warning — i.e. filter them out where we expect them.

I agree @max-sixty , so I raised #8494.

In this case, that would be the loading the netCDF files that have duplicate dims.

I've added @pytest.mark.filterwarnings("ignore:Duplicate dimension names") to those tests.


Can not add Thermostat due to Timeout Error

Good Day!
I am new to Home Assistant and wanted to make my Heating smart, I got some TRVs from my Father that were lying around that are Eurotronic Comet Blues. And I stumbled upon your custom component and immediately tried it out. I could install it via HACS on my Home Assistant Container Instance which I host via Docker. I mounted a bluetooth usb stick into the container and immediately after installing your component it picked up the Thermostat:

I used these settings:

Although in the manual it states that the PIN is 000 000, but I was unable to set that PIN due to the fact that the number chooser does not allow multiple zero digits. After pressing next and waiting some time I was greeted with this message:

but also an error in the integration:

In the error log I could only figure out these lines, which do not help me to correct the error:
2024-10-10 13:19:59.562 DEBUG (MainThread) [cometblue] Setting up device D0:B5:C2:F1:6D:23: Comet Blue
2024-10-10 13:19:59.562 DEBUG (MainThread) [cometblue] Connecting to D0:B5:C2:F1:6D:23: Comet Blue
2024-10-10 13:20:19.565 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Comet Blue D0:B5:C2:F1:6D:23 for cometblue
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bleak/backends/bluezdbus/client.py", line 214, in connect
    reply = await self._bus.call(
            ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/dbus_fast/aio/message_bus.py", line 385, in call
    await future
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/cometblue/__init__.py", line 60, in async_setup_entry
    async with cometblue_device:
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 626, in __aenter__
    await self.connect_async()
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 404, in connect_async
    await self.client.connect()
  File "/usr/local/lib/python3.12/site-packages/habluetooth/wrappers.py", line 311, in connect
    connected = await super().connect(**kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak/__init__.py", line 615, in connect
    return await self._backend.connect(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak/backends/bluezdbus/client.py", line 151, in connect
    async with async_timeout(timeout):
  File "/usr/local/lib/python3.12/asyncio/timeouts.py", line 115, in __aexit__
    raise TimeoutError from exc_val
TimeoutError

Is there anything I can do to make it work?
Greetings
Gary

Thanks for you interest! You're the first one to try it out (except for me).
Bluetooth devices are not very stable. You can try to reload the integration and hope that it works then.
The TimeoutError occurs (in your case) the bluetooth stick is not able to connect to the CometBlue device.
This can also happen during runtime, but will usually recover itself. For you, the main issue is that this failure occurs during initial setup (after your bluetooth stick has seen that the device is around).
Is there a good connection between the bluetooth stick and the device? Maybe use a USB extension to not have the bluetooth stick directly at the computer.

So I already tried installing the latest version of bluez on my host which unfortunately did not resolve the Problem.

Is there a good connection between the bluetooth stick and the device

I don't know exactly because It won't connect but the device was right next to the bluetooth stick when I tried it.

Maybe use a USB extension to not have the bluetooth stick directly at the computer.

I tried this now and interestingly It picked up more of my thermostats and it also successfully integrated one of them, but all others are still erroring out:

And for the one that is connected I am unable to change anything because it just returns errors. Unfortunately I was not able to reproduce the error message it is now just not doing anything after I changed something in the Climate UI

I am starting to think that these devices are not the right fit for my use case, They would also need to communicate a distance that will likely not work with bluetooth, I think I need to switch to Zigbee Thermostats which is the protocol I use for the rest of my smart devices 🤔

Can you enable debug logging for the integration?
It could also be that there are issues with your Bluetooth stick, not sure.
I have developed it on a MacBook with the TRV right next to it.
It is now running quite good for me. To gap the distances between my homeserver I'm using 2 ESPHome devices as Bluetooth proxies.
I also wanted to replace the Bluetooth TRVs and bought some zigbee (tuya based) ones from Lidl last year (because they are were only €30). They are even worse...

Hello Richard,
I wanted to give an update. I ordered 2 ESP32 an Amazon on Saturday and they arrived today. I flashed them with the ESPHome Bluetooth Proxy Firmware. Initially I had some errors that some of the values returned by the Comet Blue Thermostats would be invalid, but after factory resetting all of them I could now integrate them into home assistant and can read and write temperatures. So for now everything looks very promising. All 6 Thermostats are connected and seem working.
Thank you for the tipp with the Bluetooth Proxies and your custom component. 🙏
Seems like we can close this issue then.

Hi Gary, great to hear and thanks for the update!
Please be aware that you will get regular log entries about missing connections - usually however that is nothing to be worried about and will automatically recover.
Enjoy some cheap (but effective) radiator controls!

Hi Richard,
I am trying it out a bit and noticed that most of the time when I try to change the Temperature by Home Assistant it is not applied and sometimes it displays an error about a timeout. It does not recover itself after I set the temperature, when the connection is reestablished it shows the old target temperature instead of the new one. The log says that the timeout is 20seconds, is there a way to increase that?
Here are some logs:

2024-10-15 11:03:27.011 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Comet Blue D0:B5:C2:F1:6D:23 for cometblue
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aioesphomeapi/client.py", line 584, in bluetooth_device_connect
    await connect_future
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bleak_esphome/backend/client.py", line 77, in _async_wrap_bluetooth_operation
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak_esphome/backend/client.py", line 297, in connect
    await self._client.bluetooth_device_connect(
  File "/usr/local/lib/python3.12/site-packages/aioesphomeapi/client.py", line 604, in bluetooth_device_connect
    raise TimeoutAPIError(
aioesphomeapi.core.TimeoutAPIError: Timeout waiting for connect response while connecting to D0:B5:C2:F1:6D:23 after 20s, disconnect timed out: True,  after 20.0s

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/cometblue/__init__.py", line 60, in async_setup_entry
    async with cometblue_device:
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 626, in __aenter__
    await self.connect_async()
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 404, in connect_async
    await self.client.connect()
  File "/usr/local/lib/python3.12/site-packages/habluetooth/wrappers.py", line 311, in connect
    connected = await super().connect(**kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak/__init__.py", line 615, in connect
    return await self._backend.connect(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak_esphome/backend/client.py", line 79, in _async_wrap_bluetooth_operation
    raise asyncio.TimeoutError(str(err)) from err
TimeoutError: Timeout waiting for connect response while connecting to D0:B5:C2:F1:6D:23 after 20s, disconnect timed out: True,  after 20.0s
2024-10-15 11:06:16.014 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140634712054160] Unexpected exception
Traceback (most recent call last):
  File "/config/custom_components/cometblue/coordinator.py", line 66, in send_command
    async with self.device:
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 626, in __aenter__
    await self.connect_async()
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 416, in connect_async
    raise ex
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 404, in connect_async
    await self.client.connect()
  File "/usr/local/lib/python3.12/site-packages/habluetooth/wrappers.py", line 311, in connect
    connected = await super().connect(**kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak/__init__.py", line 615, in connect
    return await self._backend.connect(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak_esphome/backend/client.py", line 77, in _async_wrap_bluetooth_operation
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak_esphome/backend/client.py", line 327, in connect
    await connected_future
bleak.exc.BleakError: Error ESP_GATT_CONN_FAIL_ESTABLISH while connecting: Connection failed to establish

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 1029, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/config/custom_components/cometblue/climate.py", line 146, in async_set_temperature
    await self.coordinator.send_command(
  File "/config/custom_components/cometblue/coordinator.py", line 77, in send_command
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Error sending command '{'values': {'manualTemp': 16.5, 'targetTempLow': None, 'targetTempHigh': None}}' to 'climate.thermostat_arbeitszimmer_links': Error ESP_GATT_CONN_FAIL_ESTABLISH while connecting: Connection failed to establish
2024-10-15 11:07:25.207 DEBUG (MainThread) [custom_components.cometblue.coordinator] Updating device with 'climate.thermostat_arbeitszimmer_links' from '{'values': {'manualTemp': 16.5, 'targetTempLow': None, 'targetTempHigh': None}}'
2024-10-15 11:07:25.207 DEBUG (MainThread) [cometblue] Setting up device D0:B5:C2:F1:6D:23: Comet Blue
2024-10-15 11:07:25.208 DEBUG (MainThread) [cometblue] Connecting to D0:B5:C2:F1:6D:23: Comet Blue
2024-10-15 11:08:00.460 DEBUG (MainThread) [cometblue] Setting up device D0:B5:C2:F1:64:C3: Comet Blue
2024-10-15 11:08:00.460 DEBUG (MainThread) [cometblue] Connecting to D0:B5:C2:F1:64:C3: Comet Blue
2024-10-15 11:08:00.565 DEBUG (MainThread) [cometblue] Setting up device D0:B5:C2:F1:64:B6: Comet Blue
2024-10-15 11:08:00.565 DEBUG (MainThread) [cometblue] Connecting to D0:B5:C2:F1:64:B6: Comet Blue
2024-10-15 11:08:02.462 DEBUG (MainThread) [cometblue] Setting up device D0:B5:C2:F1:64:EB: Comet Blue
2024-10-15 11:08:02.462 DEBUG (MainThread) [cometblue] Connecting to D0:B5:C2:F1:64:EB: Comet Blue
2024-10-15 11:08:03.252 DEBUG (MainThread) [cometblue] Setting up device D0:B5:C2:FA:D7:98: Comet Blue
2024-10-15 11:08:03.252 DEBUG (MainThread) [cometblue] Connecting to D0:B5:C2:FA:D7:98: Comet Blue
2024-10-15 11:08:04.148 DEBUG (MainThread) [cometblue] Established connection to D0:B5:C2:F1:64:C3: Comet Blue
2024-10-15 11:08:04.252 DEBUG (MainThread) [cometblue] Connected to D0:B5:C2:F1:64:C3: Comet Blue
2024-10-15 11:08:05.070 DEBUG (MainThread) [custom_components.cometblue.coordinator] Received data: {'battery': 60, 'holiday': {}, 'targetTempLow': 16.0, 'windowOpen': None, 'targetTempHigh': 21.0, 'manualTemp': 21.0, 'tempOffset': None, 'currentTemp': 21.5, 'windowOpenMinutes': 10}
2024-10-15 11:08:05.070 DEBUG (MainThread) [custom_components.cometblue.coordinator] Finished fetching Comet Blue D0:B5:C2:F1:64:C3 data in 4.609 seconds (success: True)
2024-10-15 11:08:05.211 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140634712054160] Unexpected exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aioesphomeapi/client.py", line 584, in bluetooth_device_connect
    await connect_future
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bleak_esphome/backend/client.py", line 77, in _async_wrap_bluetooth_operation
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak_esphome/backend/client.py", line 297, in connect
    await self._client.bluetooth_device_connect(
  File "/usr/local/lib/python3.12/site-packages/aioesphomeapi/client.py", line 604, in bluetooth_device_connect
    raise TimeoutAPIError(
aioesphomeapi.core.TimeoutAPIError: Timeout waiting for connect response while connecting to D0:B5:C2:F1:6D:23 after 20s, disconnect timed out: True,  after 20.0s

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 1029, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/config/custom_components/cometblue/climate.py", line 146, in async_set_temperature
    await self.coordinator.send_command(
  File "/config/custom_components/cometblue/coordinator.py", line 66, in send_command
    async with self.device:
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 626, in __aenter__
    await self.connect_async()
  File "/usr/local/lib/python3.12/site-packages/cometblue/__init__.py", line 404, in connect_async
    await self.client.connect()
  File "/usr/local/lib/python3.12/site-packages/habluetooth/wrappers.py", line 311, in connect
    connected = await super().connect(**kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak/__init__.py", line 615, in connect
    return await self._backend.connect(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bleak_esphome/backend/client.py", line 79, in _async_wrap_bluetooth_operation
    raise asyncio.TimeoutError(str(err)) from err
TimeoutError: Timeout waiting for connect response while connecting to D0:B5:C2:F1:6D:23 after 20s, disconnect timed out: True,  after 20.0s
2024-10-15 11:08:08.561 DEBUG (MainThread) [cometblue] Established connection to D0:B5:C2:FA:D7:98: Comet Blue
2024-10-15 11:08:08.653 DEBUG (MainThread) [cometblue] Connected to D0:B5:C2:FA:D7:98: Comet Blue
2024-10-15 11:08:09.883 DEBUG (MainThread) [custom_components.cometblue.coordinator] Received data: {'battery': 76, 'holiday': {}, 'targetTempLow': 16.0, 'windowOpen': None, 'targetTempHigh': 21.0, 'manualTemp': 21.0, 'tempOffset': None, 'currentTemp': 22.5, 'windowOpenMinutes': 10}
2024-10-15 11:08:09.883 DEBUG (MainThread) [custom_components.cometblue.coordinator] Finished fetching Comet Blue D0:B5:C2:FA:D7:98 data in 6.631 seconds (success: True)
2024-10-15 11:08:10.263 DEBUG (MainThread) [cometblue] Setting up device D0:B5:C2:F1:64:E3: Comet Blue
2024-10-15 11:08:10.263 DEBUG (MainThread) [cometblue] Connecting to D0:B5:C2:F1:64:E3: Comet Blue
2024-10-15 11:08:19.531 DEBUG (MainThread) [cometblue] Error connecting to D0:B5:C2:F1:64:B6: Comet Blue. Timeout 22s, try 1.
2024-10-15 11:08:19.531 ERROR (MainThread) [custom_components.cometblue.coordinator] Error fetching Comet Blue D0:B5:C2:F1:64:B6 data: (BleakError) Error ESP_GATT_CONN_FAIL_ESTABLISH while connecting: Connection failed to establish
2024-10-15 11:08:19.531 DEBUG (MainThread) [custom_components.cometblue.coordinator] Finished fetching Comet Blue D0:B5:C2:F1:64:B6 data in 18.967 seconds (success: False)
2024-10-15 11:08:25.553 DEBUG (MainThread) [cometblue] Established connection to D0:B5:C2:F1:64:E3: Comet Blue
2024-10-15 11:08:25.651 DEBUG (MainThread) [cometblue] Connected to D0:B5:C2:F1:64:E3: Comet Blue
2024-10-15 11:08:26.986 DEBUG (MainThread) [custom_components.cometblue.coordinator] Received data: {'battery': 77, 'holiday': {}, 'targetTempLow': 16.0, 'windowOpen': None, 'targetTempHigh': 21.0, 'manualTemp': 16.0, 'tempOffset': None, 'currentTemp': 19.0, 'windowOpenMinutes': 10}
2024-10-15 11:08:26.986 DEBUG (MainThread) [custom_components.cometblue.coordinator] Finished fetching Comet Blue D0:B5:C2:F1:64:E3 data in 16.723 seconds (success: True)
2024-10-15 11:08:42.463 ERROR (MainThread) [custom_components.cometblue.coordinator] Error fetching Comet Blue D0:B5:C2:F1:64:EB data: (TimeoutError) Timeout waiting for connect response while connecting to D0:B5:C2:F1:64:EB after 20s, disconnect timed out: True,  after 20.0s
2024-10-15 11:08:42.463 DEBUG (MainThread) [custom_components.cometblue.coordinator] Finished fetching Comet Blue D0:B5:C2:F1:64:EB data in 40.001 seconds (success: False)

Hi Gary,
sorry missed this. How far are your ESPHome devices from the thermostats?
You can try increasing TIMEOUT /custom_components/cometblue/init.py#L41 or increase the number of retries /custom_components/cometblue/init.py#L57.
Just edit the file in your local .config/custom_components/ directory and restart Home Assistant.
Happy to hear if it helps (and which values are more sensible).

Hi @rikroe,
I increased the Timeout to 60 seconds which helped a lot, I also increased the retry count to 3. I also created a script that tries again when the set temperature command errors. I created a loop for that and set continue_on_error for the set temperature command to true and check wehter the temperature changed. Although it is a lot more reliable I still get errors sometimes that trip the script to error out although continue_on_error is set to true.:

It seems like that HomeAssistant is only continuing on error when it is a HomeAssistantError, there is also an open issue in the home assistant core for that.
I started to investigate a bit further and it seems like only the _async_update_data function contains a retry logic, and the send_command does not, Is this true? I actually don't know much about phyton so it is a bit hard for me to understand the code. Maybe It is possible to add the retry logik to the send_command method as well?
I think there should also be something that handles the TimeoutError in the send_command method.

Thanks for the feedback!
Yes, currently there is no retry logic when sending commans - good catch!
I'll see if I find some time this weekend to implement the following (please let me know if you think this should or something is missing):

retry logic not only on receiving data, but also when setting
option to configure the default timeout in HA options (between 10s and 60s, with default of 20s)
Check where to use HomeAssistantError instead of other errors

Yes, looks good, looking forward to the change 👍
I also added the following exception handling to the send_command method:
        except TimeoutError as err:
            raise HomeAssistantError(
                f"Error sending command '{payload}' to '{caller_entity_id}': {err}"
            ) from err

Just pushed an update to 20241110.1. Please read the breaking change section carefully before upgrading!
After implementing a retry for sending data, I realized that the library actually has a retry on connect which I hardcoded to 1.
It is now 3 by default but configurable (https://github.com/rikroe/cometblue-custom-component/commit/0ec887116d5f6c1040e151474cbc991d9f0ba2f0).
Could you update and keep the default values for TIMEOUT and CONNECT_RETRIES to see what happens?
A timeout will be propagated as HomeAssistantError anyways, so continue_on_error should still work.

Ah - maybe wait with updating. It seems the renaming went well on my Test system, but not on my productive HA... Will update.

@rikroe Update: the 20 seconds timeout is still too short for me, I keep getting into rooms that should be heated to a certain temperature and the thermostats were not set. Which is also represented by the log where I still get plenty of these
aioesphomeapi.core.TimeoutAPIError: Timeout waiting for connect response while connecting to D0:B5:C2:F1:6D:23 after 20s, disconnect timed out: True,  after 20.0s

Thank you for your feedback!
I'll see if I find some time to add an options flow. For now, you know where to edit the timeouts 😉

https://github.com/rikroe/cometblue-custom-component/releases/tag/20241117.1
Now included a options to set timeout & retries directly during first init. For existing thermostats, use the reconfigure option of the config flow.

@rikroe I upgraded to the latest version and now Home Assistant is unable to load the component:

2024-11-18 08:11:47.973 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 477, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 567, in _handle
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 210, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper
    return await method(view, request, data, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 172, in post
    return await self._post_impl(request, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 179, in _post_impl
    return await super()._post_impl(request, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 84, in _post_impl
    result = await self._flow_mgr.async_init(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1301, in async_init
    flow, result = await self._async_init(flow_id, handler, context, data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1326, in _async_init
    flow = await self.async_create_flow(handler, context=context, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1518, in async_create_flow
    handler = await _async_get_flow_handler(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 3268, in _async_get_flow_handler
    await _load_integration(hass, domain, hass_config)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 3245, in _load_integration
    await async_process_deps_reqs(hass, hass_config, integration)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 575, in async_process_deps_reqs
    await requirements.async_get_integration_with_requirements(
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 54, in async_get_integration_with_requirements
    return await manager.async_get_integration_with_requirements(domain)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 170, in async_get_integration_with_requirements
    await future
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 159, in async_get_integration_with_requirements
    await self._async_process_integration(integration, done)
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 182, in _async_process_integration
    await self.async_process_requirements(
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 264, in async_process_requirements
    self._raise_for_failed_requirements(name, missing)
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 292, in _raise_for_failed_requirements
    raise RequirementsNotFound(integration, [req])
homeassistant.requirements.RequirementsNotFound: Requirements for eurotronic_cometblue not found<EMAIL_ADDRESS>

I have updated the version manifest - the error shouldn't occur anymore. Sorry for this.

Looks good, thank you for your time and effort 👍


[VMware] Cannot migrate VM on PVLAN shared network

Cannot migrate VM on PVLAN shared network
ISSUE TYPE

Bug Report

COMPONENT NAME
API, UI

CLOUDSTACK VERSION
4.14

CONFIGURATION
VMware environment, dvSwitch guest network
OS / ENVIRONMENT
SUMMARY
Migration fails
STEPS TO REPRODUCE
Create Shared network - specify PVLAN (example: community type)
Deploy VM
Migrate VM

EXPECTED RESULTS
Migration succeeds

ACTUAL RESULTS
Migration fails, attaching screenshot:

Logs:
2020-05-07 23:12:28,116 INFO  [c.c.v.VirtualMachineManagerImpl] (Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123) Migrating VM[User|i-2-8-VM] to Dest[Zone(Id)-Pod(Id)-Cluster(Id)-Host(Id)-Storage(Volume(Id|Type-->Pool(Id))] : Dest[Zone(1)-Pod(1)-Cluster(1)-Host(2)-Storage()]
2020-05-07 23:12:28,120 DEBUG [c.c.n.NetworkModelImpl] (Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123) Service SecurityGroup is not supported in the network id=210
2020-05-07 23:12:28,125 DEBUG [c.c.n.NetworkModelImpl] (Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123) Service SecurityGroup is not supported in the network id=210
2020-05-07 23:12:28,127 ERROR [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123) Invocation exception, caused by: java.lang.ClassCastException: class com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 cannot be cast to class com.cloud.vm.UserVmVO (com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 and com.cloud.vm.UserVmVO are in unnamed module of loader 'app')
2020-05-07 23:12:28,127 INFO  [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123) Rethrow exception java.lang.ClassCastException: class com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 cannot be cast to class com.cloud.vm.UserVmVO (com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 and com.cloud.vm.UserVmVO are in unnamed module of loader 'app')
2020-05-07 23:12:28,127 DEBUG [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-25:ctx-0a8703ef job-79/job-80) (logid:936f1123) Done with run of VM work job: com.cloud.vm.VmWorkMigrate for VM 8, job origin: 79
2020-05-07 23:12:28,127 ERROR [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-25:ctx-0a8703ef job-79/job-80) (logid:936f1123) Unable to complete AsyncJobVO {id:80, userId: 2, accountId: 2, instanceType: null, instanceId: null, cmd: com.cloud.vm.VmWorkMigrate, cmdInfo: rO0ABXNyABpjb20uY2xvdWQudm0uVm1Xb3JrTWlncmF0ZRdxQXtPtzYqAgAGSgAJc3JjSG9zdElkTAAJY2x1c3RlcklkdAAQTGphdmEvbGFuZy9Mb25nO0wABmhvc3RJZHEAfgABTAAFcG9kSWRxAH4AAUwAB3N0b3JhZ2V0AA9MamF2YS91dGlsL01hcDtMAAZ6b25lSWRxAH4AAXhyABNjb20uY2xvdWQudm0uVm1Xb3Jrn5m2VvAlZ2sCAARKAAlhY2NvdW50SWRKAAZ1c2VySWRKAAR2bUlkTAALaGFuZGxlck5hbWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cAAAAAAAAAACAAAAAAAAAAIAAAAAAAAACHQAGVZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwAAAAAAAAAAXNyAA5qYXZhLmxhbmcuTG9uZzuL5JDMjyPfAgABSgAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAAAAAAAAXNxAH4ABwAAAAAAAAACcQB-AAlwcQB-AAk, cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: null, initMsid:<PHONE_NUMBER>6621, completeMsid: null, lastUpdated: null, lastPolled: null, created: Thu May 07 23:12:27 UTC 2020, removed: null}, job origin:79
java.lang.ClassCastException: class com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 cannot be cast to class com.cloud.vm.UserVmVO (com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 and com.cloud.vm.UserVmVO are in unnamed module of loader 'app')
	at com.cloud.network.element.VirtualRouterElement.prepareMigration(VirtualRouterElement.java:1226)
	at org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepareNicForMigration(NetworkOrchestrator.java:1778)
	at com.cloud.vm.VirtualMachineManagerImpl.migrate(VirtualMachineManagerImpl.java:2358)

Strangely, assert check passes but casting fails:
} else if (vm.getType() == VirtualMachine.Type.User) {
            assert vm instanceof UserVmVO;
            final UserVmVO userVm = (UserVmVO) vm.getVirtualMachine();
            _userVmMgr.setupVmForPvlan(false, userVm.getHostId(), nic);
}`

Strangely, assert check passes but casting fails:
} else if (vm.getType() == VirtualMachine.Type.User) {
            assert vm instanceof UserVmVO;
            final UserVmVO userVm = (UserVmVO) vm.getVirtualMachine();
            _userVmMgr.setupVmForPvlan(false, userVm.getHostId(), nic);
}

Are yousure you ran with asserts turned on? better make this a regular java check, as hardly ever the system is tested with asserts on.


Bootstrap normalize from box problem.

My story is... I wrote complex responsive html-code using latest version (4 beta) of twitter bootstrap. After all I started ios safari, ios chrome, mac os safari and found out problems I didn't see in other browsers. I started to dig deeper, and found out that problem comes from Laravel installation. I am using cdn version of bootstrap, I repeat latest version. In laravel app.css you have normalize bootstrap code.  And I didn't see for some reasons from the very beginning. Yes, my fault. But why did you include this old code to the app.css? You don't use any js for bootstrap but use css. Where is logic? It is should not be part of framework. Actual version of normalize is 7, but you use 3. Guys, strange thing.  You created a big problem for me.

It sounds like your problem is with https://github.com/laravel/laravel/ and not this repository. It also sounds like you're asking why laravel/laravel isn't using a beta non-stable version of Bootstrap.  It doesn't make sense.
Close this issue, and open one at https://github.com/laravel/laravel/. Make sure you include links to the files you have questions about, because as I understand it, there's no normalize going on in https://github.com/laravel/laravel/blob/master/resources/assets/sass/app.scss

Ok, I'll close, but how to create issue at https://github.com/laravel/laravel/, there is no such possibility?..
I used composer create-project laravel/laravel and I've got this - https://github.com/laravel/laravel/blob/master/public/css/app.css.
I knew that somebody'll say that - "why laravel/laravel isn't using a beta non-stable version of Bootstrap". My bad, I didn't explain my point view exactly.
Thing you are talking about is not the point. I mean that you are not expect to get some version of bootstrap (as it is optional feature and not backend thing) when you install php framework.

Ah. That is the generated css from https://github.com/laravel/laravel/blob/master/resources/assets/sass/app.scss. The structure of the output indicates that it is indeed bootstrap-sass that is using normalize v3. This can be verified by looking in the sourcecode of the bootstrap-sass project; https://github.com/twbs/bootstrap-sass/blob/3.3-stable/assets/stylesheets/bootstrap/_normalize.scss
If you have any question about the version of normalize.css, ask them.


(range) freezes auto eval

I'm new to proto-repl and it seems really great so far, but I did notice that one of the examples from the README does not work.

If I type (range) into a file during autoeval my CPU jumps into high gear, I don't see any evaluted result and I have to manually kill the REPL Java process to recover.
Initially I thought it might be due to Pretty Print, but I tested it with it off as well and it doesn't make a difference. Autoeval seems like a great feature, but I'll need to keep it off if it kills my CPU.
Let me know if you need any additional info about my setup.

Try using (set! *print-length* 50) in your user.clj and see if that resolves the problem. This is something I want to fix. I thought the presence of the ... in the output would break the parsing but that doesn't seem to be the case. I just tried that and it works. I may build this into the proto repl settings if it works out.

I checked the README and didn't see a reference to it.
Running (set! *print-length* 50) in the REPL does not seem to fix it.

user.clj is usually in the dev folder of a Clojure project and used to customize the REPL. See the example one in the Proto REPL demo project.
https://github.com/jasongilman/proto-repl-demo/blob/master/dev/user.clj
Sent from my phone

On Nov 24, 2016, at 10:48 AM, James F McMahon<EMAIL_ADDRESS>wrote:
Potentially dumb question, where is user.clj?
I checked the README and didn't see a reference to it.
Running (set! print-length 50) in the REPL does not seem to fix it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I haven't had any luck adding dev/user.clj to my own project. It just doesn't get picked up and loaded by the REPL, not sure what I am missing.
When I add (set! *print-length* 50) to the user.clj in the proto-repl-demo project I get the following error:
Exception in thread "main" java.lang.ExceptionInInitializerError
	at clojure.main.<clinit>(main.java:20)
Caused by: java.lang.IllegalStateException: Can't change/establish root binding of: *print-length* with set, compiling:(user.clj:14:1)
	at clojure.lang.Compiler.load(Compiler.java:7391)
	at clojure.lang.RT.loadResourceScript(RT.java:372)
	at clojure.lang.RT.loadResourceScript(RT.java:359)
	at clojure.lang.RT.maybeLoadResourceScript(RT.java:355)
	at clojure.lang.RT.doInit(RT.java:475)
	at clojure.lang.RT.<clinit>(RT.java:331)
	... 1 more
Caused by: java.lang.IllegalStateException: Can't change/establish root binding of: *print-length* with set
	at clojure.lang.Var.set(Var.java:221)
	at user$eval1947.invokeStatic(user.clj:14)
	at user$eval1947.invoke(user.clj:14)
	at clojure.lang.Compiler.eval(Compiler.java:6927)
	at clojure.lang.Compiler.load(Compiler.java:7379)
	... 6 more
Subprocess failed

Adding dev to the path is done in the project.clj of your project. Try cloning the demo project and using that. You can take a look the project.clj there to see how it's done.
I'm not familiar with that error you're seeing. I'm wondering if it has to do with the way your project is setup. See if the demo project works better for you. If it does you can try using some of those settings in your own project.
Sent from my phone

On Nov 24, 2016, at 4:27 PM, James F McMahon<EMAIL_ADDRESS>wrote:
I haven't had any luck adding dev/user.clj to my own project. It just doesn't get picked up and loaded by the REPL, not sure what I am missing.
When I add (set! print-length 50) to the user.clj in the proto-repl-demo project I get the following error:
Exception in thread "main" java.lang.ExceptionInInitializerError
at clojure.main.(main.java:20)
Caused by: java.lang.IllegalStateException: Can't change/establish root binding of: print-length with set, compiling:(user.clj:14:1)
at clojure.lang.Compiler.load(Compiler.java:7391)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.loadResourceScript(RT.java:359)
at clojure.lang.RT.maybeLoadResourceScript(RT.java:355)
at clojure.lang.RT.doInit(RT.java:475)
at clojure.lang.RT.(RT.java:331)
... 1 more
Caused by: java.lang.IllegalStateException: Can't change/establish root binding of: print-length with set
at clojure.lang.Var.set(Var.java:221)
at user$eval1947.invokeStatic(user.clj:14)
at user$eval1947.invoke(user.clj:14)
at clojure.lang.Compiler.eval(Compiler.java:6927)
at clojure.lang.Compiler.load(Compiler.java:7379)
... 6 more
Subprocess failed
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Just to clarify, the exception I had about was from the demo project.
Haven't had a chance to do much Clojure lately, I'll get back to this when I get a chance and give you some more info.


Obey custom openapi_url

The generated versioned docs should obey the FastAPI.openapi_url value, rather than hard coding /openapi.json. This is already true for /docs and /redoc.

Ahh, i didn't realize it had a field for that. I'll release a fix today for that.

New version 2.1.1 is out with the fix for this


Instrument Redis transaction commands as child spans of a MULTI-EXEC span

Is your feature request related to a problem? Please describe

Redis enables executing commands as part of a transaction:
> MULTI
OK
> SET foo bar
QUEUED
> INCR baz
QUEUED
> EXEC
1) (integer) 1
2) (integer) 1

This, currently, yields 4 spans:

operation: redis-multi
operation: redis-incr
operation: redis-set
operation: redis-exec

It is very difficult to understand the results of each of the inner-transaction commands or the general status (success/failure) of the transaction with reference to the inner-transaction commands.

Describe the solution you'd like to see
It could be beneficial if the inner-transaction commands could be child spans of the redis-multi span.
In addition, it could be amazing if somehow we can attach the results from redis-exec response and set it to the inner spans.
Describe alternatives you've considered

Additional context

I think this comes down to a question of your tracing philosophy. In my opinion, the current behavior is correct. The incr and set commands are still sent to the server, and the span still traces that operation even though they are queued and not run. Additionally, the send to the server for the incr and set commands was successful even if the exec command fails. WRT the parent-child relationship, I can see this argument both ways. My personal opinion is that these spans are all sibling spans, because one does not happen as a direct result of another one.


Issue when using templating in code blocks

Hi maintainers,
I am having the following issue. Every pieces of code between {{}} disappear (including the brackets) after the formatting and deployment of an article with fastpages. I understood that fastpages uses some templating like for example to render images with {{site.baseurl}}. But I have the feeling that the algorithm is trying to run or harness any types of templating which leads to some issues. More specifically, look at this code
name: CI Pipeline for summarize_df
on:
  - push
  - pull_request
jobs:
  build:
    runs-on: ${{matrix.platform}}
    strategy:
      matrix:
        platform: [ubuntu-latest, macos-latest, windows-latest]
        python-version: [3.7, 3.8, 3.9]
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        python -m pip install poetry
        poetry install
    - name: Test with tox
      run: poetry run tox

And look how it is rendered in this article here
Do you have an idea how to circumvent this problem?
Many thanks
Faouzi

Hello people,
An update here since I had time to really look for an answer.
If someone face the same issue I found these answers on StackOverflow.
All the best,
Faouzi