Sonoff Basic nem értem

 ( VincentV | 2018. augusztus 20., hétfő - 11:27 )

Adott egy (illetve több) Sonoff Basic wifis smart relé, amiket többek között az itteni smarthomeos topicokban levő infók alapján is rendeltem. Aki nem ismerné: ez egy egyszerű ESP alapú cucc, van hozzá egy halom alternatív firmware, de akár saját kód is flashelhető rá. Az egész inkább arról szól, hogy az ember 4-5 usd-ért vesz egy ESP-t + relét szépen dobozolva, így elég csak az sw-vel foglalkozni. Ilyen árak esetén szerintem nem éri meg from scratch ugyanezt a vasat megépíteni.

A gyártó (Itead) természetesen ad hozzá saját firmwaret, és saját cloudot (EWelink). Flashelés előtt gondoltam kipróbálom mit tud ez a gyári megoldás. Csináltam egy szeparált guest networkot az eszközöknek, majd a doksi alapján elkezdtem őket setupolni. Ezen a ponton egy számomra érthetetlen dologba futottam bele: a telefonos app gyakorlatilag úgy állítja be a wifit az eszközön, hogy az nem csinál magából ideiglenesen AP-t.

Leírom inkább a lépéseket, az alapján jobban látszik hogy mire gondolok, illetve hogy miért vagyok meglepődve:

- szűz Sonoff Basic dobozból kivesz, áram alá helyez, pair button nyom 5 sec-ig
- telefon csatlakozik az említett guest wifihez, Ewelink app indul
- az app-ban "quick pairing mode"-t adok meg, bekéri a wifi hálózatom jelszavát, majd molyol 3 percig
- a Sonoff újraindul, és sikeresen joinol a megadott wifi hálozatba

Miért is nem értem ezt:

- a Sonoff a dobozból kivéve nyilván nem tudhatja a wifi ssid-m és jelszavam, ezeket én adom meg az app-ban
- a telefon a folyamat alatt végig a saját wifimre csatlakozik, pingelem közben, nem szakad meg vele a kapcsolat egy pillanatra sem
- a telefonon biztosan nem lehet alkalmazásból az user tudta nélkül a háttérben wifi hálózatot váltani, hotspotot vagy ad-hoc kapcsolatot létrehozni (agyonkorlátozott iphone/IOS)
- egy PC-n futó wifi scanner semmilyen idegen hálózatot nem talál a folyamat során
- a Sonoff tényleg egy nagyon faék eszköz, én is szétszedtem, de a net is tele van disassembly videókkal, kapcsolási rajzokkal, biztosan nincs benne GSM, BT, NFC, mikrofon, vagy egyéb más hasonló lehetőség, amin keresztül kommunikálni lehetne vele, csak az ESP alapú wifi áll rendelkezésre
- a routeremen Openwrt fut, nincs wps, vagy egyéb hasonló megoldás
- nincs a környéken nyitott wifi hálózat

A kérdés tehát: hogy a búbánatba küldi át az app az eszköznek a beállítani kívánt SSID-t és a hozzá tartozó jelszót?

Egyébként maga a Sonoff/Ewelink tudna manuális módot is, ilyenkor az egyéb gyártóknál megszokott módon AP-t csinál magából az eszköz, arra kéne ideiglenesen csatlakozni a telefonnal, majd app indít, setupol, stb... Ez viszont a failback megoldás lenne, ha a fenti "quick pairing mode" nem működne.

Bárkinek bármi ötlet, hogy hogy a fenébe oldja ezt meg? Igazából úgyis custom firmware fog rájuk kerülni, szóval security szempontból érdekel a dolog, nem pedig azárt mert használni szeretném az Ewelinket.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Szerintem te az ESP Touch/SmartConfig-ra gondolsz:

https://www.espressif.com/en/products/software/esp-touch/resources

Wow, köszönöm! Tuti, hogy ezzel csinálja. Túrtam a netet pedig egy darabig miatta, de Sonoff/Itead/Ewelink kiindulási pontokkal nem találtam semmit.

Ügyes trükk amúgy, erre végképp nem gondoltam volna :)

Azert, mert ez a sonofftol fuggetlen, magaban az ESP-ben megvalositott konfig "protokoll".

Egyebkent ezt lesd meg meg ha gondolod, nalam ez fut a sonoffokon: https://github.com/arendst/Sonoff-Tasmota/

Igen, arra rájöttem, hogy nem az Itead találta ki.

Amúgy Tasmota lesz rajtuk, ezt már a rendelés előtt eldöntöttem. A gyári Ewelink csak egy pár perces kitérőnek indult, de nagyon elakadtam a fenti jelenségen, és mindenáron meg akartam fejteni. Köszi hogy segítettél benne :)

Amúgy elég durva, hogy ilyen faék módszerrel lehet adatot leakelni akár egy rommá tűzfalazott hálózatból is, elég csak egy rogue app valahol, meg persze wifi.

mi alapján döntöttél a tasmota mellett?
miben jobb az espurnánál?
https://github.com/xoseperez/espurna

Semmi konkrét, inkább csak szubjektív szempontok alapján. Mivel nincs még tapasztalatom egyikkel sem, ezért csak a netes véleményeket/doksikat/tutorialokat olvasgattam. Ezek alapján a Tasmota körül nagyobb a community, talán a jövőben lesz olyan eszközöm amit az támogat, az ESPurna és ESPEasy pedig nem. Így homogén lehetne az sw. De az egész csak feltételezés, lehet hogy kipróbálom mindegyiket.

Egyébként Hass-al használnám, mqtt-vel, szóval annyira talán nem is lényeges az egész, ezt mindegyik tudja helyből.

Megnezted az espeasy plugin's playgroundjat..? ;) Van ott boven csemege. (Es az nagyon fasza, hogy "szkriptelheto".)

Ezeket a Sonoff-okat meg mindig forrasztani kell hogy flashelni lehessen vagy mukodenek OTA-n is? Az egyetlen dolog amiert nem rendeltem meg beloluk egy marekkal es hszanalom oket mert nincs idom, kedvem, de legfokeppen kezugyessegem forrasztani a lapokra a PIN-eket es hardweresen taknyolni veluk. Az OTA-t ugy ertem hogy egyenesen a gyari EWELINK appbol firmware-t cserelni... Utana mar tudom hogy menne, de a legjobb lenne ha en mis kellene szetkapnom...

engem is ez érdekel

Rossz hírem van: nem még mindig, hanem már megint. Megoldották az alternatív OTA-t szépen, de aztán a gyártó adott ki új firmwaret, ami már nem hajlandó szóba állni semmivel, ami nem az Ewelink szerver certjét használja. Így megint megszűnt az OTA lehetőség. Downgrade opció pedig nincs, szóval csak serialon flashelted. Ha rendelsz, akkor esélyes hogy újabb fw-vel kapod, az enyémek 1.8.1-el jöttek, és ha jól rémlik akkor 1.6 alatt kéne hogy legyen az OTA-hoz (ami talán 1 éves dolog).

Ha viszont megflasheled serialon, akkor vége az egész problémának, ahogy írtad is. Alternatív fw-vel megy az OTA, meg azt csinálsz amit akarsz.

Egyébként a folyamat idejére akár az is megoldható, hogy megkéred pl. az asszonyt, hogy segítsen odafogni azt a 4 érintkezőt, és akkor nem kell forrasztani :)

Ott lenne vege a tortenetnek ha en a paromat oda tennem hogy drotot fogjon az en kutyuimhez. Meg nekem sincs kedvem vele tokolni... Ehh nem ertenek ezek a sracok az uzlethez... Minnel orgebb vagyok vagyre inkabb erzem ugy hogy lustulok... az 5 dollaros kutyuert en siman adnek 15-ot is ha csak hasznalhatnam... Sot mar gondolkodtam is rajta hogy megfizetek valakit kiszitse elo nekem ezeket mert en inkabb massal foglakoznek... Kar pedig... Tetszenek nekem de igy ismet nem lesz nekem ilyenem... Mikor jonnek ra a fiuk hogy kb 3x annyit adnanak el belole ha "just works" lenne...

Pontosan ezt csinálják pedig. A saját cloud meg a telefonos app arra van, hogy akik nem értenek hozzá és/vagy lusták, azoknak tényleg 1-2 gombnyomásra működik minden. Erről szól az ESP touch config is, amivel indult a topic. Gyakorlatilag minden ilyen jellegű smart home cucc "just works", az iTead/Sonoff abból a szempontból jobb, hogy nagyon könnyen és egyszerűen hackelhető rá custom szoftver.

Te viszont nem is vagy lusta, meg gondolom értesz is hozzá, ha már custom firmwaret szeretnél, illetve vélhetően van/lesz valami központi megoldásod is (Home Assistant és társai). Ha nem akarsz semmi ilyesmit, akkor viszont minek a custom fw?

Egyébként ahogy az alattam szóló írta, oda lehet fogni egyedül is a jumper kábeleket, szóval ez sem áll az utadba :) A szétszedéshez se kell csavarhúzó, pattintós a doboz, és elég könnyen enged.

Igen van mukodo Home Assistantom egy rakat ZWave ezzkozzel meg HomeMatic meg Ring, meg minden egyeb bohocsag... Kb 15-20 ilyen eszkozt tudnek hasznalni - a meglevo kb 35 zwave kapcsolo mellett... A bajom az hogy nalam 1 eszkoz nem eszkoz, en nem azert hasznalnam, hogy szorakozzak, hogy az ejjeli lampat be tudom kapcsolni de ha mar odaerek, hogy 15-ot kell firmware-zmom, bekonfigolnom, MQTT enroll, elnevezni, group-ba rakni akkor az mar boven eleg ido es a forrasztas - "odafogom" mokolas - ez elsos - trial-error, most csinalom eloszor stb mar boven 3-4 ora x*rozas... Plane annak a fenyeben hogy nekik aztan igazan semmibe nem kerulne nyitva hagyni, pont az a dolog amikor inkabb hagyom es masfele nezelodom meg ha dragabb is... a gyari firmware mukodik MQTT - Home Assiatantal vagy a csak szokasos gogyikinai appal aminek egyik fele angol a masik kinai ?

Ha nálad a zwave bevált, akkor semmi értelme váltani egy olyanra, amivel több munka van. Szerintem.

eeegen - egy Zwave kapcsolo 40+ GBP egy ilyen 5 ... Es ezzel olyanokat tudnek kapcsolgatni amikhez nincs kimondott fali kapcsolo...

Ez a felára annak, hogy már gyárilag olyan, mint amit szeretnél. Szerintem vannak olyan zwave relay modulok, amiket támogat a homeassistant. A döntés a tied: forrasztasz, vagy fizetsz.

Működik, de siralmas: mqtt nincs, az Ewelink cloudnak van valami apija, azt lehet pl. curl-el hívogatni, és Hass-ba integrálni. Szóval ha nincs net, akkor 'szhatod. Meg a franc sem akar kínai cloud függést a lakásába, se így se máshogy. Szóval szerintem ez felejtős.

A régi firmwareben volt köztes megoldás, mert maga az ESP hívható volt direktben webes apin, de ahogy az ota se megy a cert probléma miatt, így már ez sem működik.

Egyébként a 3-4 órát értem, csak annak jelentős része szerintem olyan task, amit amúgy is meg kéne csinálnod bármilyen eszközzel (mqtt enroll, elnevezés, stb..), nem?

Elkészítettem egy sonoff basic software-ét. Mivel nálam csak kapcsolnak, így mindegyikre ugyanaz a software megy. A szétszedés, forrasztás, flashelés, összeszerelés, ha nagyon ráérősen csinálom, akkor maximum 15 perc. De ebben már a páka melegedése is benne van.

Elnevezés…: Egy konfigurációs fájlban vannak az adatok, amit akár OTA is fel tudok tenni, így egy újraindítás után már az új adatokkal indul az eszköz. Korábban mqtt utasításokkal is lehetett módosítani a fontosabb beállításokat, de ezt végül töröltem, mert sohasem használtam.

További motiváció a kollégának: az imént csináltam meg, még fogni se kell semmit :) A jumper kábelek vége pont annyira beleszorul a lyukakba hogy bőven elég kontaktust adnak (furatgalvanizált a PCB is). Úgyhogy... :)

:) Nagyon megy az agitacio - nagyon megy :) - De asszem megis csak rendelek egy parat...

En is lusta voltam, ugyhogy balkezzel odafogtam a 4 jumper drotot meg a gombot, jobbal betoltam az usb-serialt a helyere, aztan enter az elore bert parancsra, es fel percig nem mozdultam meg, voila :)

En meg lustabb voltam, es kitamasztottam a 4 szalas drotot, igy meg fognom sem kellett :}}


Sic Transit Gloria Mundi