E-Robot – Dokumentáció

Mi is ez

Az E-Robot egy automatizáló alkalmazás, lehetővé teszi hogy különböző feladatokat automatikusan hajtsunk végre a készülékünk segítségével. Ehhez nem kell mást tennünk mint parancsokat definiálnunk. Egy parancs létrehozásakor megadhatjuk hogy milyen események hatására milyen műveleteket hajtson végre. Továbbá az eseményeket és a műveleteket is feltételekhez köthetjük.

Az alkalmazás több mint 130 esemény típust képes kezelni és több mint 50 művelet típust képes végrehajtani. Ráadásul ezek mindegyike paraméterezhető így a lehetőségek száma ténylegesen sokkal több és a jövőben tetszőlegesen bővíthető. A robot képes hely alapú, időzített, alkalmazásokhoz kötött és egyéb események kezelésére is. Ezen kívül képes Elixir 2 profilokat végrehajtani így a profil aktiválást automatikussá tehetjük.

A létrehozott parancsok azonban nem csak események hatására hajtódhatnak végre, aktiválhatjuk a parancsokat manuálisan is közvetlenül az alkalmazásból vagy parancsikonok segítségével.

Egy parancs létrehozása

A program indulásakor egy üres képernyő fogad amely elmagyarázza röviden a program működését. Kattintsunk az Új parancs gombra egy új parancs létrehozásához:

Ehhez először adjuk meg kell a parancs nevét majd kattintsunk az Ok gombra:

Ezután a parancsok képernyő fogad amely az alkalmazásnak az fő képernyője:

A bal felső sarokban az ikon mellett láthatjuk hogy milyen képernyőn vagyunk éppen, a jobb felső sarokban lévő első menüvel a parancsok csoportosítását végezhetjük el, míg a másik ikonnal egyéb képernyőket nyithatunk meg. A fejléc alatti fülek a létrehozott parancsokat mutatják és teszik lehetővé a parancsok közötti váltást. A képernyő alján lévő eszközkészlet a kiválasztott paranccsal kapcsolatos műveletek végzését teszi lehetővé vagy új parancs létrehozását. Tehát itt tudjuk a parancsot elmenteni, átnevezni, törölni vagy manuálisan végrehajtani. A képernyő középső részét a kiválasztott parancs definíciója foglalja el.

Láthatjuk hogy egy parancshoz rendelhetünk eseményeket és műveleteket. Ha az események valamelyike bekövetkezik akkor az itt megadott műveletek lesznek sorrendben végrehajtva. Definiáljuk az első parancsunkat úgy hogy a képernyő bekapcsolásakor egy üdvözlő üzenetet jelenítsen meg az értesítési területen. Az esemény amelynek hatására valamit csinálni kell tehát a képernyő bekapcsolása. Az esemény megadásához kattintsunk az Események sorban lévő + jelre:

Az esemény választó ablak jelent meg ahol ki tudjuk választani a kívánt eseményt. Az események a nagy számuk miatt csoportokra vannak bontva melyeket fülek jelenítenek meg. Menjünk át a Kijelző fülre mert a Képernyő bekapcsolva esemény ott található. Ezt több féle módon is meg tudjuk tenni: görgethetjük a füleket, kattinthatunk az aktuális fülre és kiválaszhatunk a listából egy másikat vagy söprés mozdulattal mehetünk a következő vagy előző fülre. Válasszuk ki az adott eseményt:

Láthatjuk hogy a kiválasztott esemény bekerült a parancs eseményei közé:

A következő dolgunk a művelet megadása. Ehhez kattintsunk a Műveletek mellett lévő + jelre, a művelet választó képernyőn menjünk el az Egyéb fülre és válasszuk ki az Értesítés megjelenítése műveletet. Ez egy olyan művelet amelyet lehet paraméterezni, így előbb a Paraméterek ablak jelenik meg ahol a konfigurálást elvégezhetjük:

Itt az id paramétert állítsuk át 1-re hogy képernyő bekapcsolásakor ne mindig új értesítést jöjjön létre hanem a meglévő frissüljön, a tartalom szöveg részbe pedig írjuk be hogy Hello. Ezzel el is készült az első parancsunk:

Mentsük el a módosításokat, ehhez a lenti eszköztáron kattintsunk a második ikonra. Ha az utolsó, Parancs végrehajtása ikonra kattintunk akkor kipróbálhatjuk hogy működik-e a értesítés létrehozása. Ezután a Robot működését kipróbálhatjuk ha ki majd bekapcsoljuk a képernyőt. Bekapcsolás után egy új értesítés jelenik meg vagy frissül az aktuális időponttal:

Alkalmazásfüggő események

A programban lehetőség van alkalmazások elindulásához, leálláshoz, fókuszba kerüléséhez illetve elvesztéséhez is műveleteket rendelni. Mivel általában több alkalmazást szeretnénk hasonló módon kezelni ezért szükség van az alkalmazások csoportosítására mert ezután sokkal egyszerűbb ezekhez a csoportokhoz rendelni a műveleteket. Tegyük fel hogy azt szeretnénk hogy bizonyos alkalmazások használatakor ki legyen kapcsolva a Wi-Fi, egyébként viszont be. Ehhez először is nyissuk meg az Alkalmazások képernyőt az E-Robot-on belül. Jelöljük ki azokat az alkalmazásokat amelyeknél ki szeretnénk kapcsolni a Wi-Fi-t:

Ezután kattintsunk az alsó eszköztáron az első gombra amellyel a kiválasztott alkalmazásokat csoportba rendelhetjük. A megjelenő ablakban kattintsunk az Új csoport gombra, adjuk meg a csoport nevének azt hogy no wifi majd nyomjuk meg az Ok gombot. Láthatjuk hogy a kiválasztott alkalmazások bekerültek az új csoportba:

Ezután menjünk vissza a parancsok képernyőre és hozzunk létre egy Wi-Fi on és egy Wi-Fi off parancsot is. Az utóbbi akkor aktiválódik amikor a csoport egy alkalmazása fókuszba kerül és ilyenkor kikapcsoljuk a Wi-Fi-t. Ezért adjuk hozzá az Alkalmazások / Alkalmazás csoport megkapta a fókuszt eseményt és válasszuk ki a létrehozott no wifi csoportot. A másik parancsnál ugyanígy járjunk el de ott az Alkalmazás csoport elvesztette a fókuszt eseményt kell használni. Ha ezzel megvagyunk akkor már csak a Wifi / Wi-Fi beállítása műveletet kell mindkét parancshoz hozzáadnunk úgy hogy megfelelően kapcsolják a Wi-Fi-t ki vagy be:

Ezután ha elindítok egy alkalmazást a no wifi csoportból akkor automatikusan kikapcsol a wi-fi:

Majd ha kilépek belőle akkor pedig automatikusan bekapcsol:

Helyfüggő események

Az alkalmazás talán egyik leghasznosabb tulajdonsága hogy lehetőség van helyváltoztató események definiálására is, így a telefon automatikusan tudja változtatni a beállításokat attól függően hogy éppen hol tartózkodunk. Az ilyen parancsok definiálása előtt először a helyeket kell meghatározni. Ehhez válasszuk a Helyek opciót a jobb felső menüből:

Helyek opció

Egy új helyszín megadásához kattintsunk az Új hely gombra majd adjuk meg a nevét:

New location

Egy helyhez lehetőségünk van cellákat és földrajzi koordinátákat is megadni. A cella alapú helymeghatározás kevésbé pontos azonban nem okoz jelentős energiafelhasználást, míg a koordináta alapú pontosabb azonban gps használatát igényli. Kattintsuk a GSM cellák vagy CDMA cellák melletti + jelre új cellák definiálásához. Cella adatok alapján úgy tudunk kényelmesen egy helyet definiálni ha éppen ott tartózkodunk. Ekkor válasszuk ki az Adatok gyűjtése opciót és elkezdődik a cellák automatikus detektálása:

Cellák detektálása

Érdemes ezt a képernyőt így hagyni néhány percig hogy minél több cellát össze tudjon gyűjteni, de a cella adatok bővítésére később is lesz lehetőség. Ha elég sokat vártunk akkor kattintsunk a Hozzáad gombra a detektált cellák helyhez való hozzáadásához. A következő képernyőn látható hogy két helyszínt definiáltam, az otthont és a munkahelyet:

Locations

Ha a helyszín megadását elvégeztük akkor menjünk vissza a Parancsok képernyőre és hozzuk létre azokat a parancsokat amiket akkor szeretnénk végrehajtani ha belépünk az adott helyekre. Eseménynek a hely & biztonság / Belépés a megadott helyre eseményt kell választani kiválasztva a korábban definiált helyek valamelyikét. A használjon paraméternél a cellák értéket állítom be mert a helynél csak cellákat definiáltam és cella alapú helymeghatározást szeretnék. Műveletnek mindkét parancsnál azt állítottam be hogy kapcsolja be a Wi-Fi-t:

Enter locations

Már csak egyetlen parancs van hátra amivel azt szeretném megmondani hogy ha se otthon se a munkahelyen nem vagyok akkor kapcsolja ki a Wi-Fi-t. Ehhez a Kilépés minden helyről eseményt kell használni és műveletnek beállítani hogy kapcsolja ki a Wi-Fi-t és készen is vagyunk:

Exit locations

Előfordulhat hogy egy megadott helyen tartózkodunk és észrevesszük hogy a program azt érzékelte hogy elhagytuk az adott helyet. Ez könnyen megtörténhet ha a telefon egy olyan cellába lépett át amely nincs a helyhez rendelve. Lehet hogy ezt úgy vesszük észre hogy az értesítési területen azt látjuk hogy az utoljára végrehajtott parancs az volt hogy kiléptünk minden helyről:

Robot exited from locations

Ha rákattintunk az értesítésre akkor a Történet képernyő nyílik meg ahol a végrehajtott parancsok történetét láthatjuk. Ezt a képernyőt természetesen a programból is bármikor megnyithatjuk:

History screen

Ezen a képernyőn bármikor megnézhetjük hogy miért érzékelte a program egy hely elhagyását. Itt láthatjuk hogy melyik volt az a cella amely még nincs az adott helyhez rendelve ezért kilépést váltott ki. Ha tudjuk hogy ekkor ténylegesen ott tartózkodtunk akkor egyszerűen az adott sorra kell kattintani és hozzáadhatjuk a cellát egy megadott helyhez. Azonban hozzáadhatjuk a cellát ignorált cellaként is. Előfordul hogy a telefon időnként belép egy távoli cellába is. Ha azt szeretnénk hogy ilyenkor a program ne érzékelje a hely elhagyását (mert nem hagytuk el) de ez a cella ne váltsa ki a helyre való belépést sem, akkor ignorált cellaként adjuk hozzá. Tehát egy ignorált cella abban tér el a normál cellától hogy nem váltja ki a helyre való belépést ha az adott cellába lépünk.

Időzített események

Ha időzítetten szeretnénk parancsokat végrehajtani akkor erre is van lehetőség a dátum & idő / Riasztás esemény segítségével. Lehetőség van egyszeri és ismételt időzítés beállítására is. Első lépésként kötelező módon meg kell adni az esemény időpontját:

Mikor paraméter

Ha ismételt végrehajtást szeretnénk beállítani akkor ezután megadhatjuk az ismétlés intervallumát és egyéb paramétereket is, mint például hogy a hét melyik napján szeretnénk hogy működjön az időzítő:

Ismételt események

Az időzítés esemény kitűnően használható arra a célra ha például azt szeretnénk hogy minden este a telefon automatikusan kapcsoljon ki dolgokat, növelve ezáltal a telefon használhatósági idejét. Egy egyszerű parancs amely elvégzi ezt a funkciót így néz ki:

Go Sleep parancs

Ezután készíthetünk egy másik parancsot is amely minden reggel bekapcsolja a szükség dolgokat, visszaállítja a telefont a normál állapotába. Amennyiben helyfüggő beállításokat használunk akkor reggel azt szeretnénk hogy a telefon azokat a beállításokat aktiválja amelyet ahhoz a helyhez rendeltünk ahol éppen tartózkodunk. Ehhez a Belépés az aktuális helyre műveletet tudjuk használni amely szimulálja az adott helyre való belépést, kiváltva ezzel a helyhez rendelt parancs végrehajtását. Természetesen ehhez rendelkeznünk kell egy paranccsal amely eseményként az adott helyre való belépést tartalmazza.

Wake Up parancs

Feltételek és kifejezések

Események és műveletek végrehajtását is feltételhez lehet kötni. Ha eseményhez adunk egy feltételt akkor az esemény megtörténte esetén csak akkor fog a parancs végrehajtódni ha a megadott feltétel teljesül. Ha művelethez adjuk a feltételt akkor a parancs mindig végrehajtódik de csak azok a műveletek amelyekre a feltétel igaz.

Tegyük fel hogy azt szeretnénk megoldani hogy ha telefonhívás közben lefordítjuk a telefont akkor némítsa el a készüléket. Ehhez a Készülék lefordítva eseményt a parancshoz adva kattintsunk az esemény sorához és válasszuk ki a Feltétel megadása opciót:

Feltétel megadása

Egy új ablak jelenik meg ahol meg kell adnunk egy logikai kifejezést mint feltételt, ahogy ez az ablak címéből is látható. Ha a logikai kifejezés értéke igaz akkor a feltétel teljesül. Feltétel megadásakor az alapértelmezett kifejezés egy És operátor hogy egyszerűbben tudjunk komplex kifejezéseket megadni, mint például: képernyő bekapcsolva ÉS wifi bekapcsolva.

Feltétel szerkesztése

Egy kifejezést úgy tudunk szerkeszteni hogy a neve melletti ikonra kattintunk és kiválasztjuk a Kifejezés megváltoztatása opciót. Ezen a módon tehát módosíthatjuk az És operátort ha mégsem azt szeretnénk használni. Most kattintsunk a Nincs kifejezés melletti ikonra hogy megadjuk azt a feltételt hogy csak akkor hajtódjon végre az esemény ha csörög a telefon. A megjelenő képernyőn menjünk a Telefon fülre és válasszuk ki az Adott hívási állapotban van kifejezést.

device-2013-03-30-203456

Ezután megjelennek a kifejezés paraméterei ahol állítsuk be hogy minket csak a csörög állapot érdekel:

device-2013-03-30-203817

Ezután a teljes kifejezést láthatjuk egyben és az OK gombra kattintva be is fejeztük a feltétel megadását. Új feltételt úgy tudunk a jelenlegihez adni hogy az És operátorhoz adunk egy új paramétert a + gomb megnyomásával. A létrehozott kifejezéseket kitörölhetjük ha a kifejezés melletti ikonra kattintva a Kifejezés törlése opciót választjuk ki.

device-2013-03-30-203623

A szerkesztett kifejezéseket ki is tudjuk próbálni ha a kifejezés melletti ikonra kattintunk és kiválasztjuk a Kifejezés kiértékelése opciót. Ezáltal a kifejezés alatt megjelenik a kifejezés típusa és aktuális értéke. Jelen esetben ez az érték hamis, a készülék ugyanis éppen nem csörög:

device-2013-03-30-204355

A Parancsok képernyőn az esemény alatt látható is a megadott feltétel:

device-2013-03-30-203956

Egy kifejezés típusa lehet szám (pl: 42), szöveg (pl: android) vagy logikai (pl: igaz). Kifejezés megadásakor csak olyat választhatunk ki amely megfelel az elvárt típusnak, ezt egyébként az ablak címsorában is láthatjuk. Ha feltételt adunk meg akkor logikai típusú kifejezést kell használni, az egyéb típusú kifejezések szürkén vannak megjelenítve és rákattintva figyelmeztetést kapunk hogy az adott kifejezés típusa nem megfelelő.

device-2013-04-02-093448

Az Akkumulátor százalék kifejezés például szám típusú, logikai kifejezésben közvetlenül nem használható. Használható viszont olyan logikai operátor segítségével amely számokat is elfogad, például: Akkumulátor százalék EGYENLŐ 100 vagy Akkumulátor százalék NAGYOBB MINT 90:

device-2013-04-02-094131

Parancsvégrehajtás megerősítéssel

Sok parancsnál zavaró lehet a kontroll nélküli automatikus végrehajtás. Tegyük fel hogy egy olyan parancsot hoztunk létre hogy a program minden este 10 óra után kapcsolja ki a Wi-Fi-t. Ez hasznos funkció hogy ne merüljön éjszaka feleslegesen az akkumulátor vagy hogy ne zavarjanak meg például e-mail értesítések. Azonban zavaró is lehet ha 10 órakor pont használjuk a telefont és közben a Robot kikapcsolja az internet elérést. Az ilyen és hasonló esetekre kínál megoldást a parancsoknál beállítható Megerősítés opció amely lehetővé teszi az automatikus parancsvégrehajtás megadott ideig történő blokkolását és kézzel való megszakításának vagy elhalasztásának lehetőségét:

Exit locations

Ha ezt egy parancsnál beállítjuk akkor az adott parancs nem hajtódik rögtön végre hanem egy ablak jelenik meg ami értesít a parancs végrehajtásáról. Ha akkor nem használjuk a telefont akkor a megadott idő lejárta után a parancs automatikusan végrehajtódik, tehát ugyanúgy működik mintha ezt az opciót be sem állítottuk volna. Ha viszont használjuk a telefont akkor meglátva az értesítő ablakot lehetőségünk van a parancs futtatására, megszakítására vagy elhalasztására:

Megerősítés

Ha a fenti példánál maradva tudjuk hogy már csak pár percig netezünk akkor beállíthatjuk hogy a parancsot futtassa 10 perccel később.

Parancsikonok manuális parancsindításhoz

Parancsikonok készíthetők parancsokhoz vagy parancs csoportokhoz hogy egyszerűen tudjunk manuálisan parancsokat végrehajtani. Egy E-Robot parancsikon létrehozása során kiválaszthatjuk melyik parancsot akarjuk futtatni:

Parancs választása

Ezután módosíthatjuk a parancsikon nevét és képét:

Kép módosítása

A program támogatja az Ipack ikonokat vagy választhatunk képet a készülékünkről is:

Ipack ikon választása

Az eredmény egy testreszabott parancsikon amely a kiválasztott parancsot fogja futtatni:

A testreszabott parancsikon

Ha hoztunk létre parancs csoportokat akkor egy csoporthoz is készíthetünk parancsikont:

device-2013-02-26-110036

Egy ilyen parancsikonra kattintva egy ablak jelenik meg ahol az adott csoportba tartozó parancsok közül válogathatunk:

device-2013-02-26-110055

Példa: Kapcsolódás a legerősebb Wi-Fi hálózathoz

Ha több Wi-Fi hálózat elérhető a számunkra és a legerősebbhez szeretnénk csatlakozni akkor ezt megtehetjük két egyszerű parancs létrehozásával. Az első parancs egy Wi-Fi felderítést indít minden percben. Ha az Aktuális idő megváltozott eseményt használjuk erre a célra akkor idő intervallum szűrőt is megadhatunk:

Wi-Fi felderítés minden percben

A második parancsban használhatjuk a Kapcsolódás a legerősebb hálózathoz műveletet amikor egy Wi-Fi felderítés befejeződik:

Kapcsolódás a legerősebb hálózathoz

305 hozzászólás a(z) “E-Robot – Dokumentáció” bejegyzéshez

  1. Hi, thank you for the App. I need a Howto for using a NFC-Tag to switch to a specific Elexir2-Profile. For writing to the tag I use the App ‘Tagstand Writer’. I can write a text string to the tag. But when the Nexus 4 is reading the tag it displays the typical windows ‘with whick app do you want to open this event’. There E-Robot can be choosen. But the allways / once Buttons are missing. So I have to go through this scree each time the tag is scanned. What can I do?

  2. I see. Thank you for that information. Can you help me with two other problems that I can’t solve?

    1: When loosing the connection (too far away) to Wifi ‘Foo’ (at Home) or ‘Work’ (at work) I need to switch to Elexir 2 Profile ‘on the road’. And when I come in reach of the Wifi ‘Work’ I want to switch to the profile ‘Office’.

    2: When I discover the bluetooth partner ‘headset X’ I want to start the app ‘Gogle Music’.

    How can I automate theese two tasks?

    TIA.

    • To detect loosing wifi connection you can use the Network/ Network connectivity changed event with when=disconnected and type=wifi

      To detect if wifi ‘Work’ is connected you can use the Wifi / Network state changed event with when=connected and set bssid or ssid of your Work network. The pencil icon auto-fills the field if you are connected to that network.

      To detect the connection to your headset you can use the Bluetooth & NFC / Bluetooth ACT connected with device name ‘headset X’. I suggest you to select the device name from the list of bonded devices by using the pencil icon. To start Google Music you can use the Applications / Start application action.

  3. With the ALARM Event. Is the Parameters supposed to increased by 1 day, if the repeat is set to 1 day.
    Eg: ALARM: 26/04/2013 @ 11:00

    When I check the parameters on the next day. Should it read: ALARM 27/04/2013 @ 11:00? or will it still read 26/04/2013?

  4. I have been trying to get a location/movement based set of actions set up. I want the Gps to be shut off when I have been in a location for more than 10 minutes. I then want to detect when I start moving again and turn the Gps back on.
    Currently I have not been able to get the movement detection to detect false, or no movement. I can get the Gps to turn on when I start moving.
    Suggestions?

    • How do you detect start moving without gps?

      The Location changed event has output parameters: latitude, longitude. You can store these variables in the command into persistent variables with the Set variable action. Using these variable you can calculate movement from a previous position.

      • Hello, Mr. Barta!

        Thanx for a great app! I’m a beginner and fiddling with it with little success – I must admit.

        My question is similar to that of Mr/Ms. R. T. Vance REF: Movement Detection:

        How do I switch-on the GPS in a Battery Saving Mode while in motion [driving], switch it off when I stop for a certain number of minutes or hours and switch it on; when I get moving again?

        Looking forward to receiving a simple solution.

        Thanking you,

        With warmest regards,

        Alhad

  5. Hi,

    I’ve just started using e-robot, and it fits in well great with the rest of the elixir suite – I love that it can use the same profiles, for example.

    Is it currently possible to use wildcards in calender event names? And might it be possible to have a calendar-event-end event?

    Thanks again!

  6. Hi barta
    I resolved the problem of toggle lockscreen. Now I’d like to create a command which turns lockscreen off when I’m within my home WLAN (but not connected to it).
    Is that possible? I tried the event “Network state changed” = “available”, but this does not seem to work.
    Thanks a lot
    Martin

      • I want to turn off lockscreen when I am at home i.e. within my home WIFI, but I would not like to have to CONNECT to my WIFI to have the command executed.
        Then, when my WIFI is no more available, e.g. when I left home, I ‘d like to have lock screen turned on.
        (This works fine for GSM – cell – based locations, but I’d like to limit the area to my home WIFI)
        best, Martin

  7. Hello,
    I’m new to e-robot, but I can say I like it!

    But i have som questions and perhaps suggestions:

    Is ist possible to change the color of the e-robot-Logo in Statusbar with conditions? Example: i’m in my home-location and the logo is green. When i change the Location and i’m at Work the Logo get’s orange.

    I think it would be nice, if you hightlight the current conditions in perhaps green. So you can see why some rules are not active. Example. I have a Rule that says turn on mute-modus on 8pm. And current time ist 7.30pm The Condition “in location home” is green and 8pm is red.

    What about time ranges? Example from 7am – 17pm turn on mute-modus and vibration on?

    Thanks a lot

  8. hi,

    my question is, is it possible to combine e-robot and greenify to create some kind of auto-hibernation?
    i find that greenify doesn’t hibernate properly at times, and my attempt to add action > 3rd party > hibernate now only result in directly calling greenify to hibernate instead of creating hibernating action in e-robot.

    thank you for your time

    • Hello, Mr. Barta!

      I have another question about Time-based Events:

      Every day, between 23:00 Hrs & 05:00 Hrs; I’d like my mobile to be in the Airplane Mode OR without the wifi & without the network connections.

      How do I configure it?

      • Create a command:

        – Add an “Alarm event” with 1 day repetition and set time to 23:00, set it to be exact and wake the phone up
        – Add an “Change airplane mode” action and set its state to off (depending on your Android version it needs rooted phone). If you can’t use Airplane mode action you can try “Toggle wifi” and “Change mobile data state”

        Create a similar command, but in the alarm event set time to 5:00 and in the action(s) set state on.

  9. Hi barta, first of all, thank you for creating an awesome app!
    I’m flooded with lots of possibilities everytime i think of your app. One of them is shell command. Could you give instruction on what shell command can be used? Or if you havent got the time, could you give me some websites/pdf/any links to read available shell commands ready to use in your apps?

    Second, i noticed that some of those function needs root access. Can u give me a hint on how to enable root acces for e-robot app?

  10. Great app! But personally I think that if you want to create a little more sophisticated commands this app is very difficult and lacks proper documentation. I understand that writing documentation takes a lot of time so hopefully someone here can tell me how to configure it.

    I want to start an application when I connect my phone to power and when I am NOT connected to my home WiFi network.

    Thanks.

    • – After you added the event click on it and select “Set condition” to set a condition.
      – Click on the first pencil to “Change expression”
      – Select Operators / Not
      – Click on the pencil and select Operator / Equals
      – For the first part set Wi-Fi / Wi-Fi SSID
      – For the second part set Constants / Text / NAME OF YOUR NETWORK
      – Click on OK 3 times

      • Thanks.

        I think I get it 🙂 Am I correct that this cannot be done with Bluetooth? So when I disconnect from power AND my phone is NOT connected to ‘device x’ by Bluetooth then turn off BT

        • There is no way to determine if a bluetooth device is connected or not. The only way to do that is to create separate commands with events bluetooth device connected/disconnected and store a value in a variable and after that you can use this variable in expressions. For example in device connected command set deviceIsConnected=true, in devices disconnected command set deviceIsConnected=false and then use this variable.

  11. Hi Barta,

    Any chance you can add HDMI event?
    I’m looking to execute several commands when my S3 is connected via MHL for HDMI output.
    There is “hdmi” event that happens when phone outputs via microUSB audio and video.
    Let me know if you’ll need catlog for this event.

    thanks.

    Mike

  12. I need to create an action to unlock the screen. I tried with ‘Change lock screen state’ action by providing pin. But it doesn’t work. Any idea how to implement this?

      • Ok. This is what I did.
        Installed Elixir – 2 –> Gave super user permission.
        Installed Elixir – 2 – Admin addon –> Enabled device administrator

        Created action – ‘Change lock screen state’ – ‘toggle’ – provided pin

        Still unlock is not happening.

  13. I am new to e-robot. I have left ‘settings profile’ as they apparently offer no more support or development.. so far i love this! the one thing i did like about settings profile was the ability to launch a “command” for a period of time.. for example i want to launch tethering for 30 minutes.. or brightness to 100% for 10 minutes.. the advantage to this is too many times i would tether and forget to shut it off (battery drain!) same thing for brightness… is there away to do this?
    Thanks!

      • Awesome app. Just getting started and looking for something easier than Tasker.
        Backup works, mostly. Sent to drive but screen shows no Backup. More important question. Where is RESTORE? If we are going to take on Tasker, we will need to make sharing recipes much easier.

        In fact Backup and Restore should be a command option within E-Robot as part of Proof of concept.

  14. Hello all,

    I’m looking for a good way to configuring the following: When I am at home and it is between 22:00 and 06:00 then do a couple of actions. I know I can create an event ‘enter location’ with a condition of between 22:00 and 06:00. But in that way it only executes when I enter home location and time condition is true. I want it also to execute when I am already at home and it becomes 22:00.

    Can somebody help?

      • I tried to post a problem but I get the message that it is already posted but I do not see it

        Hi Barta,

        I’m migrating my Llama actions to E-robot, but I have a command which as it executes crashes reboots my phone. The command is as follows:

        Event:
        External Power is connected (when not connected to my home Wifi)

        Actions:
        Turn screen on
        Turn GPS on
        wait 1 sec
        Simulate key press: menu
        wait 2 secs
        start shortcut: Nova launcher jump to page 3
        Turn BT on
        Turn auto-rotation on
        Change media volume to 100
        Toggle stay awake always: on

        Are there known issues with one of these actions or is there way to determine what goes wrong and make my phone crash and reboot? When I do the same actions with Llama there is no problem.

        Thanks.

      • Tried posting a reply recently but seems it got lost. Basically I wanted to suggest you place the backups in a safer place as other cleanup programs such as SD Maid and Cache Cleaner appear to wipe out your backup files. Also, another suggestion to allow the user to specify his own notification icons for commands.

      • Question/suggestion: it seems I can add a condition to an event which offers only a limited set of possible scenarios I wish you would extend. For example, if I want to create a command to start YouTube in case a particular Bluetooth device is connected and a phono/audio cable has been plugged in, I would create the event for the one but add the other as a condition. However whether I start with Bluetooth as the event or with Audio as the event, I cannot find the other as an option in the Set Condition menus. Unfortunately, adding both events to the command causes the command to fire if either my Bluetooth device *or* the Audio cable is plugged in, and E-Robot does not evaluate and trigger the event at the presence of both conditions (a logical *and*). I guess an alternative solution (instead of using Set Condition) would be to allow events to be combined with logical AND/OR operators.

        • Hi,

          Unfortunately it cannot be determined if the specified bluetooth device is connected or not so it cannot be used in condition. But you can solve this with new commands.

          1. Create a command with event Bluetooth device is connected and set a variable (for example blConnected) to true.
          2. Create a command with event Bluetooth device is disconnected and set that variable to false.
          3. Now you have a variable which is able to determine if the device is connected or not. Add two events to your command:

          – Bluetooth device is connected, condition: headset is plugged in
          – Headset is plugged, condition: variable blConnected

          Events are events notified by the system, they cannot be combined with logical operations. Only one of them happens in a moment.

  15. In fact, this app is really for computer wizards, because it is not at all easy to use or understand.

    After trying for over an hour to do the simplest thing, which is simply lower volume levels at a specified time at night, and then increase the volume in the morning, I failed utterly!!!

    Just could not for the life of me figure out how to set the volume level!!!

    Managed to get it to mute OK, but that is not what I wanted, I wanted to be able to hear the phone at night without waking everybody else up!

    Anyways, you guys seem to like it, so that’s great, but for non-computer geeks, really there should be some basic pre-set commands which are very common, like what I was trying to do!

    • Hi,

      You can change volume this way:

      – Add action: Audio / Change volume
      – Select the streams you want to change, notification and ring for example
      – click on the pencil next to percent to set volume percent
      – Select Constants / Integer number
      – Set 10 for 10% percent for example

      I guess the strange things for you to set percent value. It would be easiest if you could enter number without selecting Integer number. But it can be any expression to be able to do more advanced things.

  16. Hi Barta ! Excellent 🙂
    One Suggestion,
    Please introduce RECIPE for common tasks, i am sure many people struggling for the same task at their own. So Please maintain Ready Made Recipes to download or in repository like something. So anyone can contribute their own ideas and get some too 🙂 Enjoy. Best of luck.

  17. Hi Barta,

    My e-robot sometimes does not respond to events nor do they appear in the history or debug section. Can you advise how to troubleshoot?

    Another question…is it possible to react to a specific NFC tag?

    Thanks.

  18. This is indeed a GREAT app!!
    While i know the stock Android does not have this, is it possible to have e-robot toggle the “Power Saver” options (Samsung Galaxy S3)

    I would like to have the Powersaver on, during time intervals when i konw i want my phone to not consume much battery consuming actions…

    • The best way to be sure is that add an action which displays income number, for example Display dialog with Variable value (name: from). Then you will see how to enter the number to match.

  19. I have no clue how to set the gravity event. It says something about “x,y,z,length” but when selected it prompts for lower and higher values. What do I put there? Can I make it trigger on a particular angle of the phone?

    • I think you should use the orientation event to detect “angle of the phone”.

      degree: angle between the magnetic north direction and the y-axis, around the z-axis (0 to 359). 0=North, 90=East, 180=South, 270=West
      pitch: rotation around x-axis (-180 to 180), with positive values when the z-axis moves toward the y-axis.
      roll: rotation around the x-axis (-90 to 90) increasing as the device moves clockwise.

      • Is gravity event a useful function?

        What is the syntax for orientation?
        I selected the event, but it did not prompt me for anything.
        When I select “Set condition” and get “Logical expression” I don’t know what to enter there.
        Can you give an example? Thanks.

        You describe both pitch and roll as being around the X axis. Is that right?

          • From some experimentation it seems 0-180 works but > 180 does not. I thought maybe it was really -180 to 180, but negative numbers don’t work.

            Can you let me know how this works?

          • OK, yes you did say pitch was -180 to 180, and I see from observing Elixir Sensors that what I want is indeed pitch between -30 and -60.

            However using integers for -30 and -60 does not work. Maybe you have a signed/unsigned problem. And when I try to use a decimal (float) numbers, it refuses to accept a negative value (can’t even type the “-“).

            How do I do this?

          • Pitch is from -180 to 180 as I wrote. I can add a condition to the event: And (Greater than (Variable value “pitch”, Integer constant -61), Less than (Variable value “pitch”, Integer constant -29))

            So you can enter positive or negative numbers if you use Integer constant expression.

            My only problem now is the app is that there is secure limit in command execution that a command can run only 10 times in a minute. Maybe a command setting would needed that “max execution counts per minute”

        • I don’t understand orientation sensor much, you can check the android documentation here:

          http://developer.android.com/reference/android/hardware/SensorEvent.html

          I think the easiest way to understand sensor variables is to install Elixir 2 (or any other sensor app), open the Sensors screen and check the values of degree, pitch and roll to understand them.

          Every sensor event (and other events) has output variables, you can use this variables using the Variable value expression.

          I can’t say if gravity sensor is useful or not. I added to the app because Android can provide this feature but I can’t know if there is a user or not who can use it for some useful feature. My opinion is that sensor events are to low-level events to use directly. So if somebody ask me a feature which needs sensor then I create a high-level event based on a sensor event to make a new, easy-to-use feature. For example I created:

          – Device shaked event based on Accelerometer sensor
          – Device turned over event based on Orientation sensor, using the pitch value
          – Device turned back event based on Orientation sensor, using the pitch value

          • I’m not sure where it was, I can’t find it now, but there was definitely a place where I could not enter the “-” sign with a number. It was where you type in the text directly. But with the +/- incrementers I can make it negative. Also for Gyroscope, which has float numbers up to 8, I cannot enter a “.”, only ints.

            Gravity is not what I was looking for. It does not show the direction of gravity but rather the amount. I guess it’s useful if your phone is in free-fall then gravity will drop below 9.8.

            I think I have it working now as I want. The overall goal was to be able to turn the screen on and off without pressing buttons. Face down works for screen off and now holding at 45deg, like holding it normally in your hand, will do screen on (and shouldn’t happen in my pocket). Can you think of another way, besides shake?

            It may not be optimal as the system is telling me that it is spending a majority of power on E-Robot. I know wake-locks are a problem with some apps, not sure if it’s that or what. If this app drains my battery I’ll have to stop using it.

            I experienced a fair degree of frustration with it not behaving consistently during my testing. Even the face down did not seem to work all the time. But now that you tell me that it has a limit of 10x a minute, that was probably it. I’ll observe during normal use (10x should be fine) and see if it is more consistent.

            No offense but the system for entering expressions is awkward. You are able to print it out as a normal expression, and it would be nice if we could enter it as a normal expression. Take a look at Zooper Widget. E-Robot is an awesome and powerful app, but expression entry is it’s biggest drawback.

  20. Finally! Kitkat removed the ability to toggle GPS and many apps claim ROOT will work with their apps, but doesn’t. This is the only app that I’ve found that successfully allows this toggle. The downside, the other apps allow me to toggle my Mobile Networks, but e-robot does not allow this. 8-(

    Scenario: I never use GPS or Data over my Carrier (cell provider/data over network) as I like to stay off grid and save money. However there are times in my car that I need both these features turned on to accurately calculate trips to unknown destinations. Times like these I enable data networks and GPS (and additionally disable Google Maps’ toggle for download data only over wifi, as it would be hoping from free signal to free signal intermittently losing the route calculated by Maps). All these settings take a handful of clicks that I am trying to automate. So far I’ve gotten it down to two cliks between 2 programs, but would only need this one program if you could add functionality to toggle that setting.
    Kitkat 4.4.2, Settings>Mobile Networks

    Much thanks and great work! 😎

    • Hi,

      I can’t add a list because it depends on plugins.

      You can do only one thing, when plugin is executed check the Debug screen where retrieved parameters are logged.

      Maybe I should create an expression to be able to display current variable values in a dialog.

  21. Jó estét, Tamás

    I have a question about E-Robot with conjuction with Elixir 2, I want to create a command that will work as follows (i wrote it as in fictive programming lang… 😀 ):

    IF (( $time IS IN [22:59 – 06:59] ) && ( $ELIXIR_PROFILE != “day”) && ($E-ROBOT_LOCATION == “home”))
    THEN
    ELIXIR_PROFILE=”day”
    ENDIF

    Thanks for your advice.

    Peter

    • Hi,

      Maybe it is a mistake that you active “day” profile during night (22:59-06:59)
      In E-Robot you can do similar settings this way:

      1. command: Home-Day

      events:
      – Enter location (“Home”), condition: Is in time (22:59-06:59)
      – Alarm (22:59 repeated daily), condition: Is in location (“Home”)

      actions:
      – Elixir profile (“day”)

      2. command: Other

      events:
      – Exit location (“Home”)
      – Alarm (06:59 repeated daily)

      actions:
      – Elixir profile (“not day”)

    • At first you should find it out what is the “value” below you want your phone to alarm. Use this Light event and display “value” variable out (toast message for example) to find this upper limit. This value is in SI lux units.

      If you say that limit is 4 lux for example then set lower limit to 0 and upper limit to 4. The command will be executed when for example light sensor value changes from 10 to 3.

  22. Hello,
    is it possible to switch the default Launcher?
    I want to start (and make it default) Nova Launcher when I am in my car (and set orientation, brightness, gps, etc)
    I want to start (and make it default) Apex Launcher when I am not in the car.

    I am not asking for help on how to set up the conditions, just would like to know if it’s possible to change the default launcher.

    Thanks!

  23. Hi

    some applications are not visible/listed in applications. In example Google+ can’t be check. I tested it on two phones with cyanogen 11. Is ther some reason why? Can I fix it somehow?

    Thank you for great application. It’s very powerfull (it just took some time to me to start understand it and I am still learning).

  24. Hi. Please help find the answer.
    As in the E-robot i can specify the path and file name of the audio recording process from the value of my variable? (my variable name is for example “datetime”)
    And more. Where (in which variable) find a number of the called / calling abonent when the state of telephony “in the call”?
    Thank you.

  25. Hi excelente app!!! You are a genious. But i’m not so i boder you asking if you could explain me how to make e robot do This.
    I use a tablet 7″ as GPS and to listen Music in the car through aux car sistem and what i need is when the car start moving to launch Poweramp Music player and when the car stop for a period of time to turn off Poweramp because i always forget to turn it off and to turn it on requires steps that makes me dont pay atention to driving.
    Thank’s in advance

    • Hi,

      Maybe you should use the “Location changed event” and use the outgoing “speed” parameter to determine if car stops or not. If it is zero then start a new command which set a variable “stop” to true and waits and after that stops Poweramp if “stop” is still true. If speed is not zero and if “stop” is true then set “stop” to false.

  26. Hi great app.
    I was wondering how I can make a button that says yes or no before execution like the confirmation. The confirmation splashing the e-robot app for a sec. I want to see if there is an work-around.

    • There is only one workaround:

      – create a “Yes” command
      – create a “No” command
      – add both of them to the same command group
      – create a shortcut to execute this command group

      A command group shortcut displays command names in a list, so in this case it will display Yes and No. And will execute the selected command.

  27. Hi Barta,

    Now I’m testing Your app but I can’t solve a simple problem.
    I have phone connected with my car radio by minijack to play internet radio on car’s speakers.

    I want start my internet radio (Xiialive app) when I connect headset (minijack) to my phone and when my phone is connected by bluetooth with my car.

    I prepared 2 events:

    1. Headset is connected
    2. Bluetooth & NFC / Bluetooth ACT connected with device – my car (I use this event because I need set media volume for maximum when I’m connected with car’s radio)

    Actions:
    1. Run App – Xiialive
    2. Media Volume – maximum

    What is not ok:
    E-robot start Xiialive when one of the events is true, but I want to start app when both of my events will be true (operator “And”).

    Could You help me?

    • Hi,

      Connection between events cannot be “AND” because they are moments not states, and only one event can happen at the same time.

      When you talk about can be handled as “conditions” in E-Robot. Unfortunately in the current version of E-Robot there is no expressions to determine if a bluetooth device is connected or headset is plugged. So you need 4 commands to do what you want.

      1. command: RunXiialive

      Events: –
      Actions:
      – Run App – Xiialive
      – Media Volume – maximum

      2. command: Car-Connected

      Events:
      -Bluetooth ACL connected, name=YOUR CAR NAME
      Actions:
      – Set variable, name=carConnected, value=logical constant TRUE
      – Execute Robot command: RunXiialive, condition: Variable value(“headsetPlugged”)

      2. command: Car-Disconnected

      Events:
      -Bluetooth ACL disconnected, name=YOUR CAR NAME
      Actions:
      – Set variable, name=carConnected, value=logical constant FALSE

      3. command: Headset

      Events:
      – Headset plugged or unplugged (keep all checkbox on)
      Actions:
      – Set variable, name=headsetPlugged, value: Equals operator(Variable value(“state”), Integer constant 1)
      – Execute Robot command: RunXiialive, condition: And operator(Variable value(“carConnected”), Variable value(“headsetPlugged”))

  28. Hi I’m trying to read text from a file (.text) so I can parse the information.

    I tried the action read file to variable with no success. I also tried read file line by line.
    Can you offer some guidance ?

    Also, can you give tips on parsing the information ?

    Thanks in advance,
    Steve

  29. Hi Barta,

    I have inboxed you a query from my side. Great app so far it seems.

    I think the one thing the site could use is an idea bank. Where users of the app (and you) can present ideas or save some custom actions. I think this will save a lot of time that you would spend supporting guys like me and also create more usability for your apps overall. Any plans to do this soon?

  30. Hi Barta,

    I think you have a winner here. I’m slowing learning E-robot but I am struggling with one particular problem. When charging by wireless overnight, when the charge reaches 100% the charging stops and the screen turns on, when the charge drops below 100% charging starts again, turning the screen on. The constant screen on, screen off toggling is disturbing our sleep. I can turn off the screen while charging using e-robot, but I’m not sure how to keep if off until I remove the phone from the wireless charging pad/dock.

    Thanks for your suggestions.

  31. Unable to turn mobile data on – off.. I have written some commands to turn mobile data on and off on some events. In History and Debug, I can see the commands being fired but mobile data is not turned off or on. I am using Android L on Nexus 4. Is it Android L issue? Do I need root for this command?
    In Debug I can see:
    Execute action: mobile_data, params:[state=on]
    Set mobile_data state to true.

  32. Thanks Barta. I will wait for you to test L. I think data on/off function is broken.

    Also, is it possible to setup a command like this
    Event: When Wifi scan results are available
    Condition: If a particular Wifi network is available
    Action: Turn on Wifi and connect to that Wifi network

    Basically there can be many configured wifi. i want to detect availablity of one specific Wifi and connect to it.

  33. Great application, but I ran into a problem. I created a wifi / audio command on my Galaxy S4. When my phone connects or detects a specific SSID it will trigger the audio to un-mute. I set the action to mute:off, but it doesn’t do anything. When I add another action after, mute:update, it seems to take my phone off mute. Here is the problem. After that event runs and my phone is plugged into power, the screen gestures become very erratic. Trying to type becomes impossible and navigating around the screen is very difficult. If I unplug the power, it seems to work fine. To resolve this, I have to delete the event I created, force stop E-Robot, clear the cache, close all open apps and restart E-Robot. After all this, the phone operates normal, even with the power plugged in. I have other events that work great and no issues. Any ideas? Any information will be appreciated.
    Best Regards, KK

  34. Hi,

    How do you specify > 1 event to occur (A and B) as the condition?

    I’m trying to create an event where: then:

    However it seems that the event is fired whenever condition is satisfied.

    This app is great, by the way.

    Thanks.

    • Sorry, I don’t understand what you mean.

      If you add events to a command with conditions then the command is executed if one of the events triggered and its condition is satisfied, condition value is logical true.

      • Sorry, I’ll try to clarify.

        I’m trying to create a command that:

        WHEN
        – Bluetooth headset is connected AND
        – phone is answered
        THEN
        – turn off Bluetooth (and)
        – set variable $bluetoothWasConnected to true

        What I’m currently experiencing is that the event is triggered when either Bluetooth is connected OR phone is answered.

        Thanks

        • The event should be “Phone answered” and you have to add Headset is connected as a condition.

          If I see right there is no such expression to detect if headset is connected or not. Then create a new command with event “Headset is connected” and action: Set variable value “headsetIsConnected” = Equals(Variable(“state”, 1))

          Then add a condition to your Phone answered event: Variable value(headsetIsConnected)

  35. Can you help me? My tab may send and receive phone call, but speaker goes to handsfree speakerphone mode automatic by default. I switch normal mode every time and it not satisfied me. I try your e-robot and teach my pad send call with normal speakerphone mode, but i have trouble when i receiving call. How properly switch speakerphone in receiving call mode?

    • Hi. Do you use “Toggle speakerphone” action to turn speakerphone off?

      I guess you should create a command with event “Incoming call” and with action “Toggle speakerphone”. Have you tried that?

  36. Hi,
    I am trying to automaticaly unlock phone when screen turns on and proximity sensor indicates that phone is not in my pocket. I have added “Screen turned on” event, then I tried to add condition to it. But I don’t see proximity sensor in conditions. Then I added “Proximity event” but I don’t know which values should I use. Where can I get this values?

    • You can do the following.

      Command 1: near

      Event: proximity sensor, when enter interval 0 .. 1
      Action: set variable “far” to logical false

      Command 2: far

      Event: proximity sensor, when enter interval 1 ..
      Action: set variable “far” to logical true

      In your command add condition to screen on event: Variable value (far)

      This means that “far” variable will contain the value if sensor detects far or not. So the screen on event will be triggered if sensor detects far.

        • I try explain it why it isn’t an expression. Expressions have to be evaluated. There is no way in Android to detect if proximity detects near or far in synchronous mode. I mean it cannot be determined immediately. How it works, I have to register a listener which will be called later when sensor detects changes.

          In future versions of E-Robot I’m going to improve the app to be able to evaluate asynchronous expressions too.

          • I tried the sample commands to do this, but it seems the battery gets drained very fast. Is there a way of limiting the frequency of sensor reading to something like 5 per second? That shouldn’t impact the battery too much.
            I think some phones (MTK) use techniques to save battery that cause things like sensors, cell site changes and WiFi scans to not work whilst the screen is off.

  37. I’m trying to turn on the screen when a volume button (+/-) is pressed because the power button on my phone doesn’t work well. I tried connecting the event “media button pressed” to the action “Turn screen on” but it is not working. Please help me achieve this.

  38. Not sure what I am doing wrong, but after creating 2 commands to turn sound up or down based of cell tower id’s, whenever I get switched to a new cell tower I get a alert/notification at the bottom of the screen. It repeats about 10ish times before disappearing. My rule has about 10ish tower id’s. Either i did something wrong or you forgot to uncomment some debug code? Notification has been checked off. Not on.

  39. Events
    location: “some name”, which is a set of GSM cells that I collected with “Collect data …”. 13 of them.
    use detection: no
    Output variables: location

    Action
    Change volume
    stream: notification, ring, system
    percent: 0

    Settings
    Notification: (not checked) off
    Confirmation: no confirmation

    The message is a “Toast” message. The ones you make with (Toast.MakeText) and is just one text:
    “mmc:242, mnc: 1, cid:3000, lac:30000” or whatever the current cell tower ID is.

    It looks like it has been repeated for about 10 times. As it would if you just did a for loop 10 times with the same message. Seems to happen each time the cell tower id changes.

  40. Sajna nem működik. Már mindent megpróbáltam, de az éjjel-nappal üzemmód kapcsolón kívül semmi más nem megy. A proximity-kapcsoló a beállítás után megy, az első újraindítás után soha többé, még a letöltött példa sem. Minden szükséges jog megadva, admin telepítve stb, megvásárolt kulcs. Szomorú vagyok

      • Thank you for the reply! 🙂
        I used the “Display dialog” and the “Shell command result” expression to display the result executing the shell command somthing like “getevent /dev/input/event5” & “cat …/data”, but the dialog shown “java.lang.NullPointerException:-“.
        It seems like the adb shell object hadn’t been called correct, and how to solve this problem?

        • Additionally, I selected the “su” option under the “Shell command result”
          Because if I un-selected the “su” option, the dialog shown “error: device not found” when I executing the shell command.

          • I see now that getevent command never completes, it runs continuously and displays events. I’m afraid you can’t handle it from E-Robot. A new action would needed similar to Read file.

          • Maybe I have to change the method to capture the sensor data,but the question is how to execute a list of shell command and get the return value?
            The list of shell command shown as following:
            adb shell
            cd sys/class/sensors/apdsXXXX-proximity/device
            cat pdata

  41. I think I solved the problem to use the following method
    Events:Proximity event
    Actions:Display dialog
    titlle: Text value = “result”
    message:Shell command resuld
    command: Text value = “cd sys/class/sensors/apdsXXXX-proximity/device
    cat pdata”
    The dialog will show the “pdata” value when proximity event changed
    And the only question is how can I save the Proximity event’s output variables and the “pdata” value to a specified file such as *.csv or *.txt?

    • I think it is clear to use “cat cd sys/class/sensors/apdsXXXX-proximity/device/pdata” instead two commands.

      There is a “Save file” action. There is an append parameter to append new content to the end of file.
      The content is an expression and you can concatenate parts, for example:

      Concatenate(
      ‘X: ‘,
      Variable(‘x’),
      ‘, Y:’,
      Variable(‘y’),
      ‘, pdata: ‘,
      Shell command result(“cat cd sys/class/sensors/apdsXXXX-proximity/device/pdata”)
      )

      • Thank you very much for the method!
        I succeed to save the file 🙂
        But the new issue is the output variable “timestamp” of the proximity event saved in the file is “1970.01.01 01:17” which is not the actual system time “2015.03.04 09:27”.

          • I use the output variables of the proximity event as following:

            Events: Proximity event
            This evnet can output variables: value, timestamp

            Action: Display dialog/Save file
            In this action, I use the “Concatenation operator” as following:
            expressions 1 : Variable (‘timestamp’) — which from the “Proximity event”
            expressions 2 : Variable (‘value’) — which from the “Proximity event”
            expressions 3 : Shell command result (‘cat xxxx/pdata’)

            Then I can record these values to the file : timestamp, value, pdata

            And the issue is the “timestamp” shown in the file is “1970.01.01 01:17” which is not the actual system time.

  42. Thanks very much for your e-mail!
    Now the timetstamp can be shown/saved correctly.
    But there is a small question: how can I save a “timestamp-value-pdata” string with a new line to file?
    I can not find the method such as “\r\n”

      • And now, I want to do some complicated actions as following:

        Events1: Proximity event
        This event can output variables: value, timestamp
        Events2:Light event
        This enent can output variables: value, timestamp

        Action: Display dialog/Save file
        In this action, I use the “Concatenation operator” as following:
        expressions 1 : Variable (‘timestamp’) — which from the “Proximity event”
        expressions 2 : Variable (‘value’) — which from the “Proximity event”
        expressions 3 : Shell command result (‘cat xxxx/pdata’)
        expressions 4 : Variable (‘timestamp’) — which from the “Light event”
        expressions 5 : Variable (‘value’) — which from the “Light event”

        How can I use these same name variables? :@

        • Only one of the events can be triggered at a moment.
          So “value” and “timestamp” will be set this only one event, there is no need to differentiate them.

          So in every row in your log file there should be data of only one event:

          ‘Proximity’, Timestamp, Value
          ‘Light’, Timestamp, Value

          The question is now how you know which event is triggered. There is two option:

          1. Create two commands, one for one event
          2. There is an unpublished “_event” variable which contains the name of the triggered event.

  43. Hello, I greatly appreciate your application.
    I use another application for managing tasks and like to know how do I format my usage syntax.
    example:
    I made a command to activate the GPS and mobile data when I get to a certain location (and also to turn it off).
    However, I would like that the command was only used once or twice a day (if fully completed).
    How to do this in the e-robot.
    Thanked.

    • I don’t understand what you mean when you write “only once or twice a day” or “if fully completed”.
      If you arrive somewhere and you want to do something then I guess it should do it every time when you arrive there (not only once or twice).

  44. I said that the command i created only turn on in the location only one time in a day, when you arrive at certain location, not every time you arrive at certain location, because drains a lot of battery.
    Did you understood?
    (sorry for my english)

    • Then you can do the following. When event triggers (enter location) then:

      – create a variable with current date: Set variable, name=’today’, value=Time text(pattern: ‘yyyy.MM.dd’)
      – break command if last date was today: Break command, condition: Equals(Variable value(‘lastDate’), Variable value(‘today’))
      – set lastDate variable to current date: Set variable, name=’lastDate’, value=Variable value(‘today’)
      – Execute your actions

  45. Hi!

    I use waze when I ride my bike but I only hear the indications. I don’t see the phone while I’m riding. I want to receive an audio alert if the phone lost GPS signal to know that I’ll not receive the following indications.
    I tried to do that with E Robot but I couldn’t figure out how to create an event that detects GPS signal lost.
    Can I do that? How?

    Thanks!

  46. Hi
    I’m testing some sensors these days, and now I want to upload the sensor data saved in TXT to a specific URL when the phone connect to network by Wifi, but I can not find any action in your application.

    So,please tell me how can I upload the TXT files through Wifi?
    Thanks 🙂

  47. Hello Barta.

    How would I create an action which takes a photo using the front camera. There is an option to “use flash” under actions -> camera but I cannot find any other action there.

    • Open the Examples screen in E-Robot, there are a few examples where
      variables are used: 2, 3, 4, 9

      During command execution you can evaluate any expression and set its
      value to a variable, for example:

      Set variable, name=screenIsOn, expression=Screen state

      After that you can use this variable in any expression using the
      Variable value expression, for example:

      Display message, message=Concationation(“Screen is on: “, Variable
      value(“screenIsOn”))

  48. Is there a way to use E-robot to manipulate ‘Waze’ [gps app] on a conditional basis? IE: I would love to use E-robot to start app/kill app & set a desination using current logic of ‘Is in location’ and ‘Is day of week’.

    Feel like looking at the waze api for data hooks?
    BTW: Thanks a bunch for making my life easier with E-robot, I use it everyday to automate many ‘geek’ essentials. 😉

  49. Hi barta, I have another problem that a specific phone’s PDATA can not got when I used the following method: Shell command result(“cat cd sys/class/sensors/apdsXXXX-proximity/device/pdata”)

    But The PDATA can be shown with the value of Proximity-event by a app named “Sensor List”

    Maybe this phone use a different way to save/transmit the PDATA

    So is there any method to show the PDATA with the value of “Proximity-event” in your application? Because the “Sensor List” app can not save the concatenation data to a TXT file.

    Thanks 🙂

  50. Hi Thamas,

    Suggestions for future implementations in e-robot:

    *search commands, actions and events
    *autorename actions, error signal (from the app) in case of renaming actions –> because when you rename one action and don’t fix it in the whole command, the command don’t execute

  51. Szia, szeretnék segítséget kérni GPS beállításhoz.
    Minden működik, beállítom amit szeretnék, de a
    Változó beállítva
    név: igo
    Kimenő változó : name ezt nem tudom változtatni, egyszer betallóztam a
    “package_recevied, package_lost” parancsot a, de többször nem sikerült.

    töröltem, ujraindítottam, stb. üdv: zoli

  52. pesze, köszi

    Tehát a GPS ki-be kapcsolását próbálom megoldani.
    Új parancs:
    IGO BE
    Események
    Változó beállítva
    Név: IGO
    Kimenő változó: name – ezt kellene változtatnom, egyszer sikerült de csak az IGO KI parancsnál, ugye itt kellene betallóznom a ““package_recevied, package_lost” utasítást de nem találom.
    A további is ok,
    Műveletek
    GPS beállítása
    Állapot: be
    Eddig jutottam, de nem tudok továbblépni.

    • Csak félig sikerült megértenem.

      A “Változó beállítva” esemény “name” nevű kimenő változóját maga az esemény állítja be. Ide teszi bele hogy milyen nevű változó változott. Ezt csak akkor van értelme használni ha nem adsz meg név paramétert, tehát nem szűrsz arra hogy IGO. Ha szűrsz változó névre akkor a kimenő “name” paraméter is ugyanaz lesz. Szóval a kimenő változót nem tudod módosítani, az magától állítódik be a megváltozott változó nevére.

      Azt hogy mire gondolsz amikor azt írod hogy:

      ““package_recevied, package_lost” utasítást

      sajnos továbbra sem értem.

  53. Hi Barta,
    Please help me to check the following command which can not record the sensor data:
    Events:
    Orientation event — Output variables: direction,degree,pitch,roll
    Actions:
    While — condition:Application “Beach Buggy Blitz” in focus
    Actions:
    Save file — Timestamp + + + + \n
    file: /storage/emulated/0/graresult.txt
    append: yes
    Wait — 100ms
    There is not any txt file when the application in focus.
    Thanks a lot!

    • Hi,

      It is wrong. That is why it won’t work. You mustn’t use “while” here. Orientation event variables changes when orientation event triggers. And for better performance too do this way:

      *** Command 1 ***
      Event: Application received focus: “Beach Buggy Blitz”
      Action: Enable Robot command: Command 3

      *** Command 2 ***
      Event: Application lost focus: “Beach Buggy Blitz”
      Action: Disable Robot command: Command 3

      *** Command 3 ***
      Event: Orientation event
      Actions:

      Save file,
      content: Timestamp +”degree” +”pitch” +”roll” + \n
      file: /storage/emulated/0/graresult.txt
      append: yes

      Wait — 100ms

      • And is there any possible to add some new expressions to E-Robot?
        Such as:
        Orientation Sensor value -output: degree\pitch\roll
        Gtavity Sensor value -output: x\y\z
        Proximity Sensor value -output: x\y(pdata)

  54. Hi Barta.
    I used the way you suggested, but there is a long delay to record the data when I close the application.
    So is there any method to achieve the scenario that I can get one set of data when I want to log the data and there is not any redundant data?

  55. Hi, love your app. I was trying to figure out a way to automate some processes while on the go or moving from location to location and was having some trouble getting the location to update without waking the phone is there some sort of event trigger that I should set up to continually ping the cell towers for location? I have erobot configured to use the network and passive provider but like I said I’m having issues updating my location on the move without activating my phone and checking the notifications bar. Any help is appreciated, thanks again.

  56. Hi, love your app. I was trying to figure out a way to automate some processes while on the go or moving from location to location and was having some trouble getting the location to update without waking the phone is there some sort of event trigger that I should set up to continually ping the cell towers for location? I have erobot configured to use the network and passive provider but like I said I’m having issues updating my location on the move without activating my phone and checking the notifications bar. Any help is appreciated, thanks again.

    • Hi,

      Try to enable “Use cells” at settings. If it is enabled then “Daytime start”, “Daytime stop”, “Daytime polling interval” and “Nighttime polling interval” determines how often the app tries to wake the phone up and request location updates.

    • If you are using a Mediatek-based phone then the RIL does not pass on cell change events whilst screen is off in order to save battery. My workaround is:

      1. Use Gravitybox to set the lowest possible screen brightness to a level where the backlight is off.
      2. Use Velis Auto Brightness to define a profile that sets the screen to the lowest brightness level when the light sensor indicates it is dark (i.e. case is closed).
      3. E-Robot to run a command every few minutes when no wifi connected to turn the screen on for 5 seconds and initiate a location update, then turn the screen off.

      Unfortunately the proximity sensor is rubbish and reacting to sensor events kills the battery (I guess so many are fired per second).

      It’s a bit of a kludge but seems to work.

    • Hi,

      It depends on what is the intent filter declared for the required activity. For example if it reacts for an action then you have to enter the action. If it doesn’t have intent filter then you have to enter package name and class name too. It is possible that you have to set data or other parameters.

  57. I use ERobot to start Poweramp when connected to my car bluetooth and bluetooth headphones. Is there a way to pass a parameter through e-robot to poweramp to specify what playlist and/or equalizer preset to use?
    For instance:
    If connected to car bluetooth, have erobot set poweramp equalizer preset to “flat” and set playlist to “All”.
    If connected to headphone bluetooth, have erobot set poweramp equalizer preset to “rock” and set playlist to “gym”.

    • Hi,

      At first you should now how to start Poweramp to set these parameters. Is it possible at all? I suggest to ask the developer of that app.
      After that I guess it is possible to start Poweramp with “Start activity” action instead of “Start application” where you can set parameters.

  58. Hi, first of all I want to say Thanks for this feature rich application. I am new user to this app and not familiar with this. I want to make a command in which when I place my phone on a table ( flat surface) with the screen is upward position , the phone will automatically screen off. And when I pick the phone up, it should screen on automatically. I want to use accelerometer sensor. How should I write the codes. And how can I retrieve x,y,z data of a sensor to know current value. I am waiting your answer and Thanks a lot.

    • Hi,

      At first create a command, and turn its “Notification” off. This is because it will execute very often and wouldn’t be good if it would create a notification every time. After that add a Sensors / Accelerometer event to your command. If you don’t set any parameter then the command will be executed every time a sensor event occurs. This event has the following output variables: x, y, z, length and timestamp. If you would like to check z parameter for example then you can use the Contants / Variable expression, by setting name parameter to z. You can use this expression to do mathematical calculations, comparisons, etc.

  59. Hi Barta,
    nice work. I need your help in this one. When my battery is charged 100%, I want the Ringtone played for 10 seconds and stop automatically, or the ringing to stop if I press the power or home button. I could not figure this out. Thanking you in advance

    • There is no way to detect if you press home button.

      Use the “Play ringtone” action, then “Wait” for 10 seconds then use the “Stop playing” action to stop playing ringtone. I hope it works.

  60. Hello, is there a limit on the Google Calendar? I want to create a command that is seen in the in the subscribed calendar, when the sun rises. However, this calendar is not in the list.

    can you help me?

    Many Thanks

  61. Hi, Thank you for the nice tool, just wanted to know following:
    I have multiple commands,
    commands based on the time
    comm 1) morning travel time – use the phone ring higher
    Comm 2) In office reduce the ring to low volume of 40% and turn on the mobile data.
    Comm 3) In evening travel – Turn the ring on at 100%.

    based on battery charge –
    comm 4)If battery charge remaining is less then 15 then switch off the mobile data, wifi & bluetooth.
    comm 5) If i am charging the battery during that time also all should be off.

    Now how do i prioritize the commands, as when i checked the battery level below 10%, still it was enabling the mobile data on, so is there any way to prioritize the commands?

    • Hi,

      You should configure your commands to work together as expected. If I understand your commands well then only “Comm 2” turns your mobile data on, and “Comm 4” and “Comm 5” turns it off. Your problem was that mobile data turned on when battery was low, so “Comm 2” command needs a modification. Add a condition to “Mobile data” action of “Comm 2” command to turn mobile data on only if battery level is higher than 15%.

  62. hi,

    I try to make a command to handle receiving SMS. Does the field “from” support only digits?
    How can i make an condition of receiving SMS from all my contacts from phone book and some other letter numbers?

    thanks in advance

    • Yes, phone numbers can contain only digits, like 36203453567.
      There is a “Contact name for phone number” expression. If you use it with “from” variable then you can retrieve the contact name the sms received from. If the result is empty then it means that the number isn’t in your address book.

      • Could you help me please to realize the scenario. If i receive SMS from a contact of my phone book E-robot plays a sound. I created a variable “from” and linked it with “Contact name for phone number” expression. Then I added an event “Variable is set” and got nothing

        • You should create a command:

          events:
          – sms received

          actions:
          – set variable, name=from, value=Contact name for phone number (phone number=Variable value(from))
          – play sound, condition: Exists operator(Variable value(name=from))

  63. Hello,

    is there a way to forward an SMS? I know how to send an SMS, but I would like it to appear as though it is coming from the original sender.

    Also, can one delete an SMS or mark it as read?

    Thank you,
    Jiří

  64. Hi Barta,

    Thank you for the tool.
    I am looking to set the condition – 1) if my mobile is charging & 2) if my battery is less than 15% it should disable all the mobile data, WIFI & Bluetooth connection.

    Considering only “mobile data” command “Comm 2”
    I have his Events and actions, in both i have tried to set the conditions, both menu shows majority of the items are greyed out.

    In Events – i set alarm for every 1 hr, i gave one condition – to start between 8 am to 22 hrs evening, and when i click on “Change Condition” – Logical expression menu – when i click on timestamp expression – everything is greyed out in the battery tab.

    In actions i have “Change mobile data State” – state: on
    Click on set condition- and operator – click on expressions – in Battery tab it shows all grayed menu like Battery percentage,

    Battery plugged. It only enables logical expression – Is battery charging & Is stay awake.

    Please advise.

    • Yes, because a condition must be a logical expression. Battery percent is a number. So you have to use it with a comparator operator, for example:

      Lower than operator(Battery Percent, 15)

  65. Hello

    I need to change system setting (LenovoGesture) in settings menu. I tracked with CatLog record in the system log when I change the setting manually. The record in CatLog look like:

    | pid 769 | LenovoGesture_Config | setSlideUnlock enabled=false |

    How can I turn the setting into “true” with the E-robot? Is it possible? Thanks in advance

    • You can send a command with Share from Backup screen or you can send files manually from /sdcard/Android/data/com.bartat.android.robot.KEEP/commands after you created a backup. You have to save commands there on the other device.

  66. Hello !
    Kis segítség kellene… Alkalmazás indításának (iGO) kapcsolnia kellene az adatforgalmat, illetve a GPS-t
    (energiatakarékosról nagyon pontosra), de nem teszi.
    Root van és pl. az NFC tag érzékelése pik-pakk indítja a Runtastic Bike Pro-t, kapcsolja az adatot és a GPS-t is. Viszont ha alkalmazás indítása a művelet, nem történik semmi. ?????
    (xperia Z2 5.1.1, ha ez fontos)

  67. I have set a command which would initiate a call, however E-Robot opens the dialer with the pre-set number but won’t make the call automatically, it will wait for me to press call button. My operator accepts commands by phone numbers, I am trying to forward calls to my VOIP number in case I forget the phone home by sending an email.
    I got the trigger to work, however I am not sure how to get the call be initiated automagically without my intervention…
    Any help would be very much appreciated.

  68. Hi Barta, this is such a great app. I absolutely love it.
    I’m having difficulty with one thing though.
    When my phone connects to my car’s bluetooth, I’d like it to turn on its Wi-Fi Hotspot. I can’t find out how to do that. Can you help?

  69. Hi Barta,

    The event: Enter location ( home)
    Condition: When time is between 8 am and 6 pm

    Action: Open garage door

    The command was working until I added the condition:

    is Time: 8:00-18:00

    it no longer worked after that!

    Could you please help. Thank you.

    • Hi,

      You know that it should work only when you enter home between 8-18. It won’t open garage door at 8 when you arrive home before 8.

      BTW it should work. What do you see at Debug screen? Do you send me logs or share Debug screen?

  70. Hi Barta, E-Robot is a great app – I love it more than toast and jam! Couple of things though – the location detection doesn’t seem to be that reliable. I have a command called “enter wifi zone” which enables the wifi, and another called “leave wifi zone” which disables it when it detects that all locations are exited. I have tried using both pure GPS and cell sites, but it continually triggers “leave wifi zone”. Any idea why it is doing this?

    The other thing is related. I used to use the competing app Locale, and this appears to have a more accurate location detection algorithm. It is also very powerful app but not as customisable as E-Robot. I have used it to detect locations in absence of fixing the issue above however. I discovered that E-Robot has 3rd party plugins for Locale, but when ever I try to select any of them it FCs immediately. Its the paid-for version and the latest release of Locale. Is this something you are aware of and have a fix for?

    If you can solve my location issue above, then I will uninstall Locale and it would be problem solved!

    • > but it continually triggers “leave wifi zone”. Any idea why it is doing this?

      On the “History” screen you will see “Exit location” entries and it explains why it was detected. I hope it helps. If you use cells then the reason should be a cell tower your phone entered and which isn’t in your location settings. Add this cell as a normal or as an ignored cell.

      > but when ever I try to select any of them it FCs immediately

      Is your phone rooted? Could you send me somehow the log about this error (stack trace) to check?

  71. To work around the problem of updating the list of cells, would it be possible to add a command to add the current cell to a location? That way, if connected to a specific WiFi AP (e.g at home), one can be sure that any cell connected to is at that location.

    • Hi,

      It isn’t a bug? It seems that the system sends this event twice with little difference.

      09-22 15:33:46.165: I/E-Robot(25832): Intent received: Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }, extras: networkInfo=[type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: “MYSSID”, roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwork: false], wifiInfo=SSID: MYSSID, BSSID: 00:1d:7e:a0:67:8c, MAC: 10:68:3f:70:53:df, Supplicant state: COMPLETED, RSSI: -66, Link speed: 12Mbps, Frequency: 2412MHz, Net ID: 1, Metered hint: false, score: 60, linkProperties={InterfaceName: wlan0 LinkAddresses: [172.28.101.139/16,] Routes: [fe80::/64 -> :: wlan0,172.28.0.0/16 -> 0.0.0.0 wlan0,0.0.0.0/0 -> 172.28.0.1 wlan0,] DnsAddresses: [172.28.0.1,] Domains: null MTU: 0 TcpBufferSizes: 524288,1048576,2097152,262144,524288,1048576}

      09-22 15:33:46.170: I/E-Robot(25832): Intent received: Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }, extras: networkInfo=[type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: “MYSSID”, roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwork: false], wifiInfo=SSID: MYSSID, BSSID: 00:1d:7e:a0:67:8c, MAC: 10:68:3f:70:53:df, Supplicant state: COMPLETED, RSSI: -66, Link speed: 12Mbps, Frequency: 2412MHz, Net ID: 1, Metered hint: false, score: 60, linkProperties={InterfaceName: wlan0 LinkAddresses: [172.28.101.139/16,] Routes: [fe80::/64 -> :: wlan0,172.28.0.0/16 -> 0.0.0.0 wlan0,0.0.0.0/0 -> 172.28.0.1 wlan0,] DnsAddresses: [172.28.0.1,] Domains: null MTU: 0 TcpBufferSizes: 524288,1048576,2097152,262144,524288,1048576}, bssid=00:1d:7e:a0:67:8c

      If it is a problem for you then I suggest to set a lastExecuted variable to current timestamp and deny to execute the command if the next is in 1 second for example.

      • not really a problem, just thinking that could be a battery waste, I’m trying to add a condition to limit directly in the event session, but the events triggers too fast, even before my control variable can be set, if i can’t make it work , I’ll put an IF in the action section.
        One more thing, I can’t make network state changed for WiFi reliable, (as a workaround I’m using supplicant state changed disconnect + WiFi-state changed disabled ), there’s a better way?

        by the way, thanks for this really great program!

  72. Hi Tamas

    I switched from my rooted Galaxy S3 (Android 4.3) to a S6 Edge (Android 5.1.1; not yet rooted). I copied all my Elixir settings to the new phone, but lock toggle is not working and screen toggle is locking the screen!!

    Does the lock toggle needs a rooted phone (although it is not mentioned in the app)?

    thanks for your help
    Martin

  73. I’ve started using Amplify and BetterBatteryStats in order to improve the standby time on my phone. e-robot seems to generate a wakelock called “tag” that holds on to a lock for a long time. 18 acquired locks have run for 13.5 hours.
    Any idea what this is and how to reduce it? I don’t want to have to throttle the wakelock in case it is important for something.

  74. Recent versions of eRobot have a bug where only one location is handled correctly. I have Home and Work with associated cells, and only home gets the Exit and Enter events. This is with several different Kernels, firmwares and OS builds so must be down to eRobot. Does anyone else have the same problem?

  75. exception report
    Version 1.44.3
    Events:New notification posted

    E/AndroidRuntime(24434): FATAL EXCEPTION: main
    E/AndroidRuntime(24434): Process: com.bartat.android.robot, PID: 24434
    E/AndroidRuntime(24434): java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.contains(java.lang.CharSequence)’ on a null object reference
    E/AndroidRuntime(24434): at com.bartat.android.event.impl.NotificationPostedEvent.eventTriggered(NotificationPostedEvent.java:116)
    E/AndroidRuntime(24434): at com.bartat.android.event.EventManager.triggerEvent(EventManager.java:264)
    E/AndroidRuntime(24434): at com.bartat.android.robot.RobotNotificationListener.onNotificationPosted(RobotNotificationListener.java:89)

  76. Szia.
    Szuper a program, csak gratulálni tudok.
    Lenne egy kérdésem:
    Miként lehetne megoldani azt, hogy amikor a fülhallgató csatlakoztatva van, és közben SMS érkezik, akkor a program beolvassa?

    • Szia,
      Van egy letölthető példa (002) amely bemondja kitől jött az SMS ha ismeri a nevet. Ezt tudod úgy módosítani, hogy nem kell a változó beállítás rész, a TTS műveletben egyszerűen csak a “message” változó értékét kell felolvastatni. Ezután elvileg már csak annyit kell csinálni, hogy az eseményhez hozzáadni az Audió / Fejhallgató csatlakoztatva van kifejezést.

  77. Hi,

    Can you explain how to listen for BROADCAST Intents?

    In event, I select “Broadcast received”, but I don’t know how to complete the Parameters… I like to receive “messages” from other apps… Please, provide one example.

    Thank you!

  78. Greetings,
    I have an audio that plays everyday at a particular time. How can I stop it from completing when it is triggered? I use it as an alarm and I usually want to turn it off before it finishes.

  79. Greetings,
    Don’t know if it’s a marshmallow prob or not but I can no longer get e-robot to boot on startup.
    Is this a known issue with marshmallow or am I’m doing something wrong? For now I have to manually start e-robot after each boot and also periodically it just disappears and I’m forced to re-start it.

    • It is not a Android 6.0 problem, the app works well on my Android 6 device for long time. Maybe there is an app on your device which disables autostart of E-Robot. BTW at Settings of E-Robot do you have Foreground service enabled?

  80. YOU ARE AMONG THE GREATEST GEEKS OF ANDROID. YOUR APP PERFORMS EXCELLENTLY as configured. To those who claim that “it is not doing this or that”, the best thing is to ROOT your phone. E-ROBOT also requires that you have other applications installed. For example, SECURE SETTINGS, ELIXIR,,,,,etc. So, ROOT your phone, install the mentioned.
    Kudos.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.