JoDehli / PyLoxone

Python Loxone binding
Apache License 2.0
164 stars 40 forks source link

Error on connection to PyLoxone #58

Closed vicfalls closed 3 years ago

vicfalls commented 3 years ago

Hi @JoDehli

I changed my Loxone/HASS user including the password. Since then I've got following error massage.

Logger: custom_components.loxone.miniserver Source: custom_components/loxone/miniserver.py:135 Integration: PyLoxone (documentation, issues) First occurred: 17:05:03 (1 occurrences) Last logged: 17:05:03

Error connecting to loxone miniserver

Might this be a Loxone topic?

Thanks for your support Vic

Meanwhile I deleted the user and implemented a new one at Loxone and Hass. No change on the connection.....


Update: I deinstalled the FTP server from HASS. This was the only change I made before.

In the meantime I totally recovered the Home Assistant with a working Loxone repository from a 2 days old backup. I also did an update to Loxone V12.x Now I have following error massage:

Logger: custom_components.loxone.miniserver Source: custom_components/loxone/miniserver.py:118 Integration: PyLoxone (documentation, issues) First occurred: 21:31:26 (1 occurrences) Last logged: 21:31:26

Error connecting to loxone miniserver #2

JoDehli commented 3 years ago

Try to change the IP of the Hass installation. It happens to me that the Miniserver blocked the IP because of the failed login attempts.

vicfalls commented 3 years ago

Change of the IP didn't help. Do you have another idea or do I have to setup Hass from scretch? Thanks for sharing your experience...

JoDehli commented 3 years ago

You first can try this little program:

https://github.com/JoDehli/LoxGui/tags

Download the zip and extract it. It is a little gui program for connecting wit the loxone with the same code I use in pyloxone. Try the the new user and password. If it connects you know the password and user works.

by the way are you on the latest pyloxone version. The beta?

vicfalls commented 3 years ago

Hallo Joachim,

darf ich dich um eine kurze Anleitung bitten, denn momentan bin ich ein wenig überfordert. Ich arbeite auf einem Mac mit Windows auf VM.

Danke Vic

vicfalls commented 3 years ago

PS.: Ich habe die 0.3.3 installiert

JoDehli commented 3 years ago

Einfach das zip file unter windows herunterladen, entpacken und starten. Ist halt als Windows exe gepackt nicht für mac.

JoDehli commented 3 years ago

Das Programm ist nur für den Test ob die Verbindung überhaupt hergestellt werden kann.

vicfalls commented 3 years ago

sorry, da hätte ich selber drauf kommen können. ich hatte nicht das WindowsExecutable sonder den SourceCode heruntergeladen... ohne Worte

ich habe nun folgende Rückmeldung:

Try to connect... Traceback (most recent call last): File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\adapters.py", line 48, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\interfaces.py", line 49, in request File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\connection_pool.py", line 130, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\connection_pool.py", line 120, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\connection.py", line 59, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\http11.py", line 58, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\http11.py", line 130, in _receive_response File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\http11.py", line 164, in _receive_event File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\concurrency.py", line 107, in read http3.exceptions.ReadTimeout

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "main.py", line 75, in connect_to_loxone File "C:\Users\Joachim\Desktop\gui\LoxGui\api.py", line 66, in getJson File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\api.py", line 11, in get File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\api.py", line 6, in request File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\sessions.py", line 79, in request File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\sessions.py", line 136, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\adapters.py", line 62, in send requests.exceptions.ReadTimeout

vicfalls commented 3 years ago

hier mit einem neuen User

Try to connect... Traceback (most recent call last): File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\h11_state.py", line 249, in _fire_event_triggered_transitions KeyError: <class 'h11._events.ConnectionClosed'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "main.py", line 75, in connect_to_loxone File "C:\Users\Joachim\Desktop\gui\LoxGui\api.py", line 66, in getJson File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\api.py", line 11, in get File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\api.py", line 6, in request File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\sessions.py", line 79, in request File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\sessions.py", line 136, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\requests_async\adapters.py", line 48, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\interfaces.py", line 49, in request File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\connection_pool.py", line 130, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\connection_pool.py", line 120, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\connection.py", line 59, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\http11.py", line 58, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\http11.py", line 130, in _receive_response File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\http3\dispatch\http11.py", line 161, in _receive_event File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\h11_connection.py", line 439, in next_event File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\h11_util.py", line 72, in _reraise_as_remote_protocol_error File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\h11_connection.py", line 422, in next_event File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\h11_connection.py", line 238, in _process_event File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\h11_state.py", line 238, in process_event File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\h11_state.py", line 251, in _fire_event_triggered_transitions h11._util.RemoteProtocolError: can't handle event type ConnectionClosed when role=SERVER and state=SEND_RESPONSE

JoDehli commented 3 years ago

Kommt die configuration an? Also siehst du die config auf einem der beiden Tabs.

vicfalls commented 3 years ago

Habe mit deinem Programm auf dem 2. Tab die gesamte Basisinfo des Miniservers. Habe am Hass die gleichen Einstellungen übernommen. Funktioniert leider immer noch nicht. am erste Tab habe ich folgende Meldung:

Try to connect... Got Config from Loxone. Port and Host ok. Traceback (most recent call last): File "main.py", line 87, in connect_to_loxone File "C:\Users\Joachim\Desktop\gui\LoxGui\api.py", line 374, in async_init File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\websockets\protocol.py", line 555, in send File "C:\Users\Joachim\Desktop\gui\LoxGui\venv\lib\site-packages\websockets\protocol.py", line 812, in ensure_open websockets.exceptions.ConnectionClosedOK: code = 1000 (OK), reason = normally closed

Mir fiel gerade auf, dass die lox_token.conf Datei nicht im Conf Ordner vorhanden ist.

JoDehli commented 3 years ago

OK was für eine Miniserver Version hast du. Kannst du den Teil mit der Miniversion hier rein kopieren? Aus dem Tab mit deR configuration

vicfalls commented 3 years ago

Ich habe einen Miniserver Go, Gen1
Die Token Datei, die bei deinem Tool generiert wird, hat auch keinen Inhalt {"_token": "", "_valid_until": ""}

"lastModified": "2021-04-01 19:19:56", "msInfo": { "serialNr": "xxxxxxxxxxx", "msName": "xxxxxxx", "projectName": "xxxxxxxx", "localUrl": "192.168.xxx.xxx", "remoteUrl": "", "tempUnit": 0, "currency": "€", "squareMeasure": "m²", "location": "", "languageCode": "DEU", "heatPeriodStart": "10-01", "heatPeriodEnd": "04-30", "coolPeriodStart": "05-01", "coolPeriodEnd": "09-30", "catTitle": "Kategorie", "roomTitle": "Räume", "miniserverType": 1, "deviceMonitor": "0f75764b-0177-0eb0-ffff6f4bfad385ea", "currentUser": { "name": "xxxxxx", "uuid": "xxxxxx", "isAdmin": true, "changePassword": true, "userRights": 16383

JoDehli commented 3 years ago

Also ich gehe davon aus dass es wirklich an der geblovlten IP Adresse liegt. Kannst du der vm eine andere IP geben und dann noch Mal versuchen. Das hassio läuft ja nicht auf der Windows vm oder?

vicfalls commented 3 years ago

Nein, der Hasso ist auf einen ResPi. Ich werde nochmals die IP des ResPi ändern. Muss ich hier auf irgendetwas acht geben? Eine Reihenfolge einhalte oder so?

JoDehli commented 3 years ago

Ich würde es erst an der vm versuchen. Das sollte nur ein Klick sein.

vicfalls commented 3 years ago

habe ich probiert. auch habe ich es mit einem anderen Windows Rechner versucht. Immer das gleiche Ergebnis.....

vicfalls commented 3 years ago

kann man auf der Loxone Seite nicht was machen?

JoDehli commented 3 years ago

Kein Ahnung. Du kannst auch alles erst einmal ruhen lassen und es morgen noch einmal probieren. Irgendwann wird die geblockte IP wieder frei gegeben.

vicfalls commented 3 years ago

OK, Danke für deine Geduld und Hilfe.

JoDehli commented 3 years ago

@vicfalls bevor du wieder pyloxone auf dem rasp installierst lösche bitte die lox_token.cfg die noch auf deinem System ist. Diese liegt im config Ordner. Einfach Samba Addon installieren. Weißt du wie das geht?

JoDehli commented 3 years ago

@vicfalls Ich habe auch noch was am Code geändert. Wenn sich nun das Password oder der User ändert versuche ich nicht mehr neu zu verbinden. Dann musst du erst das Password und User in Pyloxone ändern und neu starten. Dann sollte der Fehler und die Schwierigkeiten nicht mehr vorkommen.

Außerdem habe ich noch die Fehlermeldung wenn ein falsches Password oder Benutzernamen verwendet wird wie folgt geändert:

401 - Unauthorized: the requesting user was not authorized (invalid username/password)- Processing an encrypted request failed

vicfalls commented 3 years ago

Hi Jo, vielen Dank für Information. Ich bin heute noch nicht dazu gekommen. Ich habe mal über Nacht den Hass ausgeschaltet. Ich werde die lox_token.cfg löschen, PyLoxone deinstallieren und danach wieder installieren. Zusätzlich werde auf der Loxone nochmals einen neuen User hinzufügen um ganz sicher zu gehen. Danke für die Änderungen. Ich werde das heute am Abend installieren und dir eine Rückmeldung schicken.

vicfalls commented 3 years ago

Hi Jo, ich habe jetzt einen neuen Benutzer, die IP der Hass geändert und dann habe den Error 401 bekommen. In der Zwischenzeit liest Hass alle Loxone Entities wieder ein. Der neue Benutzer funktioniert tadellos mit der LoxoneApp und LoxoneConfig. Also muss der Fehler in der Kommunikation zwischen Hass und Loxone liegen. Genauer, wie von dir bereits beschrieben, im Sperren von Usern bei zu vielen falschen Anfragen. Ich habe auch mit den LoxoneUser PWDs gespielt, leider immer das gleiche Resultat. Ich werde das Ganze nun paar Tage ruhen lassen und nach Ostern wieder versuchen. Frohe Ostern

JoDehli commented 3 years ago

Das einfachste wäre die IP vom Hass zu ändern.

JoDehli commented 3 years ago

@vicfalls und läuft dein System wieder?

vicfalls commented 3 years ago

@JoDehli ich bin noch nicht dazu gekommen, werde es morgen wieder versuchen. Geb dir danach Bescheid.

vicfalls commented 3 years ago

@JoDehli, ich habe den Hass auf eine neue IP gesetzt und die Version 0.3.3 installiert. Wie schon beschrieben bin ich auf Loxone V12.0.2.24 - denke, dass ich das selbe Problem wie in Issue #59 beschrieben habe. Ich habe in der Zwischenzeit viel in div. Foren gelesen und bin über folgenden Hinweis gestolpert. Kann das der Grund sein?

JoDehli commented 3 years ago

Das war 2015. Ich weiß schon was sich geändert hat. Der Token wird nun mit SHA256 anstatt mit SHA1 gehashed. Mehr nicht. Das habe ich implementiert und es geht bei mir. Weil einige noch die alte Firmware haben habe ich die alte wieder eingepflegt und schaue nun welche firmware Version der Nutzer hat. Wenn ein alter Token schon da ist lauft natürlich beim ersten Start ein Fehler auf. Wenn der Fehler aufläuft lösche ich den alten Token. Danach sollte beim Neustart der neue Token mit der neuen Hash Methode generiert werden. Funktioniert bei mir prima ohne Probleme.

Für mich ist es schwierig bis unmöglich das Problem zu lösen wenn ich den Fehler nicht nachvollziehen kann. Sorry. Kann da leider nix machen. Wusste auch nicht wie. Am besten die alte Version nehmen. Die geht noch für die ganze 12er Firmware. Aber bei der 13er wird. Ur noch die neue SHA256 gehen.

vicfalls commented 3 years ago

Mit der 0.3.2 bekomme ich wieder den "Error connecting to loxone miniserver" Fehler. Mit der 0.3.3 den "401 - Unauthorized:" Fehler. In beiden Versionen wird auch keine lox_token.conf Datei erstellt. Ich habe versucht nochmals nachzuvollziehen, was ich geändert habe. Außer der Deinstallation von OpenSSH und die Änderung des Loxone-Benutzers habe ich am Hass nichts geändert. Ich lasse das System mal laufen und werde in per Zeiten immer wieder neu starten. Danke für deine Hilfe.

vicfalls commented 3 years ago

ich habe nochmals die IP vom Hass geändert und 0.3.2 erneut installiert, leider noch immer keine Verbindung. Die lox_token.conf Datei wird auch erstellt. Lass den Hass mal laufen....

JoDehli commented 3 years ago

Kannst du noch Mal die neueste Version 0.3.3 probieren. Ich verstehe es einfach nicht was da schief läuft. Ist so komisch dass bei mir alles läuft. Bekomme nie die Fehlermeldung egal welche Version ich installiere.

Wichtig vor du die Version installierst bitte noch Mal den Token löschen. Dann sollte im Token File auch die Hash Methode drin stehen.

vicfalls commented 3 years ago

@JoDehli , ich habe nun den Hass auf einem neuen RasPi aufgesetzt und die Kommunikation funktioniert wieder perfekt. Ich denke, dass durch das mehrmalige ändern der IP der DHCP Server irgendwie die Adressen falsch aufgelöst hat und dadurch Loxone die Anfrage blockiert hat. Wie auch immer, es funktioniert wieder. Vielen Dank für deine Unterstützung Vic

JoDehli commented 3 years ago

Mich würde noch interessieren ob es mit dem alten Raspberry und der neuen Version jetzt geht. Vielleicht kannst du das bei Gelegenheit noch testen und mit Rückmeldung geben.

vicfalls commented 3 years ago

@JoDehli, ich habe nun den alten Raspberry wieder im Einsatz und habe auch die Version 0.3.3 laufen. Alles funktioniert wie es soll. Das DHCP Problem hat sich korrekt "aufgelöst". :-) Danke nochmals Vic

JoDehli commented 3 years ago

Ich hatte noch mal was geändert vielleicht lag es auch dran. Aber egal Hauptsache es geht.