Den Port des Webinterface könnte man konfigurierbar machen, ja. Keine sonderlich große Änderung
Valetudo: Alternatives cloudfreies Webinterface ohne Dustcloud mit Livemap auf dem Saugroboter
-
-
Zunächst einmal vielen Dank für deine/eure Arbeit!! Sieht top aus!
Ich habe nun die Binary auf meinem Roborock und soweit alles am Laufen.
Jetzt frage ich mich, ob ich einfach nur blind oder einfach nur blöd bin... Wo finde ich die App?!
-
Hihi.
in einem Browser deiner Wahl unter http://<ip deines Robbies>/
Um diese rauszufinden, schau in deinem Router nach. Wenn du ihm keinen anderen Namen gegeben hast, kannst du es mal mit http://roborock/ versuchen.
-
ah stark, ja danke. hätte man auch drauf kommen können..
Die Karte ist jedoch um 90° im Uhrzeigersinn verdreht im Vergleich zur Flole App oder MiHome App.
Aber die Karte hat ja außer zur Ansicht keine weitere Funktion bisher, richtig? (also nicht wie bei Flole App GoTo und Koordinaten herausfinden)
-
Ich lade nachher sicher eine neue Version von RRCC hoch.
Die zeigt dann die Koordinaten bei GoTo und Zone an, kann H/V gespiegelt werden (am 90/180/270 rotieren bastel ich gerade noch rum) und hat auch den Fix drin falls die Koordinaten verkehrt rum sind.
Da du ja eh schon gerootet und Valetudo drauf hast eventuell eine Option für dich...
-
In Valetudo wird die Karte automatisch so gedreht, dass mit dem zur Verfuegung stehenden Platz die Karte bestmoeglich (am groessten) dargestellt wird.
Entsprechend wieder die Karte automatisch um 90 Grad gedreht, oder eben nicht.
-
LazyT Ja, definitiv. werde ich mir mal anschauen. Cool wäre halt nur, die ganzen Funktionen auch bei Valetudo zu haben, da Flole und MiHome nach meiner Information nicht mehr funktionieren, wenn man den Robi von der Cloud trennt.
-----
Cool wäre eine Einstellung, die man nach belieben ändern könnte, da die verschiedenen Ausrichtungen (nutze noch Flole, solange der Robi noch an der Cloud hängt) verwirren.
-
heißt das, dass ich die Flole und MiHome App nach dem Root (Valetudo) nicht mehr nutzen kann?
-
heißt das, dass ich die Flole und MiHome App nach dem Root (Valetudo) nicht mehr nutzen kann?
Nein. Du kannst sie weiterhin benutzen, nur halt nicht mehr, wenn du den Traffic zur China-Cloud mittels iptabels unterbindest.
-
Danke Dir
-
Beta 0.0.5:
https://github.com/Hypfer/Valetudo/releases/tag/0.0.5
Siehe Changelog dort -
Den Port des Webinterface könnte man konfigurierbar machen, ja. Keine sonderlich große Änderung
Moin moin Hypfer...
kurzum, brauch man ja gar net, war gerade als ich danach gefragt habe am Vhosts im Apache2 schreiben um nen externen Zugriff auf das Webinterface zu bekommen... und da alles auf 80 bzw. 443 läuft wollte ich für nen Redirect nen anderen Port... brauch man ja gar net, da man ja auf ne andere IP redirected und da wäre der Port erstmal wurscht
Für alle die vielleicht auch nen HomeNAS/Server betreiben mit nem Apache2 Server und gern auf Valetudo von extern Zugriff haben wollen:Beispielkonfig:
IP des Servers: 192.168.1.2
IP des Roborocks: 192.168.1.7
Name des Roborocks: roborock
dynDNS: eure.dyndns.net
Neue Config anlegen unter /etc/apache2/sites-available/
Inhalt:
Code- <VirtualHost *:80>
- ServerName roborock.eure.dyndns.net
- <Location />
- AuthType Basic
- AuthName "Restricted area"
- AuthUserFile /etc/apache2/htpasswd
- Require valid-user
- </Location>
- <Proxy *>
- Order deny,allow
- Allow from all
- </Proxy>
- ProxyRequests Off
- ProxyPreserveHost On
- ProxyPass / http://192.168.1.7:80/
- ProxyPassReverse / http://192.168.1.7:80/
- </VirtualHost>
jetzt noch einen User anlegen für den Zugriff auf die neue Subdomain
am besten ein sicheres Passwort hier nutzen
neue Subdomain aktivieren:
Jetzt Certbot installieren:
Jetzt ein SSL Zertifikat abholen und den Redirect einrichten lassen
Damit das nach 90 Tagen auslaufende Zertifikat auch immer brav aktuell bleibt noch einen cronjob einrichten:
Inhalt:
Jeden Tag um 3:00 Uhr wird Certbot prüfen, ob das Zertifikat bereits zu erneuern ist
Ab jetzt ist euer Valetudo unter https://roborock.eure.dyndns.net zu erreichen und ein redirect von http auf https wird auch automatisch gemacht
-
huhu hypfer,
gibts ne möglichkeit, die aktualisierungsrate der map zu erhöhen? glaub aktuell liegts so bei 3-5 Sekunden?
quasi nen bissl mehr in richtung LiveMap
Wäre toll wenns da nen configparameter geben würde
-
Stimmt schon. Habe es grad implementiert. Leider gibt es in Windows keine zuverlässige Variante (die mir bekannt ist) um ohne weitere Hilfsmittel Dateien herunterzuladen. Also musste eine wget Implementierung für Windows her. Die kann man sich z.B. dort für sein System (32 oder 64 bit OS) herunterladen (Ich hoffe, die Verlinkung geht klar) : https://eternallybored.org/misc/wget/
Anschließend die "wget.exe" zusammen mit dem Script (als scriptname.bat) und dem private-key vom rooten in einen Ordner schieben - und das Script starten.
Das Script holt sich dann von den github die Liste der Releases (coole API btw.) und bietet dem User eine Auswahl, welches Release installiert werden soll. Das Auserwählte wird geladen und auf den Roboter aufgespielt. Vorher wird noch auf die Existenz der config datei geprüft - die dann bei Bedarf ebenfalls heruntergeladen und eingespielt wird.
Code- @echo OFF
- setlocal enableextensions enabledelayedexpansion
- ::GENERAL INFORMATION:
- ::This script uses wget for windows! You need to download it from https://eternallybored.org/misc/wget/ in your OS variant
- ::and place it in the folder of this script!
- ::Author: B.Krueger
- ::Licence: Apache License 2.0
- ::Configuration; You will need to adjust the following lines
- SET certificate=".\roborock.id_rsa.ppk"
- SET roborockIP=192.168.22.32
- ::Only change those lines below if you know what you are doing!
- SET downloadConfigFileURL=https://raw.githubusercontent.com/Hypfer/Valetudo/master/deployment/valetudo.conf
- SET configFileName=valetudo.conf
- SET configFilePathOnRobot=/etc/init/
- SET gitApiRepositoryURL=https://api.github.com/repos/Hypfer/Valetudo
- SET gitStatusFile=git_status.json
- SET downloadLinkFile=downloads.txt
- SET valetudoBinaryName=valetudo
- SET scriptVersion=1.0
- echo -= You are using Version %scriptVersion% of this script! =-
- ::download wget for your machine from https://eternallybored.org/misc/wget/ and put it in the currently active folder!
- wget --output-document %gitStatusFile% %gitApiRepositoryURL%/releases
- ::parse gitStautsFile
- del %downloadLinkFile% >nul 2>&1
- echo List of available versions of Valetudo:
- set /a linkCount=0
- for /f "tokens=2,3" %%i in ('find /I "browser_download_url" %cd%\%gitStatusFile%') do (
- ::skip first line which is the file used
- IF NOT DEFINED isFirstLine (
- SET isFirstLine=false
- ) ELSE (
- ::possible download links
- echo %%i >> %downloadLinkFile%
- set /a linkCount += 1
- echo [!linkCount!] %%i
- )
- )
- :selectNumber
- ::ask for version selection
- set selectedVersion=1
- set /p selectedVersion=Type number of Valetudo to load [1..%linkCount%] (default is 1)?:
- set /a Test=selectedVersion
- ::Test validity of input
- if !Test! EQU 0 (
- if !selectedVersion! EQU 0 (
- echo 1
- goto numberInRangeTest
- ) else (
- echo %selectedVersion% is not a number!
- goto selectNumber
- )
- ) else (
- set /a selectedVersion=Test
- goto numberInRangeTest
- )
- :numberInRangeTest
- if %selectedVersion% GTR 0 (
- if %selectedVersion% LEQ %linkCount% (
- echo Downloading %selectedVersion% ...
- goto downloadSelectedVersion
- )
- )
- echo %selectedVersion% is not between 1 and %linkCount%!
- goto selectNumber
- :downloadSelectedVersion
- ::Download selected version
- SET downloadLink="UNDEFINED"
- SET "lineNr=%selectedVersion%"
- SET /a lineNr-=1
- for /f "usebackq delims=" %%a in (`more +%lineNr% %downloadLinkFile%`) DO (
- SET downloadLink=%%a
- goto :startDownload
- )
- :startDownload
- set downloadLink=%downloadLink:~1,-2%
- echo start downloading %downloadLink%
- wget --output-document %valetudoBinaryName% %downloadLink%
- :verifyConfig
- ::get existence of config file on the robot
- plink -i %certificate% root@%roborockIP% cat %configFilePathOnRobot%%configFileName% > tmp
- for /f %%i in (tmp) do goto cleanupConfigVerification
- ::at this point the config file is not existent - download and update to robot
- wget --output-document %configFileName% %downloadConfigFileURL%
- pscp -i %certificate% %configFileName% root@%roborockIP%:%configFilePathOnRobot%%configFileName%
- del %configFileName%
- :cleanupConfigVerification
- del tmp
- :startUpdate
- plink -i %certificate% root@%roborockIP% service %valetudoBinaryName% status
- plink -i %certificate% root@%roborockIP% service %valetudoBinaryName% stop
- plink -i %certificate% root@%roborockIP% rm /usr/local/bin/%valetudoBinaryName%
- pscp -i %certificate% %valetudoBinaryName% root@%roborockIP%:/usr/local/bin/%valetudoBinaryName%
- plink -i %certificate% root@%roborockIP% chmod +x /usr/local/bin/%valetudoBinaryName%
- plink -i %certificate% root@%roborockIP% service %valetudoBinaryName% start
- :generalCleanup
- del %downloadLinkFile%
- del %valetudoBinaryName%
- del %gitStatusFile%
- ::You might want to remove the line below in order to get the windows automatically closed - but I like to browser through the log!
- pause
Hier das Script - Viel Spaß damit
Sehr schön, Danke dafür. Kann ich es auch irgendwie nutzen, wenn meine Zertifikatsdatei passwortgeschützt ist?
-
Sehr schön, Danke dafür. Kann ich es auch irgendwie nutzen, wenn meine Zertifikatsdatei passwortgeschützt ist?
Das habe ich ehrlich gesagt gar nicht ausprobiert. Was meldet denn das Script? Ich würde eigentlich erwarten, dass an entsprechender Stelle (ggf. also auch mehrfach) nach dem Passwort zum Zertifikat gefragt wird und es trotzdem alles durchläuft..
-
Hey Folks,
seit kurzem bin ich im Besitz eines Roborock S50. Jedoch möchte ich die Cloud-Verbindung zum Hersteller unterbinden. Das Gerät ist bereits mit Root-Zugriff versehen, jedoch fehlt mir die weiterführende Expertise für die Installation von Valetudo. Zunächst möchte ich mich allerdings bei Hypfer für dieses ausgesprochen geniale Tool bedanken. Es ist immer wieder schön zu sehen, welcher Enthusiasmus bei Entwicklern besteht, selbst ohne eine Monetarisierung in den Vordergrund zu stellen.
Gibt es evtl. bereits eine Schritt-für-Schritt-Anleitung, die ich bisher übersehen habe?
Edit: Tatsächlich habe ich das Tool soeben ans laufen gebrachtl. Nun nur die Frage: Wie blocke ich sämtliche externe Verbindungen? Wenn ich den Internetzugriff über meine FRITZ!Box sperre, kann ich das Webinterface von Valetudo nicht mehr nutzen.
Edit2:
Werden mit dem ausführen via Shell folgender Befehle sämtliche Verbindungen geblockt?So wie es aussieht, ist dies wohl der Fall. Aktuell sieht meine Iptable wie folgt aus - ist das alles noch korrekt, oder habe ich etwas verändert?
Code- root@rockrobo:~# iptables --list
- Chain INPUT (policy ACCEPT)
- target prot opt source destination
- DROP udp -- anywhere anywhere udp dpt:6665
- DROP tcp -- anywhere anywhere tcp dpt:6665
- Chain FORWARD (policy ACCEPT)
- target prot opt source destination
- Chain OUTPUT (policy ACCEPT)
- target prot opt source destination
Beste Grüße
PlanetDyna -
Gibt es evtl. bereits eine Schritt-für-Schritt-Anleitung, die ich bisher übersehen habe?
Edit: Tatsächlich habe ich das Tool soeben ans laufen gebrachtl.Hallo PlanetDyna,
so wie Dir geht es mir auch gerade - gibt es keine Schritt-für-Schritt- Anleitung bzw. wie hast Du Valetudo zum Laufen gebracht?
Vielen Dank vorab!!!
thenail
-
@thenail: Ich habe mich via FileZilla bzw. SSH auf den Roborock connected, die Binary-Datei (ebenfalls die Zugriffberechtigung chmod +x vergeben ) sowie Config-Datei lokal auf meinem PC gespeichert und anschließend, wie auf GitHub berschrieben, in die entsprechenden Ordner kopiert und den Dienst mit "service valetudo start"
gestartet.
Siehe dazu folgende Verweise:
https://github.com/Hypfer/Valetudo/ (Config-Datei)
https://github.com/Hypfer/Valetudo/releases (Binary-Datei) -
Gibt es einen Workaround für die Ermittlung der Koordinaten für das Zone-Cleanup, oder funktioniert dieses Feature noch nicht einwandfrei? Ich würde gerne verschiedene Räume in Zonen einteilen.
Vielen Dank im VorausPD
-
Gibt es einen Workaround für die Ermittlung der Koordinaten für das Zone-Cleanup, oder funktioniert dieses Feature noch nicht einwandfrei? Ich würde gerne verschiedene Räume in Zonen einteilen.
Vielen Dank im VorausPD
RRCC
gibt dir die Koordinaten für die Zonen aus.Wenn die Karte plötzlich gedreht ist in der App(auch FloleVac), dann konnte ich trotzdem eine Zone starten und hatte dann wieder die "richtige" Karte drin... Genial (V1 FW 3357)