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

Connection impossible #5

Open
o0larrylurex0o opened this issue Apr 27, 2023 · 12 comments
Open

Connection impossible #5

o0larrylurex0o opened this issue Apr 27, 2023 · 12 comments

Comments

@o0larrylurex0o
Copy link

o0larrylurex0o commented Apr 27, 2023

Bonjour,

J'utilise ton script (packagé ici avec celui qui fonctionne en local)
https://github.com/SebLz/ha-addons/tree/main/maestro_gateway

Ton script ne fonctionne plus, on est plusieur à avoir le problème, a priori cela pourrait venir des serveurs MCZ.

Est ce qu'il serait possible de regarder pour voir si un fix est possible ?
nouveau 3.txt

D'avance merci

@monimiX
Copy link

monimiX commented Apr 27, 2023

Pour suivi, même problème, d'après ce que j'ai pu constater c'est le websocket qui se déconnecté, la connexion initiale a l'air de fonctionner :

023-04-27 08:24:46,462 :engineio.client :: INFO :: Polling connection accepted with {'sid': 'xxxxx', 'upgrades': ['websocket'], 'pingInterval': 5000, 'pingTimeout': 25000, 'maxPayload': 1000000}
Engine.IO connection established
2023-04-27 08:24:46,463 :socketio.client :: INFO :: Engine.IO connection established
2023-04-27 08:24:46,464 :engineio.client :: INFO :: Sending packet MESSAGE data 0
2023-04-27 08:24:46,465 :engineio.client :: INFO :: Attempting WebSocket upgrade to ws://13.80.100.135:9000/socket.io/?transport=websocket&EIO=3
2023-04-27 08:24:46,533 :engineio.client :: INFO :: WebSocket upgrade was successful
2023-04-27 08:24:46,535 :engineio.client :: INFO :: Sending packet PING data None
Reconnection successful
2023-04-27 08:24:46,539 :socketio.client :: INFO :: Reconnection successful
2023-04-27 08:24:46,549 :engineio.client :: INFO :: Received packet MESSAGE data 0
Namespace / is connected
2023-04-27 08:24:46,551 :socketio.client :: INFO :: Namespace / is connected
2023-04-27 08:24:46,554 :root :: INFO :: Connected
2023-04-27 08:24:46,556 :root :: INFO :: SID is : xxxxx
Emitting event "join" [/]
2023-04-27 08:24:46,556 :engineio.client :: INFO :: Received packet NOOP data None
2023-04-27 08:24:46,557 :socketio.client :: INFO :: Emitting event "join" [/]
2023-04-27 08:24:46,561 :engineio.client :: INFO :: Sending packet MESSAGE data 2["join",{"serialNumber":"xxxxx","macAddress":"xxxxx","type":"Android-App"}]
Emitting event "chiedo" [/]
2023-04-27 08:24:46,563 :socketio.client :: INFO :: Emitting event "chiedo" [/]
2023-04-27 08:24:46,565 :engineio.client :: INFO :: Sending packet MESSAGE data 2["chiedo",{"serialNumber":"xxxxx","macAddress":"xxxxx","tipoChiamata":0,"richiesta":"RecuperoParametri"}]
Emitting event "chiedo" [/]
2023-04-27 08:24:46,567 :socketio.client :: INFO :: Emitting event "chiedo" [/]
2023-04-27 08:24:46,569 :engineio.client :: INFO :: Sending packet MESSAGE data 2["chiedo",{"serialNumber":"xxxxx","macAddress":"xxxxx","tipoChiamata":1,"richiesta":"C|RecuperoInfo"}]
2023-04-27 08:24:46,574 :engineio.client :: WARNING :: WebSocket connection was closed, aborting
2023-04-27 08:24:46,575 :engineio.client :: INFO :: Waiting for write loop task to end

@kiloloz71
Copy link

Bonjour, même probleme (même type de log) de mon côté depuis hier matin. Pourtant, l'appli native mcz fonctionne bien.
Merci d'avance si quelqu'un a une solution.
Cordialement
Laurent

@SkyPhilHome
Copy link
Contributor

Bonjour,
C'est effectivement bizarre.
La connexion initiale semble ok mais le websocket se déconnecte.
Difficile de vérifier depuis le boulot.
A la maison, mon Jeedeom est connecté sur le poêle via wifi.
Sur mon Jeedom, je vois bien les commandes envoyée depuis l'application officielle.
Ce qui semble exclure une défaillance des serveurs MCZ.

@monimiX
Copy link

monimiX commented Apr 27, 2023

Je me permet de rebondir sur la discussion j'ai commencé a analyser le problème, j'ai une connaissance socket sous Node mais pas sous Python, je rame ^^
dernieres lignes de mon log :
2023-04-27 19:52:36,728 :engineio.client :: INFO :: Sending packet MESSAGE data 2["chiedo",{"serialNumber":"xxxx","macAddress":"xxxx","tipoChiamata":1,"richiesta":"C|RecuperoInfo"}]
2023-04-27 19:52:36,733 :engineio.client :: WARNING :: WebSocket connection was closed, aborting
2023-04-27 19:52:36,734 :engineio.client :: INFO :: Waiting for write loop task to end
2023-04-27 19:52:36,735 :engineio.client :: INFO :: Exiting write loop task
2023-04-27 19:52:36,737 :engineio.client :: INFO :: Waiting for ping loop task to end
2023-04-27 19:52:36,739 :engineio.client :: INFO :: PONG response has not been received, aborting
2023-04-27 19:52:36,740 :engineio.client :: INFO :: Exiting ping task
Engine.IO connection dropped
2023-04-27 19:52:36,742 :socketio.client :: INFO :: Engine.IO connection dropped
2023-04-27 19:52:36,747 :root :: ERROR :: Disconnected

Edit : J'ai lancé le projet en local en repartant de 0 cela semble fonctionner.. petite erreur que j'ai du ajuste car les requêtes HTTP ne passait pas via le engineio.

@NERVxxxx
Copy link

NERVxxxx commented Apr 27, 2023

Hello,

L'appli MCZ marche bien et n'a pas été mise à jour. Donc il faut connaitre quelle est la différence entre l'appli et le script python. Pour moi, je pense à une restriction de la part de MCZ qui vérifierait le User-Agent. Vous en pensez quoi ?

Voici à quoi ressemble la requête que l'on envoie :

GET /socket.io/?transport=polling&EIO=3&t=XXXXX HTTP/1.1
Host: app.mcz.it:9000
User-Agent: python-requests/2.27.1
Accept-Encoding: gzip, deflate
Accept: /
Connection: keep-alive

Après, ils ont très bien pu faire des changements au niveau de leur serveur ce qui crée un problème de compatibilité avec cette solution.

@monimiX
Copy link

monimiX commented Apr 27, 2023

ça n'a pas l'air d'être un problème lié a ça, dans mon edit plus haut j'ai indiqué que cela marchait, bien depuis mon pc, le problème a l'air d'être lié a l'encapsulation du script dans HA, a voir avec SebLz du coup..

@NERVxxxx
Copy link

NERVxxxx commented Apr 27, 2023

C'est bon trouvé ! Cela vient de cette ligne dans le fichier install :
pip3 install python-engineio==3.14.2

Il faut la remplacer par :
pip3 install python-engineio

Une version plus récente de python-engineio permet d'éviter le problème.

@SkyPhilHome
Copy link
Contributor

Je viens de vérifier sur ma machine

python-socketio 5.7.2
python-engineio 4.3.4

Cela semble confirmer le soucis de version

@SebLz
Copy link

SebLz commented Apr 27, 2023

Merci pour les retours, j'ai mis à jour les packages dans mon add-on HA :)

@monimiX
Copy link

monimiX commented Apr 27, 2023

Effectivement, je comprends mieux pourquoi sur une install fraiche depuis mon pc tout était ok. Merci.

@SkyPhilHome
Copy link
Contributor

SkyPhilHome commented Apr 27, 2023

Changement de code proposé : retirer le n° de version dans le fichier install
#6
@pipolaq , si tu passe dans le coin, un petit merge de la pull request svp

@kiloloz71
Copy link

Thanks a lot
Works fine again !!! 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants