[Galaxy S 4 Themes and Apps] questionmark:
Hi

Always though it is a plus on phone to have IR blasting capability to replace old remotes.

Replacement for old remotes or higher specs remotes such as PRONTO, needs to be fully customizable, not only the screen designed ( the activity of the remote for a specific device) but also the DEVICE database and the “bindings” actions to buttons.

With this APP you can currently control IR natively on the GS4 as well as exposing VIDEOVIEW with URL pointing to your WEBCAM in activity screen you would design yourself.

You can also go through WIFI and control IR using (USB-UIRT) or PLUGWISE devices or anything else if you do it yourself.

This APP if you decide to spend little time on it using the GS4 is SIMPLE and will allow you I believe to quickly create yourself your own customizable remote screen(s) in 5 minutes: see video example bellow "Design remote from scratch".

As all other application out there, not having GS4 IR learning implies you need to find the code that work for your device. Most APP uses there own DB, I'm not sure how open these application are in this respect. RemoteGATE APP supports both the REMOTECENTRAL DB as well as the LIRC database and allow you to edit import any *PRONTO* device code found. So chances you will find your code is quite high but not guarantee.

Basically if you decide to use use ONLY the GS4 internal IR blaster and have found working remote codes for your device, you can design your own remote in 5 minutes.

If you like to go further then you can decide to use the GATE part of RemoteGATE, that is a Python socket server that would blast IR code via USB-UIRT but also can control other device such as PLUGWISE or any other device you like if you do it yourself such as X10 etc… For example you could interface the APP to EventGhost ( I use currently part of there work on USB-UIRT for blasting and learning capability)

Also using the server part would allow you to use any other Android devices ( OLD phone ) as your remote control replacement. I currently use my OLD GALAXY ACE phone for this and it is totally usable for me.

Enjoy!

OVERVIEW:

-Create/use fully customizable remote control design screen for IR, Plugwise devices and RTSP IPCAM video feed

-Android APP minimum OS version 4.1.2

-Tested working devices GS4, NOTE 2, GATAB 7.7, ACE ( Cyanogen mode 4.2 ).

Other devices should work fine as long as OS requirement meets.

Remote activity created on GS4 (higher resolution) would open down scaled automatically on lower resolution I.E. GALAXY ACE.

-Controlling IR devices via

GS4 IR blaster

OR blast IR code via USB-UIRT (currently the only one supported device) via WIFI

-Control any other devices RemoteGate Server WIFI(Python socket server )

Blasting IR via USB-UIRT

IR learning via USB-UIRT

Plugwise support (on/off/toggle/wattage)

-Design Remote activity

add / remove / pinch zoom / alignment / sizing / rotation / cloning for ImageView/TextView/VideoView objects

Undo / Redo

Color / gray scale for ImageView Objects

bring to front/back objects

Color or Image background for remote activity

Automatic down scale of remote activity created on higher resolution devices

-Fully customizable Device DATABASE

IR code fetching for user devices from Remote Central and LIRC database

Add new devices / functions : free input field of IR PRONTO CODE or anything else (if NOT IR goes on Python RemoteGate Sever )

Delete devices/functions

IR code learning from USB-UIRT via WIFI

Auto generate remote Activity template from Device Database that can be re-designed if wished in the design activity

-Fully customizable activity actions

Add/remove bindings to designed remote activity objects

Bind ImageView (buttons) to one or more Device database function IR or WIFI

Bind VideoView to RTSP video URL

Bind TextView to Plugwise Device for wattage query

The focus on this project is mainly user interface and full customization for the user of the remote activity/screen as well as handling of your IR code.

All files are XML this mean they can be modified externally, screen activity could be built on the PC. Etc....

VIDEOS:

Design remote from scratch:

https://www.dropbox.com/s/ey6fvbkt94xesn6/Create remote from scratch.mp4

RemoteGate running on GALAXY ACE, GTAB 7.7 and NOTE 2, GS4 used for the video :)

The 3 devices since they don't have a blaster uses the RemoteGate Python socket server with USB-UIRT ( the blaster running on a PC)

https://www.dropbox.com/s/svoq9r1uk1uakw3/ACE NOTE GTAB 7.7.avi

RemoteGate learning remote code via RemoteGate Python socket server with USB-UIRT

https://www.dropbox.com/s/up7by7jk4bp2kbf/NOTE 2 LEARNING .avi

RemoteGate and Plugwise toggle/on/off and wattage

https://www.dropbox.com/s/jtpiyu89vsldahj/NOTE2 PLUGWISE WATT.avi

RemoteGate showing shortcut creation of any button on your launcher, use of simple and complex activity as well as use off remotegate over the internet via 3G.

https://www.dropbox.com/s/fl1m25kip...rtcuts complex activity and 3G connection.mp4

In details

1)open remote gate and create "My Remote" ( shortcut to your HOME activity on the launcher.

Then showing the use of the remote. This is equivalent to open RemoteGate and touch launch remote menu.

RemoteGate is the APP that you would use to create your device DB, then activity screen and the action bound to buttons

"My Remote" is the runtime that is a shortcut to the RemoteGate launch remote menu.

2)Launch RemoteGate again and go in activity action

-show action for the designed TV activity

-Long press on the TV button the create the shortcut

-Do the same for the Stream button ( this is a complex activity ) and create a shortcut

-next open the TV activity show the action for 2 channels and create the shortcut as well for the TV power button

-next go in the dimmer activity and create shortcut to open / close light.

NOTE: I am using LightMan this is a device that receive blaster IR and then blast it to RF to some sheap switches and dimmers.

3)Finally show the launcher home screen with the created shortcuts

-The VIDEO widget is not from RemoteGate it only serve the purpose to show the action on clicking on the shortcut created.

RemoteGate has is own VIDEOVIEW ( RTSP only ) and no widget for it for the moment

-touch the Dimmers ON shortcut

==>show light tuning on in the VIDEO vidget ( reflexion on the TV)

-Dimmers off

-touch the TV power button

=>open the TV

-touch HISTORY HD shortcut

=>blast IR, 6,0,2

-touch France

=>blast IR 6,2,2

NOTE you can blast IR with the GS4 as you know, here in my case I use USB-UIRT and the RemoteGate Python server

4)Next touch stream a complex RemoteGate activity

-It shows a video view of my IPCAM

-It shows current wattage of the TV

-Touching the HARDKEY menu opens the TV menu

-Long press (repeat down button )

5)Lately DISABLE wifi and use 3G and do the SAME as above.

With RemoteGate you can control your devices remotely, you can design your own activities etc...

DOWNLOAD:

http://gemperle.home.xs4all.nl/PROTON/REMOTEGATE.zip

INSTALL:

Unzip and move the entire REMOTEGATE folder to your internal storage or extSdCard ( change to /storage/extSdCard in the application settings menu OR to where you placed the REMOTEGATE folder ).

The ZIP contains RemoteGATE.py; delete this file if you don't need to blast IR from WIFI and only want to use the GS4 blaster.

If you do want to use RemoteGATE server you will need to run RemoteGATE.py with Python 2.7 with the required dependencies and with USB-UIRT device on machine acting as a server.

The structure of the folder should be maintained i.e.:

/storage/emulated/0/REMOTEGATE

DEVICES.xml

BUTTONS

ACTIVITY

BACKGROUND

-Install Remotegate.apk

Change remotegate HOME path if needed...(you can do this from the application setting menu)

NOTE:

The ZIP package contains remote activity/actions and device DB I currently use that serves also as examples for you. I recommend you to have a look at it from the main menu in Design activity/Activity Action and Device database so to see the current application features and familiarize yourself with the application and the design and ultimately to see if this application is for you....

If you use other DEVICES with lower resolution such as GALAXY NOTE2, GTAB 7.7 or ACE you would need to open ALL activity I created in the DESIGN ACTIVITY menu so to down scale the activity I created BEFORE launching the remote.

Once done playing with my defined remote and find it useful try doing your own remote: You can delete DEVICE.XML in the root of the REMOTEGATE folder as well as delete ALL activities in the ACTIVITY folder ( the ACTIVITY folder must not be deleted ).

RemoteGATE.py: Python socket server using USB-UIRT and PLUGWISE

Full credit for the USB-UIRT module from EventGhost: http://www.eventghost.org/

Plugwise modules from hadara python-plugwise: https://bitbucket.org/hadara/python-plugwise/wiki/Home

I currently use it with Python 2.7 on WINDOWS but it should be fine on Linux with some mod.

It requires PythonSerial, CRCMOD and Plugwise modules from the above link.

SCREENSHOTS:

RemoteGate main view

RemoteGate Design screen and menu listing of the activities

RemoteGate Design screen more menu ( controls etc)

RemoteGate Design screen more menu ( alignment/resizing/moving etc...)

RemoteGate Design LANDSCAPE screen

RemoteGate Activity action menu

Custom Gesture Edit

Non visual actions edit and view

Non visual actions (speech) go to discovery channel on sharp TV

RemoteGate Activity action on gesture IE. Swipe right.

RemoteGate Activity action (bindings) to a button that support repeat ( long touch)

RemoteGate Activity action XBMC / TV and long action test example

RemoteGate device DB menu

RemoteGate DB supported DEVICES : IR=device internal blaster. VIDEO RTSP stream, USB-UIRT via WIFI RemoteGATE.py SERVER

RemoteGate device DB Editing and testing IR

RemoteGate device DB fetching BRAND from RemoteCentrale or LIRC DB

RemoteGate device DB fetching MODEL from RemoteCentrale or LIRC DB

RemoteGate device DB testing fetched code from RemoteCentrale or LIRC DB

RemoteGate device DB Learning IR from original remote using USB-UIRT and RemoteGATE.py server

RemoteGate device DB Learning IR from original remote using USB-UIRT and RemoteGATE.py server

RemoteGate device DB generating remote template from selected devices

Settings General

Settings User interface for remote activities

RemoteGate shortcuts on HOME screen launcher

REMOTEGATE USAGE:

==================

SETTINGS

-Not much for the moment, the only important settings are

HOME path : this need to point to the REMOTEGATE folder you unzipped (see install )

Gate IP address : Only use if you use the Python RemoteGATE.py server

LAUNCH REMOTE

-Select Launch Remote from the menu

This will show you my HOME designed activity.

This is the remote I designed for my usage. You can edit or start a new HOME screen from scratch.

The visual objects are stored im the HOME.XML from /REMOTEGATE/ACTIVITY folder.

Touching any of the button will bring you to other activities as well as blasting IR (see activity action)

Touching hard key back button will go back to the HOME screen.

DESIGN ACTIVITY

-You can create ACTIVITIES as much as you want, designing your own screen with your own picture for the remote button.

To do this from the main menu select "Design Activity"

Here you can create a NEW or OPEN an existing ACTIVITY.

Then you can add a new control(s) , you can set a background, delete controls etc...

As an example adding a new IMAGEVIEW control will look at the provide folder /REMOTEGATE/BUTTONS

This is a folder containing ICONS/PICTURE, you can use your own .

It will exposes icons and here you can multi-select to add to your activity

When selecting, the button(s) they will show on the activity and you can then pinch zoom to move position it in your activity

You can further align the button(s) etc.. to design you own remote activity.

Once finish with the design touch BACK hard button.

This will update or SAVE your new activity in the /REMOTEGATE/ACTIVITY folder as the NAME.XML you gave when you saved the activity...

So this should explain how to create new activities....

DEVICE DATABASE

This is DEVICES.XML file in /REMOTEGATE that contains all your DEVICE IR CODE or PLUGWISE mac address of plugs ( this require the Python RemoteGATE.py server running. The provided DEVICES.XML is my own DB as an example.

To open the XML DB go to the MAIN main menu and select "Device database"

You can scroll right / left to see the full contents.

Here in the Device DB you can edit and save your own pronto IR

The Device DB menu allows you to Save/ Delete selected rows but also to lookup a device from the internet ( using REMOTECENTRAL OR LIRC database)

The dialog will go through BRANDS then the model selection

Finally the function of the device. Here you can test IR codes

Once you tested your IR code fine just add them

You can also create new devices touching + in the menu. Then from the new device you created, you can touch the + on the row to add new function

At this point either you copy and paste an IR PRONTO code in your new function OR you can use Python RemoteGATE.py server to learn code of your original remote ONLY if you have USB-UIRT. Or set anything you want here, it be sent as a message string to the server to process any kind of action you want if you programmed it on the server.

See VIDEO

"RemoteGate learning remote code via RemoteGate Python socket server with USB-UIRT"

ACTIVITY ACTION

Finally once you have created activities from your DEVICE DB you can BIND your activities button(s)/icon(s) to function(s) from your DEVICE DB or to another activity ( jump to activity).

You can bind and send IR code via NATIVE GS4 IR device or via IP Python RemoteGATE.py server that uses currently only USB-UIRT

The binding is done in REMOTEGATE APP main menu selecting "Activity Actions"

All buttons without action(s) will show in purple gray

Open an existing activity and click the button. If there are already binding(s) you can see the list to update it or delete it.

If there isn't binding(s) you can add actions in a list to accomplish multiple actions ( IR or WIFI ) to be blasted when touching the button when the remote got launched. SEE the TV, MEDIA PLAYER, Satellite actions as a example.

CHANGELOG

03./03/2014:

-Further improvements in activity actions performance

-Custom gesture now GLOBAL or LOCAL to an activity screen. Allowing specific gesture per remote screen (avoiding conflicts with other one )

MORE details : on post #87 http://xdaforums.com/showthread.php?p=50787504

VIDEO : https://www.dropbox.com/s/7xvyebnhrgqhco4/gesture type and scope (global local).mp4

24/02/2014:

-Support Android 4.4.2 (KitKat ) ConsumerIrManager

-Many improvements in activity action ( performance editing non visual action ) gesture / speech /hard key

-Device DATABASE : import of LIRC .conf file, so that you can import LIRC code from a file instead of looking at the remote in the LIRC remote database

-Device DATABASE: import of psiloc s60 .ir file, file that embed LIRC code definition in XML.

02/02/2014

-Custom gesture support for remote actions ( works also on Galaxy ACE)

-Speech recognition for remote action ( not supported on Galaxy ACE, OK on Note 2, TAB 7.7).

To make this feature work make sure in Language and Input settings you select Google Voice typing and choose your language and for offline speech recognition download you language

-List of non-visual actions (i.e.: HARD KEY, GESTURE, SPEECH ) in RemoteGate activity action, so you can delete / edit non visual actions.

-Syncing actions against the device database in RemoteGate activity action; All screen you device that bind action from the DEVICE DB stores the actions inside the ACTIVITY XML file, *not* as reference to the Device DB but statically. Hence when modifying the devices in the RemoteGate Device Database view, you can sync / refresh the action for your remote activity.

-Support look and feel transition between remote activities ( none:default, fade in/out, slide in/out)

-RemoteGate Config screen support now

-RemoteGate password

-Change of transition for your remote screen

-Disable/Enable notification

-Disable/Enable overlay gesture view

-Enable vibration on touch button else default sound ( if android sound config enabled “Touch sounds”)

20/1/2014

Add notifications : Showing ICON in status bar of sent actions : IR (red) or WIFI (blue), Delay and Activity

19/1/2014

Add Simple Gesture ( swipe up/down/right/left ) in edit activity action so to bind these gesture to list of actions: JUMP to an activity + BLAST + DELAY

15/1/2014

-Improved shortcut: if shortcut of UI activity are launched and then closed via the HOME hardkey button, as expected it would stay in memory and when opening another different shortcut the same previous shortcut would show instead of the selected one. So now only for shortcut, going back to the launcher via the HOME key would finish() the the application shortcut opened so that new opened shortcut would display fine.

-Improved DEVICE DB : now if using a android DEVICE with native IR capability ADDING a device from RemoteCentral or LIRC will set the field to "IR" instead of "Infra Red".

If the android device does not support IR natively, "USB-UIRT" would be set instead implying you have to set RemoteGate.py server to have a functional remote.

A NOTE about shortcut : The data of the shortcut; ACTIVITY to OPEN and OR IR to be blasted / DELAYS are bundled in the shortcut itself this means if the BUTTON action that has a shortcut on the launcher is modified, the shortcut MUST BE RECREATED ( long press). I think it is better to have the DATA in the shortcut itself instead of the shortcut referencing some file with the data... The inconvenience of re-creating the shortcut is IMO less than having extra files lying around

12/1/2014

-Implement RemoteGate shortcut on launcher home screen.

-Improve action threading (delay and blast).

NOTE: Action of buttons containing activity and or delay cannot be repeatable button ( long press)

You can have multiple activities ( jump to a screen activity ) on a button BUT only the last activity will show.

Activity or SCREEN UI are shown FIRST then all the action BLASTING IR/DELAY are EXECUTED IN ORDER.

See VIDEO:

https://www.dropbox.com/s/fl1m25kip...rtcuts complex activity and 3G connection.mp4

IMPORTANT info for current version:

DEVICE DB screen, find IR code from remote central or lirc when adding a device to the database will add your device as "Infra Red"

This field can be edited and should be changed/edit to "IR" instead to blast IR code from the GS4 natively

27/12/2013:

-DEVICE DB: recognize KEYWORD IR= use the native device IR blaster.

USB-UIRT: Blast IR via WIFI to the RemoteGATE.py server.

VIDEO: Video URL ( supported by Android VIDEOVIEW)

These are KEYWORDS that must be used. IF you only plan to use RemoteGATE with the S4 internal blaster set your DEVICE ( edit field to IR ). Later on setting screen will deal about that automatically with list of supported devices : I.E.: it should be possible to use the VISTA USB IR dongle ( cheap ) for blasting and learning IR using eventGhost py modules

-Implemented LONG TOUCH ( repeatable button) in the remote activity action: you can check any button you want to allow repeat. This is working both for IR and USB-UIRT. Currently timings are hard coded but they be soon or later in the config screen. When USING USB-UIRT and this via the internet, it actually works quite fine...there is some latencies but it is workable.

-Implemented DELAY in milliseconds in activity action, to separate IR blast or USB-UIRT wifi blast to set delays in between blasted actions...

-Implemented MOVE UP/ DOWN action in the list. It supports multi-selections move up/down of contiguous on non contiguous items

(See snapshots above )

-Improved PLUGWISE threads getting watts info.

IMPORTANT: If you use remoteGATE and did design couple screen, you will have open your screen in activity action and click on your buttons that defines your actions so that the XML updates. There as been quite some change. Again you just must open the action for the button and click OK. You don't have to delete/recreate your actions.

Sorry for the inconveniences...

08/12/2013:

-Redesign of all menus

- Multi device support mdpi/hdpi and xhdpi ( minimum Android 4.1)

-Improve performance loading activity ( this became apparent when using the GALAXY ACE)

-Undo / Redo

-Generate remote template from the DEVICE database

-Support LEARNING when using RemoteGate Python socket server ( provided in the ZIP)

10/11/2013:

-Soon an update : Generate remote activity from LIRC remotes

http://lirc.sourceforge.net/remotes/

Here a long video showing I believe how simple this is to create remotes both from remote central and LIRC:

https://www.dropbox.com/s/cjhdpox3ji...110_122024.mp4

29/10/2013:

-Worked on menu ICONS design...not fully done now.

-Auto generate remote activity from device database. This is something that I believe really will help the QUICK usage of the application..See snapshot bellow and short explanation

-In design activity : Added cloning of selected objects. Also now for the selected item(s) you can change the picture ( before that was not possible, you add to remove the object and re-create it)

-Blasting IR was lagging : I did not see that as I use IP wifi to blast from a USB-UIRT device, I don't use the generally the S4 IR blaster. Fixed issue doing threads. It is fine now at least much better. Still there is no long press IE for volume support now...

-Try to improve TextView / zooming / position: It is better but I'm still not fully satisfied here: I guess the idea to render bmps from text so to allow pinch zoom on ImageView was a mistake first place, better increase font size through pinch zoom... It is not so critical for the moment but ZOOMING certain TextView that has single or multiple line can be visually slightly of...

26/08/2013: Bug fixes, integrating JNI LIRC and LIRC2XML to conver LIRC code to pronto code. See post

http://xdaforums.com/show...45955630593165

12/08/2013: Bug fixes... but new bugs as more feature came in. LABEL in activities are still not fully implemented and FC quite a lot ( changing color or editing)

05/08/2013: More features... IPCAM view in remote activity. Only rtsp stream ( mjpgeg lib out there very unstable.) For the moment only a VIDEO shows the feature.

I need to stabilize all these new things ( especially labels). I'm just toying for the moment

04/08/2013: Added TextView ( LABEL for remote screen in design ACTIVITY). This is not complete for the moment; i.e.: Label will not show when launching the remote.

This will be soon implemented as well as the need to re-organizing design activity menu.

27/07/2013 : "Design Activity" were you bind IR Code from the DB improved a lot. It now shows existing binding(s) for the selected button.

You can also delete (multiple) bound actions...When entering lot of actions, you will notice some performance issues...but this is not really a problem, just does not look that professional...will find a solution.

22/07/2013 : Start remove the custom DIALOG and use menudrawer instead i.e. : in design activity the created activity will show dynamically in menu instead of using a DIALOG...

20/07/2013 : Use simonvt menu drawer, many bug fixes and couple features implemented

04/06/2013 : Some minor update and improvements. Start to work the alignments of picture in the design of a remote activity.