Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[intesis] Session Handling improved #16555

Closed
wants to merge 3 commits into from
Closed

[intesis] Session Handling improved #16555

wants to merge 3 commits into from

Conversation

fd0cwp
Copy link
Contributor

@fd0cwp fd0cwp commented Mar 21, 2024

I have changed the login process so that the binding now only logs in at the beginning and logs out at the end of the lifetime. If a request fails due to a missing login or an invalid session ID, a new login attempt is made.

This ensures that

  • Several requests can be sent in direct succession (if I switch the air conditioning from cooling to heating, I also want to change the slats at the same time)
  • Less traffic is generated as there is not a constant logout and login again
  • Ideally, the login credentials should only be visible once at startup

Last change: login and logout is now running asynchronously in a scheduled task (#16476).

This change fixes #15502.

Signed-off-by: Christoph fd0cwp@gmx.de

I have changed the login process so that the binding now only logs in at the beginning and logs out at the end of the lifetime. If a request fails due to a missing login or an invalid session ID, a new login attempt is made.

This ensures that
- Several requests can be sent in direct succession (if I switch the air conditioning from cooling to heating, I also want to change the slats at the same time)
- Less traffic is generated as there is not a constant logout and login again
- Ideally, the login credentials should only be visible once at startup

Last change: login and logout is now running asynchronously in a scheduled task (#16476).

Signed-off-by: Christoph <fd0cwp@gmx.de>
@fd0cwp fd0cwp requested a review from hmerk as a code owner March 21, 2024 20:19
@fd0cwp
Copy link
Contributor Author

fd0cwp commented Mar 21, 2024

@jlaur, @lsiepel: next try 🙄

Copy link
Contributor

@jlaur jlaur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. One small comment when reviewing this again in its entirety. Otherwise LGTM.

String contentString = "{\"command\":\"logout\",\"data\":{\"sessionID\":\"" + sessionId + "\"}}";
logger.trace("logout() - session ID: {}", sessionId);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last thing - if sessionId.isEmpty() it will not make sense to try to log out.

@jlaur jlaur added bug An unexpected problem or unintended behavior of an add-on regression Regression that happened during the development of a release. Not shown on final release notes. labels Mar 21, 2024
@fd0cwp fd0cwp marked this pull request as draft March 24, 2024 19:40
fd0cwp and others added 2 commits March 24, 2024 20:49
I have changed the login process so that the binding now only logs in at the beginning and logs out at the end of the lifetime. If a request fails due to a missing login or an invalid session ID, a new login attempt is made.

This ensures that
- Several requests can be sent in direct succession (if I switch the air conditioning from cooling to heating, I also want to change the slats at the same time)
- Less traffic is generated as there is not a constant logout and login again
- Ideally, the login credentials should only be visible once at startup

This change fixes #15502.

Signed-off-by: Christoph fd0cwp@gmx.de
@fd0cwp
Copy link
Contributor Author

fd0cwp commented Mar 24, 2024

I don't get it with fixing PR change requests. :-(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug An unexpected problem or unintended behavior of an add-on regression Regression that happened during the development of a release. Not shown on final release notes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Intesis] Binding does not work when sending two Commands directly after another
2 participants