NEWS
Neuer Adapter für Roborock-Staubsauger
-
@copystring Nein im Cmd von mitmproxy.
Der Start.
mit Bash Script
C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\mitmweb.exe --listen-port 9090 --web-port 9091 --set tls_version_client_min=TLS1_3 --mode wireguard -s C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py Pause[23:47:57.984] Loading script C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py [23:47:58.017] Initializing WireGuard server ... [23:47:58.017] WireGuard server listening for UDP connections on 0.0.0.0:9090 and [::]:9090 ... [23:47:58.017] WireGuard server successfully initialized. [23:47:58.017] ------------------------------------------------------------ [Interface] PrivateKey = Address = 10.0.0.1/32 DNS = 10.0.0.53 [Peer] PublicKey = AllowedIPs = 0.0.0.0/0 Endpoint = 10.0.0.3:9090 ------------------------------------------------------------ [23:47:58.034] WireGuard server listening at *:9090. [23:47:58.034] Web server listening at http://127.0.0.1:9091/ [23:48:08.804][10.0.0.1:57020] client connect [23:48:08.804][10.0.0.1:62599] client connect [23:48:08.804][10.0.0.1:61335] client connect [23:48:08.804][10.0.0.1:64527] client connect [23:48:08.804][10.0.0.1:49858] client connect [23:48:08.830][10.0.0.1:60201] client connect [23:48:08.864][10.0.0.1:64843] client connect [23:48:08.881][10.0.0.1:64843] server connect 17.248.209.64:443 [23:48:09.695][10.0.0.1:64843] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option. [23:48:09.695][10.0.0.1:64843] client disconnectdann fortlaufen.
[23:49:21.680][10.0.0.1:52312] client disconnect [23:49:22.146][10.0.0.1:49597] client connect [23:49:22.284][10.0.0.1:63804] client connect [23:49:22.304][10.0.0.1:63804] server connect 216.58.212.174:443 [23:49:22.323][10.0.0.1:63805] client connect [23:49:22.354][10.0.0.1:63805] server connect 17.248.209.64:443 [23:49:22.361][10.0.0.1:63804] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [23:49:22.364][10.0.0.1:63804] client disconnect [23:49:22.365][10.0.0.1:63804] server disconnect 216.58.212.174:443 [23:49:22.365][10.0.0.1:52816] client connect [23:49:22.384][10.0.0.1:63805] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option. [23:49:22.387][10.0.0.1:63805] client disconnect [23:49:22.389][10.0.0.1:63805] server disconnect 17.248.209.64:443 [23:49:22.519][10.0.0.1:63806] client connect [23:49:22.541][10.0.0.1:63806] server connect 216.58.212.174:443 [23:49:22.603][10.0.0.1:63806] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [23:49:22.605][10.0.0.1:63806] client disconnect [23:49:22.605][10.0.0.1:63806] server disconnect 216.58.212.174:443 [23:49:22.611][10.0.0.1:55374] client connect [23:49:22.738][10.0.0.1:63807] client connect [23:49:22.757][10.0.0.1:63807] server connect 216.58.212.174:443 [23:49:22.821][10.0.0.1:63807] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [23:49:22.821][10.0.0.1:63807] client disconnect [23:49:22.821][10.0.0.1:63807] server disconnect 216.58.212.174:443 [23:49:24.700][10.0.0.1:63808] client connect [23:49:24.728][10.0.0.1:63808] server connect 17.248.209.64:443 [23:49:24.754][10.0.0.1:63808] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option. [23:49:24.754][10.0.0.1:63808] client disconnect [23:49:24.754][10.0.0.1:63808] server disconnect 17.248.209.64:443 [23:49:26.493][10.0.0.1:60191] Closing connection due to inactivity: Client(10.0.0.1:60191, state=open)@spacerx warum hast du --set tls_version_client_min=TLS1_3 hinzugefügt?
-
@spacerx warum hast du --set tls_version_client_min=TLS1_3 hinzugefügt?
@copystring im log stand auch ohne diese Option
[23:48:09.695][10.0.0.1:64843] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option.Das war mein Versuch, nachdem ich nach dem Fehler im i-Net gegoggelt hatte und dies als Möglichkeit fand.
Habe, von TLS1_1 über TLS1_2 bis SSL3 alles ausprobiert. -
@copystring im log stand auch ohne diese Option
[23:48:09.695][10.0.0.1:64843] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option.Das war mein Versuch, nachdem ich nach dem Fehler im i-Net gegoggelt hatte und dies als Möglichkeit fand.
Habe, von TLS1_1 über TLS1_2 bis SSL3 alles ausprobiert.@spacerx welchen Browser nimmst du? Bei lief es mit Chrome
-
@spacerx welchen Browser nimmst du? Bei lief es mit Chrome
@copystring im Moment Edge. Der ist eigentlich Chrome basierend.
-
@copystring im Moment Edge. Der ist eigentlich Chrome basierend.
Ich habe nun mal Chrome installiert. Das ändert leider Garnichts.
Noch mal eine Ausgabe dazu.
[11:01:04.438][10.0.0.1:54441] server connect 142.250.184.206:443 [11:01:04.485][10.0.0.1:54441] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [11:01:04.485][10.0.0.1:54441] client disconnect [11:01:04.485][10.0.0.1:54441] server disconnect 142.250.184.206:443 [11:01:04.500][10.0.0.1:49611] client connect [11:01:04.610][10.0.0.1:54442] client connect [11:01:04.625][10.0.0.1:54442] server connect 142.250.184.206:443 [11:01:04.672][10.0.0.1:54442] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [11:01:04.672][10.0.0.1:54442] client disconnect [11:01:04.672][10.0.0.1:54442] server disconnect 142.250.184.206:443 [11:01:07.218][10.0.0.1:54381] client connect [11:01:07.250][10.0.0.1:54381] server connect 52.29.91.104:8883 [11:01:07.359][10.0.0.1:54381] client disconnect [11:01:07.359][10.0.0.1:54381] server disconnect 52.29.91.104:8883 [11:01:09.109][10.0.0.1:54443] client connect [11:01:09.124][10.0.0.1:54444] client connect [11:01:09.140][10.0.0.1:54443] server connect 18.195.207.39:443 [11:01:09.155][10.0.0.1:54444] server connect 52.29.136.229:443 [11:01:09.218][10.0.0.1:54443] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for api-eu.roborock.com, this may indicate that the client does not trust the proxy's certificate. [11:01:09.218][10.0.0.1:54443] client disconnect [11:01:09.218][10.0.0.1:54443] server disconnect 18.195.207.39:443 [11:01:09.218][10.0.0.1:54444] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for awsde0.fds.api.xiaomi.com, this may indicate that the client does not trust the proxy's certificate.Die Verbindung zum iPhone mit WireGuard scheint zu Funktionieren nur vom Proxy zu Roborock usw. klappt anscheinend nicht weil was mit dem Zertifikat nicht hin haut.
Ehrlich gesagt ist so langsam meine Frustschwelle erreicht.
<frust = on>
Wer sich den ganzen Müll mit den Zertifikaten ausgedacht hat gehört geteert und gefedert.
<frust = off>Vielleicht war mein Vorgehen bei der ganzen Installation auch falsch.
- Python installiert
- pip installiert [python -m pip install --user pipx]
- Dann die Installationen zu mitmproxy
- py -m pipx install mitmproxy --force
- py -m pipx inject mitmproxy websocket
- py -m pipx inject mitmproxy websocket-client
Noch jemand eine Idee wie man das Prob gelöst bekommt?
@copystring
Geht der Installationskram auch anders. In der Wiki ist von Python als Voraussetzung nicht die Rede. Ich nehme mal an durch die Programmiererei hast du den Kram eh auf dem Rechner. Deshalb klappts bei dir ohne Prob. Ich hab's nur nicht so mit den Zertifikaten und hab immer versucht dem aus dem Weg zu gehen. -
Ich möchte meine heutige Ausbeute teilen.
Es geht um Funktionen Rund um die Station vom S7 MaxV Ultra.
Meine Voraussetzungen:
- Kleines Blockly zum loggen der Datenpunkte vom Sauger geschrieben.
- Adapter vorrübergehend die Aktualisierung 5s gestellt.
- Mit Taschenlampe vor die Station gehockt und aufgeschrieben was passiert.
- Robi steht in der Station zum laden, dann Mopp Waschen gestartet.
Meine Aufzeichnungen dazu:
Log Mopp Waschen mit Roboter Wassertank leer.
2023-08-03 18:29:08.482 # Robi -> State [deviceStatus.state] = 8 -> 26 (Fahre Mopp waschen) 2023-08-03 18:29:08.487 # Robi -> Is returning [deviceStatus.in_returning] = 0 -> 1 2023-08-03 18:29:08.488 # Robi -> In Fresh State [deviceStatus.in_fresh_state] = 1 -> 0 2023-08-03 18:29:08.489 # Robi -> Back Type [deviceStatus.back_type] = -1 -> 1 2023-08-03 18:29:48.716 # Robi -> State [deviceStatus.state] = 26 -> 23 (Mopp waschen) 2023-08-03 18:29:48.719 # Robi -> Is returning [deviceStatus.in_returning] = 1 -> 0 2023-08-03 18:29:48.721 # Robi -> Back Type [deviceStatus.back_type] = 1 -> -1 2023-08-03 18:29:48.721 # Robi -> Wash Phase [deviceStatus.wash_phase] = 0 -> 11 2023-08-03 18:29:48.722 # Robi -> Wash Ready [deviceStatus.wash_ready] = 0 -> 1 2023-08-03 18:29:49.365 # Robi -> Water Filter [consumables.strainer_work_times] = 4 -> 5 2023-08-03 18:29:49.366 # Robi -> High-speed maintenance brush [consumables.cleaning_brush_work_times] = 4 -> 5 2023-08-03 18:31:03.661 # Robi -> Wash Phase [deviceStatus.wash_phase] = 11 -> 12 2023-08-03 18:31:08.651 # Robi -> Wash Phase [deviceStatus.wash_phase] = 12 -> 10 2023-08-03 18:31:38.662 # Robi -> Wash Phase [deviceStatus.wash_phase] = 10 -> 13 2023-08-03 18:32:53.675 # Robi -> Wash Phase [deviceStatus.wash_phase] = 13 -> 12 2023-08-03 18:32:58.637 # Robi -> Wash Phase [deviceStatus.wash_phase] = 12 -> 14 2023-08-03 18:33:08.634 # Robi -> State [deviceStatus.state] = 23 -> 6 (Rückkehr zur Station) 2023-08-03 18:33:08.677 # Robi -> Is returning [deviceStatus.in_returning] = 0 -> 1 2023-08-03 18:33:08.679 # Robi -> Back Type [deviceStatus.back_type] = -1 -> 0 2023-08-03 18:33:08.680 # Robi -> Wash Phase [deviceStatus.wash_phase] = 14 -> 0 2023-08-03 18:33:13.670 # Robi -> Wash Ready [deviceStatus.wash_ready] = 1 -> 0 2023-08-03 18:33:31.225 # Robi -> Times Dust Collected [cleaningInfo.dust_collection_count] = 77 -> 78 "Wahrscheinlicht Staubbehälterantleerungen" 2023-08-03 18:33:33.671 # Robi -> State [deviceStatus.state] = 6 -> 8 (Akku laden) 2023-08-03 18:33:33.674 # Robi -> Is returning [deviceStatus.in_returning] = 1 -> 0 2023-08-03 18:33:33.674 # Robi -> In Fresh State [deviceStatus.in_fresh_state] = 0 -> 1 2023-08-03 18:33:33.675 # Robi -> Back Type [deviceStatus.back_type] = 0 -> -1Mopp Waschen mit Roboter Wassertank 100% voll.
2023-08-03 18:40:38.661 # Robi -> State [deviceStatus.state] = 8 -> 26 (Fahre Mopp waschen) 2023-08-03 18:40:38.706 # Robi -> Is returning [deviceStatus.in_returning] = 0 -> 1 2023-08-03 18:40:38.706 # Robi -> In Fresh State [deviceStatus.in_fresh_state] = 1 -> 0 2023-08-03 18:40:38.708 # Robi -> Back Type [deviceStatus.back_type] = -1 -> 1 2023-08-03 18:41:18.782 # Robi -> State [deviceStatus.state] = 26 -> 23 (Mopp waschen) 2023-08-03 18:41:18.787 # Robi -> Is returning [deviceStatus.in_returning] = 1 -> 0 2023-08-03 18:41:18.793 # Robi -> Back Type [deviceStatus.back_type] = 1 -> -1 2023-08-03 18:41:18.805 # Robi -> Wash Phase [deviceStatus.wash_phase] = 0 -> 11 2023-08-03 18:41:18.806 # Robi -> Wash Ready [deviceStatus.wash_ready] = 0 -> 1 2023-08-03 18:41:19.536 # Robi -> Water Filter [consumables.strainer_work_times] = 5 -> 6 2023-08-03 18:41:19.537 # Robi -> High-speed maintenance brush [consumables.cleaning_brush_work_times] = 5 -> 6 2023-08-03 18:42:58.756 # Robi -> Wash Phase [deviceStatus.wash_phase] = 11 -> 12 2023-08-03 18:43:03.720 # Robi -> Wash Phase [deviceStatus.wash_phase] = 12 -> 13 2023-08-03 18:44:38.786 # Robi -> Wash Phase [deviceStatus.wash_phase] = 13 -> 12 2023-08-03 18:44:43.771 # Robi -> Wash Phase [deviceStatus.wash_phase] = 12 -> 14 2023-08-03 18:44:48.739 # Robi -> State [deviceStatus.state] = 23 -> 6 (Rückkehr zur Station) 2023-08-03 18:44:48.741 # Robi -> Is returning [deviceStatus.in_returning] = 0 -> 1 2023-08-03 18:44:48.781 # Robi -> Back Type [deviceStatus.back_type] = -1 -> 0 2023-08-03 18:44:48.782 # Robi -> Wash Phase [deviceStatus.wash_phase] = 14 -> 0 2023-08-03 18:44:58.779 # Robi -> Wash Ready [deviceStatus.wash_ready] = 1 -> 0 2023-08-03 18:45:18.992 # Robi -> State [deviceStatus.state] = 6 -> 8 (Akku laden) 2023-08-03 18:45:18.994 # Robi -> Is returning [deviceStatus.in_returning] = 1 -> 0 2023-08-03 18:45:18.995 # Robi -> In Fresh State [deviceStatus.in_fresh_state] = 0 -> 1 2023-08-03 18:45:18.996 # Robi -> Back Type [deviceStatus.back_type] = 0 -> -1Mopp Waschen mit Roboter Wassertank 50% voll.
2023-08-03 12:51:35.610 # Robi -> State [deviceStatus.state] = 8 -> 26 (Fahre Mopp waschen) 2023-08-03 12:51:35.653 # Robi -> Is returning [deviceStatus.in_returning] = 0 -> 1 2023-08-03 12:51:35.654 # Robi -> In Fresh State [deviceStatus.in_fresh_state] = 1 -> 0 2023-08-03 12:51:35.655 # Robi -> Back Type [deviceStatus.back_type] = -1 -> 1 2023-08-03 12:52:05.895 # Robi -> State [deviceStatus.state] = 26 -> 23 (Mopp waschen) 2023-08-03 12:52:05.899 # Robi -> Is returning [deviceStatus.in_returning] = 1 -> 0 2023-08-03 12:52:05.901 # Robi -> Back Type [deviceStatus.back_type] = 1 -> -1 2023-08-03 12:52:05.902 # Robi -> Wash Ready [deviceStatus.wash_ready] = 0 -> 1 2023-08-03 12:52:06.393 # Robi -> Water Filter [consumables.strainer_work_times] = 3 -> 4 2023-08-03 12:52:06.394 # Robi -> High-speed maintenance brush [consumables.cleaning_brush_work_times] = 3 -> 4 2023-08-03 12:52:10.868 # Robi -> Wash Phase [deviceStatus.wash_phase] = 0 -> 11 "11 = Mopp Waschen mit Bürste und Wasser" 2023-08-03 12:53:25.678 # Robi -> Wash Phase [deviceStatus.wash_phase] = 11 -> 12 "12 = Wasserauffang unter Bürste leeren" 2023-08-03 12:53:30.667 # Robi -> Wash Phase [deviceStatus.wash_phase] = 12 -> 10 "10 = scheint das Befüllen vom Wassertank zu sein" 2023-08-03 12:53:40.630 # Robi -> Wash Phase [deviceStatus.wash_phase] = 10 -> 13 "13 = Mopp abbürsten ohne Wasser (Auswringen???)" 2023-08-03 12:54:55.687 # Robi -> Wash Phase [deviceStatus.wash_phase] = 13 -> 12 "12 = Wasserauffang unter Bürste leeren" 2023-08-03 12:55:00.703 # Robi -> Wash Phase [deviceStatus.wash_phase] = 12 -> 14 "14 = Bürste in Parkposition fahren" 2023-08-03 12:55:05.641 # Robi -> State [deviceStatus.state] = 23 -> 6 (Rückkehr zur Station) 2023-08-03 12:55:05.685 # Robi -> Is returning [deviceStatus.in_returning] = 0 -> 1 2023-08-03 12:55:05.687 # Robi -> Back Type [deviceStatus.back_type] = -1 -> 0 2023-08-03 12:55:05.688 # Robi -> Wash Phase [deviceStatus.wash_phase] = 14 -> 0 2023-08-03 12:55:10.693 # Robi -> Wash Ready [deviceStatus.wash_ready] = 1 -> 0 2023-08-03 12:55:30.906 # Robi -> State [deviceStatus.state] = 6 -> 8 (Akku laden) 2023-08-03 12:55:30.910 # Robi -> Is returning [deviceStatus.in_returning] = 1 -> 0 2023-08-03 12:55:30.915 # Robi -> In Fresh State [deviceStatus.in_fresh_state] = 0 -> 1 2023-08-03 12:55:30.916 # Robi -> Back Type [deviceStatus.back_type] = 0 -> -1Dazu meine Erkenntnisse.
deviceStatus.wash_phase
10 = Befüllen Roboter Wassertank
11 = Mopp Waschen mit Wasser und Reinigungsbürste
12 = Wasserauffang der Station unter Reinigungsbürste leeren
13 = Mopp Waschen nur Reinigungsbürste (Auswringen)
14 = Reinigungsbürste in Parkposition fahrenDas Befüllen des Roboter-Wassertanks wird immer bei Mopp-Waschen ausgeführt wenn der Tank nicht voll ist.
Dazu gleich noch für Später den Schmutzwasserbehälter vor jedem Start leer gemacht und vor dem Mopp-Waschen Befehl den Moppwaschmodus umgestellt um den Wasserverbrauch beim Mopp-Waschen zu ermitteln.
- Moppwäsche-Modus = Wassersparend -> Schmutzwasserbehälter = ca.130ml
- Moppwäsche-Modus = Mittel -> Schmutzwasserbehälter = ca.200ml
- Moppwäsche-Modus = Intensiv -> Schmutzwasserbehälter = ca.290ml
Für den Moppwaschmodus den man in der App wählen kann scheint es noch kein equivalenten Datenpunkt im Adapter zu geben.
Robi steht in Station zum laden, dann Staubbehälter entleeren gestartet.
2023-08-03 19:00:48.710 # Robi -> State [deviceStatus.state] = 8 -> 22 (Staubbehälter entleeren) 2023-08-03 19:00:48.713 # Robi -> In Fresh State [deviceStatus.in_fresh_state] = 1 -> 0 2023-08-03 19:01:18.709 # Robi -> State [deviceStatus.state] = 22 -> 8 (Akku laden) 2023-08-03 19:01:18.712 # Robi -> In Fresh State [deviceStatus.in_fresh_state] = 0 -> 1Der Datenpunkt deviceStatus.back_type scheint zu definieren wie rum der Roboter an die Station heran gefahren ist.
deviceStatus.back_type
-1 = NULL (wird immer auf diesen Wert zurück gesetzt.)
0 = Vorwärts -> Laden und Staubbehälter entleeren.
1 = Rückwärts -> Mopp WaschenZur Bedeutung von deviceStatus.in_fresh_state hab ich eine Idee die ich aber erst mit Test bestätigen muss.
-
@spacerx
Hallo, ich habe das Wiki ergänzt, vielen Dank.
Und Dein kleines Skript ist Klasse, ich habe bisher in der langen Liste immer geschaut, ob sich ein Datenpunkt ändert und wenn ja, wie.
Viele Grüße, Bert.@jahnbes sagte in Neuer Adapter für Roborock-Staubsauger:
ich habe bisher in der langen Liste immer geschaut, ob sich ein Datenpunkt ändert und wenn ja, wie.
Das war mein Ansinnen. Weil man die Objekte ja nicht mit einmal auf den Bildschirm bekommt ist es unmöglich das vernünftig nach zu vollziehen.
-
Ich habe nun mal Chrome installiert. Das ändert leider Garnichts.
Noch mal eine Ausgabe dazu.
[11:01:04.438][10.0.0.1:54441] server connect 142.250.184.206:443 [11:01:04.485][10.0.0.1:54441] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [11:01:04.485][10.0.0.1:54441] client disconnect [11:01:04.485][10.0.0.1:54441] server disconnect 142.250.184.206:443 [11:01:04.500][10.0.0.1:49611] client connect [11:01:04.610][10.0.0.1:54442] client connect [11:01:04.625][10.0.0.1:54442] server connect 142.250.184.206:443 [11:01:04.672][10.0.0.1:54442] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [11:01:04.672][10.0.0.1:54442] client disconnect [11:01:04.672][10.0.0.1:54442] server disconnect 142.250.184.206:443 [11:01:07.218][10.0.0.1:54381] client connect [11:01:07.250][10.0.0.1:54381] server connect 52.29.91.104:8883 [11:01:07.359][10.0.0.1:54381] client disconnect [11:01:07.359][10.0.0.1:54381] server disconnect 52.29.91.104:8883 [11:01:09.109][10.0.0.1:54443] client connect [11:01:09.124][10.0.0.1:54444] client connect [11:01:09.140][10.0.0.1:54443] server connect 18.195.207.39:443 [11:01:09.155][10.0.0.1:54444] server connect 52.29.136.229:443 [11:01:09.218][10.0.0.1:54443] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for api-eu.roborock.com, this may indicate that the client does not trust the proxy's certificate. [11:01:09.218][10.0.0.1:54443] client disconnect [11:01:09.218][10.0.0.1:54443] server disconnect 18.195.207.39:443 [11:01:09.218][10.0.0.1:54444] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for awsde0.fds.api.xiaomi.com, this may indicate that the client does not trust the proxy's certificate.Die Verbindung zum iPhone mit WireGuard scheint zu Funktionieren nur vom Proxy zu Roborock usw. klappt anscheinend nicht weil was mit dem Zertifikat nicht hin haut.
Ehrlich gesagt ist so langsam meine Frustschwelle erreicht.
<frust = on>
Wer sich den ganzen Müll mit den Zertifikaten ausgedacht hat gehört geteert und gefedert.
<frust = off>Vielleicht war mein Vorgehen bei der ganzen Installation auch falsch.
- Python installiert
- pip installiert [python -m pip install --user pipx]
- Dann die Installationen zu mitmproxy
- py -m pipx install mitmproxy --force
- py -m pipx inject mitmproxy websocket
- py -m pipx inject mitmproxy websocket-client
Noch jemand eine Idee wie man das Prob gelöst bekommt?
@copystring
Geht der Installationskram auch anders. In der Wiki ist von Python als Voraussetzung nicht die Rede. Ich nehme mal an durch die Programmiererei hast du den Kram eh auf dem Rechner. Deshalb klappts bei dir ohne Prob. Ich hab's nur nicht so mit den Zertifikaten und hab immer versucht dem aus dem Weg zu gehen.@spacerx said in Neuer Adapter für Roborock-Staubsauger:
Geht der Installationskram auch anders.
Nein. mitmproxy braucht zwingend Python.
Hast du das Zertifikat von mitmproxy denn auf dem iPhone als root Zertifikat hinzugefügt? -
@spacerx said in Neuer Adapter für Roborock-Staubsauger:
Geht der Installationskram auch anders.
Nein. mitmproxy braucht zwingend Python.
Hast du das Zertifikat von mitmproxy denn auf dem iPhone als root Zertifikat hinzugefügt?@copystring ja habe ich.

-
@copystring ja habe ich.

@spacerx mit iPhone kenne ich mich nur wenig aus. Sicher, dass es als root Zertifikat hinzugefügt ist? Alle anderen Zertifikatstypen wären falsch.
-
@spacerx mit iPhone kenne ich mich nur wenig aus. Sicher, dass es als root Zertifikat hinzugefügt ist? Alle anderen Zertifikatstypen wären falsch.
@copystring das war das Stichwort. Es reichte nicht das Profil zu Installieren. Da muss man beim iPhone doch tiefer in die Abgründe der Einstellungen.

Jedenfalls zappelt jetzt was. -
@copystring das war das Stichwort. Es reichte nicht das Profil zu Installieren. Da muss man beim iPhone doch tiefer in die Abgründe der Einstellungen.

Jedenfalls zappelt jetzt was.Ab und an tauchen folgende Meldungen auf.
C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe [21:15:18.262] Packet type CONNACK is not supported yet! C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe [21:15:18.262] Addon error: unpack requires a buffer of 2 bytes Traceback (most recent call last): File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 286, in tcp_message mqtt_packet = MQTTControlPacket(message.content) File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 83, in __init__ self._parse_publish_variable_headers() File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 136, in _parse_publish_variable_headers field_length, field_content_bytes = self._parse_length_prefixed_bytes(offset) File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 127, in _parse_length_prefixed_bytes field_length = struct.unpack("!H", field_length_bytes)[0] struct.error: unpack requires a buffer of 2 bytes C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe [21:15:18.309] [PUBLISH] C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe [21:15:18.309] [PUBLISH]Die Sniffing Message taucht bei mir leider auch nicht im Log auf.
Jetzt weis ich noch nicht genau nach was ich schauen soll.
-
Ab und an tauchen folgende Meldungen auf.
C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe [21:15:18.262] Packet type CONNACK is not supported yet! C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe [21:15:18.262] Addon error: unpack requires a buffer of 2 bytes Traceback (most recent call last): File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 286, in tcp_message mqtt_packet = MQTTControlPacket(message.content) File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 83, in __init__ self._parse_publish_variable_headers() File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 136, in _parse_publish_variable_headers field_length, field_content_bytes = self._parse_length_prefixed_bytes(offset) File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 127, in _parse_length_prefixed_bytes field_length = struct.unpack("!H", field_length_bytes)[0] struct.error: unpack requires a buffer of 2 bytes C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe [21:15:18.309] [PUBLISH] C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe [21:15:18.309] [PUBLISH]Die Sniffing Message taucht bei mir leider auch nicht im Log auf.
Jetzt weis ich noch nicht genau nach was ich schauen soll.
@spacerx okay. Kann ich mir aktuell nicht angucken. Bin im Urlaub. Du müsstest dich gedulden oder selber mal schauen was das sein kann.
-
@spacerx okay. Kann ich mir aktuell nicht angucken. Bin im Urlaub. Du müsstest dich gedulden oder selber mal schauen was das sein kann.
@copystring Alles gut!
Nachdem ich 24h Lebenszeit in das Unternehmen Sniffing verschwendet habe, habe ich der PC-Kiste erst mal den Strom abgedreht. Zur Frustbewältigung ein Eis gegessen und 3 Kippen verschlungen.
Nu hat es mir dann doch keine Ruhe gelassen. Also PC wieder an. ioBroker-Dienst + mitmproxy gestartet, Wireguard auf iPone angeschalten und Roborock App gestartet.Jetzt passt auf was kommt!
Es Läuft. Decoded sniffing in der Log-Ausgabe.
Hier schon mal rausgepickt was ich herausfinden will.
2023-08-05 22:12:19.101 - roborock.0 (8400) Decoded sniffing message: {"dps":{"101":"{"id":277019,"method":"get_wash_towel_mode","params":{}}"},"t":1691266339} 2023-08-05 22:12:19.181 - roborock.0 (8400) dps debug: {"id":277019,"result":{"wash_mode":1}} 2023-08-05 22:12:19.204 - roborock.0 (8400) Decoded sniffing message: {"dps":{"101":"{"id":277020,"method":"get_smart_wash_params","params":{}}"},"t":1691266339} 2023-08-05 22:12:19.296 - roborock.0 (8400) dps debug: {"id":277020,"result":{"smart_wash":0,"wash_interval":1200}}Das sind Teile von den Einstellungen der Dockingstation.
Ich bin erst mal Happy.
Falls jemand für das Sniffing mit Roborock App auf iPhone Unterstützung braucht kann ich gern mit meinen Notizen von diesem Amoklauf behilflich sein.
Gut Nächtle.
-
@spacerx
Danke! Ich werde mich am Wochenende darum kümmern und das Wiki ergänzen.Kannst Du mir / uns das "Kleines Blockly zum loggen der Datenpunkte vom Sauger geschrieben." zukommen lassen?
Gruß Bert.
@jahnbes Bevor ich es vergessen!
In der Doku zu den Objekten vom Robi Hast du eingetragen:

wash_ready wird nach meiner Beobachtung und den Logs von oben immer dann auf TRUE wenn der Robi zum Mopp Waschen richtig herum an der Station angedockt hat. Unter dem Wasserbefüllstutzen am Roboter ist ein Mikroschalter der durch eine kleine Nase unter dem Wasserstutzen der Station betätigt wird.
wash_ready wird FALSE wenn der Robi nach dem Mopp Waschen wieder abdockt und der Robi dreht rum um in Ladeposition wieder anzudocken. -
@matt77che
Danke, so habe ich es jetzt auch im Wiki eingetragen.
Gruß Bert.@jahnbes sagte in Neuer Adapter für Roborock-Staubsauger:
@matt77che
Danke, so habe ich es jetzt auch im Wiki eingetragen.Wenn ihr schon mal dabei seid, das Wiki zu vervollständigen :-D wir haben einen Q7 Max+
Mehrfache Tests haben ergeben:
clean_type:
1 = Gesamt Reinigung (alle Räume)
2 = Zonenreinigung (ausgewählt über die App z.b.)
3 = Raumreinigungstart_type:
1 = manuell (Knopfdruck am Roboter)
2 = via App (aus der App gestartet oder per ioBroker.Adapter)
3 = Planstart (durch Zeitplanung in der App)complete Type
1 = normal beendet
<> 1 = abgebrochen
Andere Werte habe ich auch noch, die schicke ich nachher noch nach :-)
Gruß Micha
-
@jahnbes Bevor ich es vergessen!
In der Doku zu den Objekten vom Robi Hast du eingetragen:

wash_ready wird nach meiner Beobachtung und den Logs von oben immer dann auf TRUE wenn der Robi zum Mopp Waschen richtig herum an der Station angedockt hat. Unter dem Wasserbefüllstutzen am Roboter ist ein Mikroschalter der durch eine kleine Nase unter dem Wasserstutzen der Station betätigt wird.
wash_ready wird FALSE wenn der Robi nach dem Mopp Waschen wieder abdockt und der Robi dreht rum um in Ladeposition wieder anzudocken. -
@jahnbes sagte in Neuer Adapter für Roborock-Staubsauger:
@matt77che
Danke, so habe ich es jetzt auch im Wiki eingetragen.Wenn ihr schon mal dabei seid, das Wiki zu vervollständigen :-D wir haben einen Q7 Max+
Mehrfache Tests haben ergeben:
clean_type:
1 = Gesamt Reinigung (alle Räume)
2 = Zonenreinigung (ausgewählt über die App z.b.)
3 = Raumreinigungstart_type:
1 = manuell (Knopfdruck am Roboter)
2 = via App (aus der App gestartet oder per ioBroker.Adapter)
3 = Planstart (durch Zeitplanung in der App)complete Type
1 = normal beendet
<> 1 = abgebrochen
Andere Werte habe ich auch noch, die schicke ich nachher noch nach :-)
Gruß Micha
@tritanium
Danke, MIcha, ich habe das Wiki ergänzt. Und warte auf Weiteres!
Ein schönes Wochenende noch, Gruß Bert. -
@jahnbes Sorry das ich nerve.

Es ist genau umgekehrt!
0 = Nicht bereit zum Mopp Waschen
1 = Bereit zum Mopp Waschen und ggf. Wasser nachtankenSagt aus das der Saugroboter richtig herum in der Station steht und bereit ist um den Mopp zu Waschen oder Wasser nachzutanken.
Wenn der Robi beim Andocken zum Waschen den Befüllstutzen nicht treffen würde bleibt wash_ready auf 0 (FALSE) -
@jahnbes Sorry das ich nerve.

Es ist genau umgekehrt!
0 = Nicht bereit zum Mopp Waschen
1 = Bereit zum Mopp Waschen und ggf. Wasser nachtankenSagt aus das der Saugroboter richtig herum in der Station steht und bereit ist um den Mopp zu Waschen oder Wasser nachzutanken.
Wenn der Robi beim Andocken zum Waschen den Befüllstutzen nicht treffen würde bleibt wash_ready auf 0 (FALSE)