2023. január 26., csütörtök

Gyorskeresés

Valetudo

Írta: |

[ ÚJ BEJEGYZÉS ]

Valetudo - Szabadítsd ki a porszívót a felhőből

A Valetudo a Xiaomi porszívó minden beállítását és vezérlését biztosítja egy mobilbarát webes felületen. Ez közvetlenül a porszívón fut és nem igényel semmilyen felhő kapcsolatot.
Weblap:https://github.com/Hypfer/Valetudo

Legújabb verzió:0.4ß (Saját elnevezés, a weblapon még nem tölthető le bináris formába)

Valetudo 0.4ß változások:
-Kikerült a PNG-térképek szolgáltatás (Külön projektbe került, mivel nagyon terhelte a CPU-t és a memóriát ezért néha a porszívó újraindult. Ha szükségetek van rá itt találjátok a projektet.).
-A zónákat kijelölése leegyszerűsödött (hasonló mint a MiHome-ba csak itt el lehet menteni és nevet lehet neki adni).
-Tartós adatok (térkép, no-go területek és virtuális falak mentése csak Roborock 5x porszívónál használható)
-Hangcsomag telepítése (A feltöltés sebessége verhetetlen 5-10 másodperc)
-HTTP hitelesítés (sokak vágya volt, ha beállítasz felhasználónevet és jelszót (Nem SSH jelszó) csak úgy lehet a weboldalt megnyitni ha ismered őket.Figyelem:Ha törlöd a felhasználónevet és jelszót, indítsd újra a porszívó).
-A firmware-ba levő SSH kulcsot tudod másolni és a feltöltését letiltani (A tiltás nekem nem működött, de szerintem felesleges mert akkor többet nem tudsz SSH-ba belépni).
-SSH-ba lépéskor üdvözlésnél kiírja a szériaszámot is az eddigieken kívül .

Felrakása:
Ha a porszívón legalább a valetudo 0.3-as verzió van (A régebbi verziókra nem lehet felrakni!!!!) és nem akarsz másik firmware-t feltenni:
WinSCP
Nyiss egy terminálablakot és írd be service valetudo stop
Másold át a valetudo fájlt a /usr/local/bin könyvtárba
Nyiss megint egy terminálablakot és írd be service valetudo start

Vagy másold át a fájlt és indítsd újra a porszívót.

Ha az egész firmware-t akarod feltenni az előző verziónál leírtak szerint tedd fel.

A firmware-k és a valetudo letöltése:

Xiaomi Mi Robot Vacuum (Gen1)
v11_003468.fullos: firmware, md5

Xiaomi Roborock S50 (Gen2)
v11_001768.fullos: firmware , md5
v11_001782.fullos: firmware , md5

Valetudo letöltése

**********************************************************************************************************
Régebbi verzió: 0.3.0

Valetudo 0.3 újdonságok:
Logo
Felhő interfész/Hivatalos térkép feltöltés (Tartalmazza a dummycloud funkcionalitását a hivatalos térképfeltöltő funkció kihasználására.Ezzel a változtatással alapvetően minden létező térképhez kapcsolódó hibának javulnia kellet . Nincs több eltűnő út vagy hiányzó térkép, és nincs több rrlogd javítás.
A technológiai szempontból ez az új felhőfelület-megközelítés megkönnyíti, gyorsabbá és stabilabbá tesz mindent.)
Valós idejű térkép (A térképfunkció most a weblapokat használja a webinterfész frissítésének folyamatos streamelésére.Ha nem látod a térképet, hanem egy hatalmas robot csak kezd el a tisztítást, és nemsokára megjelenik. Ha nem próbáld újraindítani a porszívót).
MQTT
MQTT HomeAssistant automatikus észlelés
Natív koordináták, amelyeket a többi alkalmazás (pl.openHAB,FHEM) használ

Jellemzők:
-Élő térképnézet
-Menj
-Zóna tisztítás
-Időzítők beállítása
-Start/Állj/Szünet
-Robot keresése
-Teljesítmény beállítások
-Fogyóeszközök állapota
-Wifi beállítások
-Szőnyeg mód (Csak gen2) Mivel nekem Gen1-es porszívóm van nem tudom mit lehet állítani (lehet hogy a fordítás se tökéletes) és semmilyen leírást nem találtam róla.Ha valaki kiprobája a beállításokat megírhatná hogy melyik beállítás mit jelent.
-Tisztítási előzmények
-Hangerőszabályzó

A név jelentése: Valetudo a görög istennő (Aszklépiosz és Épióné leánya), Hygieia római neve, amely az egészség, tisztaság és higiénia istennője.

Előnyei:
-Nem kell hozzá internet elérés
-Semmilyen adatot nem továbbit a xiaomi szerverekre
-Nincs szerverlassulás miatti probléma
-Bármilyen operációs rendszeren használható (windows,linux,android,ios,tizen stb.)
-Nem kell hozzá telepíteni applikációt (böngészőbe fut) Bármilyen böngészőbe a porszívó IP címét beírva
már használhatod is a porszívót.
-Csak helyi hálózaton fut ezért nincs kitéve a net veszélyeinek
-Szőnyeg mód beállítások(Gen2-nél)
-Több zónát lehet menteni
-Korlátlan számú készülékről vezérelhető (Nem kell megosztani)
-Integrálható az openHAB-ba

Hátrányai:
-Nem lehet a porszívót a MiHome alkalmazásba teljesen integrálni mert a térképet nem küldi el a
szerverekre, de vezérelhető vele.
-Nem kapsz szerver üzeneteket (pl. "A porszívózás befejeződött")
-Távolról nem vezérelhető csak helyi hálózatról.
-FloleVac csak korlátozott mértékben használható.A térkép (Mivel a app a xiaomi szervert használja a
térképekhez) a firmware frissítés és a hang felrakása nem használható.Ha xiaomi fiókkal vagy
bejelentkezve akkor a 'Beállítások' 'Minden adat törlése' után 'Kézi beállítás'-t kell választani a DID-et az
SSH-ba bejelentkezésnél megtalálod.

No-Go zónát és a szoftveres virtuális falat nem tudja, de szerintem ezek túl vannak lihegve a zónával ki lehet őket váltani.
Példák:

Tudom hogy egy kicsit bonyolult minden alkalommal 4 területet kijelölni az 1 helyett, de pont ebben segít a Valetudo.A zónákat el lehet menteni és visszatölteni.
Feltérképezed a teljes lakást (Indítasz egy takarítást) ,mikor kész kijelölöd a zónákat így:
A porszívó IP címe+/zone (pl.192.168.0.192/zone)

Vagy feljegyzed a zónák koordinátáit (Vagy pl. a számítógépen kijelölöd és közben a telefonon beírod az adatokat).

Beírod az adatokat és hogy hányszor menjen végig a területen.
Beírod hogy milyen néven mentse el a zónát.
Ha több kijelölés tartozik a zónához akkor nem a mentést hanem a 'Terület hozzáadása a meglévő zónához' kell kiválasztani.
A rendes térképoldalon (a porszívó IP címén) nem lehet menteni az adatokat, és nem látod a koordinátákat.

Amíg nem törlődik a térkép (pl. helyi tisztítás indítása) addig használható, de akkor újra indítasz egy teljes lakás tisztítást, és újra használhatók a zónák (én még a teljes tisztítás is zónaként indítom).
Nem kell a dokkolóról indítani a zónatisztítást, bárhol leteheted a porszívót a feltérképezett területen.

Megoldhatnák a térkép mentését, de úgy tudom hogy mivel a gyári firmware se tudja ezért nem foglalkoznak vele (Pedig a zónák mentését nagyszerűen megoldották és az sincs bent a hivatalos firmware-be).

Ha más programba (pl.openHAB,FHEM) kellenek a zóna koordinátái (Más programoknál a dokkoló pozíciója X=25500,Y=25500 és nem lehet negatív szám, a veletudo-nál a dokkoló helyzete X=0,Y=0 és lehet negatív szám.Azért így használják hogy könnyebb legyen a távolságokat kiszámolni (az 1 kb. 1mm-t jelent).
valetudo_X = 856 normál_X = 25500-856 tehát a normál_X: 24644
valetudo_Y = -1235 normál_Y = 25500+1235 tehát a normál_Y: 26735

Kiegészítés AcCEsS-tól:
Annyival egészíteném ki az infót, hogy amennyiben az első koordináta érték nagyobb, mint a harmadik, vagy a második nagyobb mint a negyedik, akkor a vezérlésnek átadás előtt fel kell cserélni őket!
Példa:
Valetudo koordináták: 2180,-1635,5610,-220
Ezeket kivonva 25500-ból: 23320,27135,19890,25720
Átalakítva:19890,25720,23320,27135
A teljes parancs:
~/.local/bin/mirobo --ip [porszívó IP címe] --token [poszívó token száma] zoned-clean [[19890,25720,23320,27135,1]]

Az openHUB integrációhoz még egy kis segítség:
-Zóna adatok lekérdezése: http://porszívó IP/api/get_config
-Térkép adatok: http://porszívó IP/api/remote/map
-Térkép: http://porszívó IP/api/map/latest
-Utolsó térkép képként (png): http://porszívó IP/_mapsrc_ (most nem működik, remélem javítják)
helyette: http://porszívó IP/api/remote/map?drawCharger=true&returnImage=true
Az utolsó térkép a /tmp/maps/ könyvtárból is letölthető képként (png).

Home Assistant integráció leírása (angol), leírás 2 (angol)

Tippek:
1:
A gen2 térkép mentés bekapcsolása a PuTTY-ba vagy WinSCP-be beírva:
echo -n "1"> /mnt/data/rockrobo/lab.cfg

2:
Ha a mobilon úgy akarod használni mint egy alkalmazást:
Chrome böngészőbe írd be a porszívó IP címét.
Ha betöltődik nyomd meg fent a három pöttyöt majd a 'Hozzáadás kezdőképernyőhöz' és írd be hogy milyen néven tegye ki és máris úgy működik mint egy alkalmazás.

3:
Zónatakarítás időzítése(Köszönet MicroDevil-nek a zonetimer.sh elkészítéséért.):
Készítsd el a zónákat a fent leírt módon.
zonetimer.zip letöltése.
Tömörítsd ki.

Telepítsd a porszivóra a curl:
PuTTY:
sudo apt update
apt install curl

WinSCR:
A zonetimer.sh fájlt másold a porszívó /mnt/data könyvtárába.
Állítsd át a jogokat futtathatóra (A fájlon jobb egérgomb 'Tulajdonságok' (vagy F9) X elé pipa).

Teszteld hogy müködi-e:
/mnt/data/zonetimer.sh -z ZÓNA_NEVE -s 4

A ZÓNA_NEVE az általad Valetudo-val készített zóna neve.
A zónáid nevét és adatait megtudhatod a böngészőbe a http://Porszívó_IP/api/get_config címen vagy a porszívó mnt/data/valetudo/config.json fájljából.

PuTTY:
crontab -e (Időzítő editor)

Akár több időszakot és zónát is meg lehet adni pl.:
0 8 * * * /mnt/data/zonetimer.sh -z konyha -z folyosó -s 3 -i 1
0 10 * * 1-5 /mnt/data/zonetimer.sh -z szoba1 -s 3 -i 2
0 16 * * 6,7 /mnt/data/zonetimer.sh -z szoba -s 2 -i 1

Ne felejted elmenteni.

Bármennyi ilyen feladatot létre lehet hozni , de ügyelj arra, hogy a robot figyelmen kívül hagyja a többi időzítőt, ha átfedés van.
A robot elindul és hamarosan leáll és ezt az üzenetet mondja: "Nem minden területet elérhető". Ez azért történik, mert a robot elvesztette a térképet, így a koordinátarendszer már nem helyes. Indíts egy teljes takarítást, hogy az egész lakást végigjárja és újra működni fog.

Paraméterek:
-z A tisztítandó zóna neve. A névnek ugyanolyannak kell lennie, mint a Valetudo. Ha több zónát szeretneél
megadni, akkor mindegyiket "-z ZONE" -vel ad meg. A megfelelő koordinátákat a parancsfájl
automatikusan lekéri. Ha egy név hiányzik/hibás, akkor figyelmen kívül hagyja.

-i Ismétlések száma (alapértelmezett:1)

-s melyik szívási teljesítményt használjon 1:38%, 2:60%, 3:77%, 4:100% (alapértelmezett: 2)

Példák:
0 11 * * * /mnt/data/zonetimer.sh -z ZÓNA_NEVE1 [-z ZÓNA_NEVE2] -s 3 -i 1
magyarázat:
* * * * * parancs végrehajtandó
- - - - -
| | | | |
| | | | ----- Hét napja (0-7) (vasárnap=0 vagy 7)
| | | ------- Hónap (1-12)
| | --------- A hónap napja (1-31)
| ----------- Óra (0-23)
------------- Perc (0-59)

35 11 * * * Minden nap 11:35 perckor
23 14 * * 2,4,6 Minden kedden,csütörtökön és szombaton 14:23 perckor
12 9 * 1 * Minden hónap első napján 9:12 perckor
0 8 3 15 * * Minden év március 15-én 8 órakor
26 10 * * 4-6 Minden csütörtök,péntek,szombat 10:26 perckor

',' és '-' elválasztva több adatod is meg lehet adni.

Ha már nincs szükség rá és törölni , vagy módosítani akarod az időzítőket:
PuTTY:
crontab -e Ha szerkesztenél egyes elemeket akarod törölni (Ha csak ideiglenesen akarsz törölni egyes
időzítéseket tegyél elé kettőskeresztet '#' és ha újra használnád csak töröld ki azt)
crontab -l Kilistázz a crontab fájl tartalmát.
crontab -r Törli az összes időzítést ( crontab fájlok törlése)

Ne felejted elmenteni.

Képernyőképek:


Szerintem érdemes kipróbálni ha nem válik be a gyári firmware gond nélkül felrakható ugyanazzal a módszerrel amivel ezt teszed fel.

Akit érdekel a program annak összeállítottam néhány firmware csomagot a Xiaomi Mi Robot Vacuum (Gen1) és a Xiaomi Roborock S50 (Gen2) verzióhoz.

Hozzáadva:
-Valetudo (Magyar nyelvre fordítottam)
-Dustcloud (Rootolás anélkül, hogy megszegné a jótállási feltételeket).
-Dummycloud(Lehetővé teszi a robot 100% -os felhőmentes működésének használatát)
-Ntpserver (Helyi NTP szerver)
-Wget (egy program, amely a webszerverekről adatokat nyer ki, és a GNU Project része) (csak C verzióba)
-Nano (linuxos szövegszerkesztő) (csak C verzióba)
-Htop (interaktív folyamatmegjelenítő a linux számára) (csak C verzióba)
-Bbe (bináris blokkszerkesztő) (csak C verzióba)
-Snmpd (hálózati eszközök kezelésére és felügyeletére szolgáló eszköz) (csak C verzióba)
-SSH nyilvános kulcs beépítve (csak B és C verzióba)
-A terminál indulásakor megjelenek a porszívó adatai (pl.IP cím,DID,Token) (csak B és C verzióba)

Módosítás,csere:
-Adbd cseréje (A xiaomi egyéni adbd cseréje általános adbd verzióra ezáltal megnyitja a porszívó USB portját)
-Az rrlogd javítása a napló titkosítás letiltásához
-A xiaomi firmware frissítés letiltása
-Magyar időzóna beállítása

Ismert hibák:
-Néha a térképet nem törli, de minden rendben működik.
-Az infóba az időzónát Asia/Shanghai-nak írja pedig Európa/Budapest van beállítva
-A tisztítási előzményeknél a dátum kijelzés angol.

3 verzió készítettem:
A verzió:A SSH kulcs nem került beépítésre és nem lettek létrehozva felhasználói fiókok.Tehát SSH módba nem lehet belépni.

B verzió:az SSH kulcs (SSH olyan hálózati protokoll, mely segítségével titkosított hálózati kapcsolattal jelentkezhetünk be egy távoli gépre) beépítve a firmware-ba root (jelszó:porszivo) és takarito (jelszó:porszivo) létrehozva (Fontos hogy ezeket a firmware telepítése után változtassátok meg mivel az SSH publikus kulcs mindenkinek aki telepíti egyforma és csatlakozhat a porszívóhoz ha az alap jelszót innen ismeri.Ennek nem nagy a valószínűsége mert mivel a porszívó nem csatlakozik a nethez csak a helyi hálózaton érhető el (először a wifidet kellene feltörni) de az ördög nem alszik.A jelszó megváltoztatása PuTTY program használatával passwd root és passwd takarito (PuTTY használatának leírása a blog végén)

C verzió:Ugyanaz mint a B verzió + hozzáadott programok: Ntpserver (Helyi NTP szerver),
Wget (egy program, amely a webszerverekről adatokat nyer ki, és a GNU Project része),
Nano (linuxos szövegszerkesztő),
Htop (interaktív folyamatmegjelenítő a linux számára),
Bbe (bináris blokkszerkesztő),
Snmpd (hálózati eszközök kezelésére és felügyeletére szolgáló eszköz),

Aki nem akar SSH módba a porszívóhoz csatlakozni (pl.putty,winscr) és nem akarja a RRCC (RoboRock Control Center) program jelszót kívánó részét használni, az A verziót válassza.
Ha mélyebben akarsz a porszívóval foglalkozni (módosítások,rendszerfelügyelet,erőforrás figyelés stb.) válaszd a C verzió (ezt a verziót csak tapasztalt linux felhasználóknak ajánlom, akik tudják mit csinálnak)
Egyéb esetekben a B verziót javaslom.

Letöltések:
Xiaomi Mi Robot Vacuum (Gen1) porszívóhoz (Figyelem a Gen2-es porszívóra ne tedd fel!!!!!!!!!!!).
Beta0.3.0-as Valetudo:
Legújabb: v11_003468.fullos
Firmware letöltése: Beta0.3.0-as Valetudo könyvtár

Beta0.2.0-as Valetudo (már nem ajánlom telepíteni inkább a 0.3 verziót használd):
Legfrissebb firmware módosított verzió:
v11_003468.fullos (Kiadás dátuma:2019.2.20)
A verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
B verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
C verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)

v11_003500.fullos:
A verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
B verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
C verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)

Legújabb béta firmware módosított verzió ( v11_003600)
A verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
B verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
C verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)

Xiaomi Roborock S50 (Gen2) porszívóhoz (Figyelem a Gen1-es porszívóra ne tedd fel!!!!!!!!!!!).
Beta0.3.0-as Valetudo:
Legújabb: v11_001748.fullos
Firmware letöltése: Beta0.3.0-as Valetudo könyvtár

Beta0.2.0-as Valetudo (már nem ajánlom telepíteni inkább a 0.3 verziót használd):
Legújabb firmware módosított verzió (v11_001730.fullos (20190201-112553_FULL))
A verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
B verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
C verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)

Legújabb béta(?) firmware módosított verzió (v11_001810.fullos (20181203-201238_FULL))
A verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
B verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)
C verzió
Letöltés: firmware(pkg), ellenőrző fájl (md5)

A firmware telepítése a porszívóra:
Token megszerzése ha még nincs meg(Figyelem: ha wifi helyreállítást végzel a token változik):
Telefon:
-Ha nem a Miui.hu-s MiHome van fent a telefonon előszór uninstallálni az előző verziót majd telepíteni a
Mui.hu-s MiHome verziót.
-Belépés
-Várd meg míg a porszívó kártya megjelenik a kijelzőn (ha nem párosítsd őket) és klikkelj a porszívó
kártyájára és várd meg amíg letölti a plugint .
-Klikk a porszívó kártyájára->jobbra fent a '...' Általános beállítások (General settings)->Hálózati adatok
Megjegyzed(feliratod) az IP címet és a tokent (32 karakter).

Vagy nézd meg a tokent a XVacuum firmware app-al.

PC:
-Letöltőd a firmware telepítő programot innen (ha már régebben letöltötted a hangcsomag telepítőt a számítógépre az is jó),
kitömöríted.
-Amelyik könyvtárba kitömörítened a letöltött fájlt a win-mirobo.ini fájlba beírod az IP címet és a tokent
Így (Természetesen a saját felírt IP címet és tokent írd be!):
ip=192.168.1.166
token=12345678901234567890123456789012
-Bemásolod a firmwares könyvtárba a letöltött .pkg és .md5 fájlt.
-Elindítod a win-mirobo.bat fájlt
-Firmware telepítése (1 billentyű)
-Választ ki melyik firmware-t akarod telepíteni
-Megvárod hogy feltöltődjön a csomagot (7-10 perc)
-Kb.1 percnél a porszívó azt mondja hogy firmware frissítés (Ne csinálj semmit)
-Újraindul a porszívó (Még mindig ne csinálj semmit)
-'A firmware telepítése sikerült' (Még mindig ne csinálj semmit)
-Várd meg míg a program kiírja, hogy a frissítés sikerült
És kész vagy!

Vagy tedd fel a XVacuum firmware program segítségével csak a hangcsomag helyett a firmware-t másold a telefonra.
XVacuum app leírása és letöltése.
XVacuum-nál a wifi visszaállítás miatt a porszívót a 192.168.8.1 IP címen éred el, és itt tudod beállítani a wifi elérést. (Köszi Tomazin)
Vagy ha ha feltelepített a firmware-ét, csinálj a porszívón egy wifi visszaállítást, a MiHome-ba keresd meg a közeli eszközökbe és párosítsd.Az 'Eszköz csatlakoztatása a hálózathoz ...'-nál hibával leáll, de nem gond (a porszívó természetesen nem küldött adatot a MiHome felé) már csatlakozik a wifi-hez a porszívó (a folyamatos kék LED-ből is látszik,nem kell se hálózati nevet se jelszót beírni ha már volt párosítva).

A token és a hangcsomag nem változik a firmware felrakása után.

Ha a porszívó valamilyen hiba miatt nem indul el ,próbáld meg a gyári visszaállítást.

Xiaomi porszívók gyári alaphelyzetbe állítása:

A gyári alaphelyzet visszaállítja az eredeti firmware-t a helyreállítási partícióról. A porszívót fel kell tölteni legalább 80%-ra és a dokkolón kell állnia. A helyreállítás akár 10 percet is igénybe vehet.
Gen1:

Gen2:

PuTTY:
A PuTTY program egy Windows és Linux operációs rendszer alatt használható ingyenes Telnet és SSH kliens. Ennek segítségével SSH kapcsolaton keresztül biztonságosan csatlakozhatunk rendszerekhez.
Letöltés: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Használata:

Megjelenik egy felugró ablak a gép aláírását kell engedélyezni.Nyomd meg az 'Igen' gombot.

Első alkalommal root-ként lépj be és változtasd meg mindkét jelszót a passwd root és passwd cleaner parancsokkal (az új jelszót kétszer kéri).

A terminálból az Exit paranccsal léphetsz ki.

Mindenki csak saját felelősségére használja a leírás a firmware-t és a programot!

  • Nem lehet hozzászólni
Copyright © 2000-2023 PROHARDVER Informatikai Kft.