Luna Send

From WebOS Internals
Revision as of 17:14, 8 August 2011 by Halihassan (talk | contribs) (Added media volume.)
Jump to navigation Jump to search

NOTE: You have to run with root perms..

Kick off a manual Palm Backup entirely from the command line:

luna-send -n 1 palm://com.palm.applicationManager/launch '{"id":""}'
luna-send -n 1 palm://com.palm.backup/startBackup '{}'
luna-send -n 1 palm://com.palm.applicationManager/running '{}'
luna-send -n 1 palm://com.palm.applicationManager/close '{"processId":"(GET ID NUMBER FROM /RUNNING)"}'

Connect to any (known) WAP in range (or simply turn on WiFi):

luna-send -n 1 palm://com.palm.wifi/setstate '{"state":"enabled"}'
luna-send -n 1 palm://com.palm.wifi/findnetworks '{""}'

Disconnect from WiFi:

luna-send -n 1 palm://com.palm.wifi/setstate '{"state":"disabled"}'

Using luna-send to refresh the Launcher panel.

luna-send -n 1 palm://com.palm.applicationManager/rescan {}

Get a list of all installed apps:

luna-send -n 1 "palm://com.palm.applicationManager/listLaunchPoints" "{}"

Using luna-send to launch an application:

luna-send -n 1 palm://com.palm.applicationManager/launch {\"id\":\"\"}
luna-send -n 1 palm://com.palm.applicationManager/launch {\"id\":\"\",\"params\":{\"scene\":\"page\",\"target\":\"\"}}

The second command shows how to open when the browser is launched.

Using luna-send to download a file to /media/internal/downloads/:

luna-send -n 1 palm://com.palm.downloadmanager/download {\"target\":\"\"}  

Replace with whatever file you want downloaded.

Using luna-send to first import and then set the wallpaper image:

luna-send -n 1 palm://com.palm.systemservice/wallpaper/importWallpaper {"target": "/media/internal/wallpapers/your_file.jpg" }
luna-send -n 1 palm://com.palm.systemservice/setPreferences {"wallpaper": {"wallpaperName": "your_file.jpg", "wallpaperFile": "/media/internal/wallpapers/your_file.jpg"}}

Replace your_file.jpg with whatever file in the wallpapers folder you want for your next wallpaper.

Using luna-send to control the palm progress animation (The pulsing "palm" logo seen at boot):

luna-send -n 1 palm://com.palm.systemmanager/runProgressAnimation {\"state\":\"start\"}
luna-send -n 1 palm://com.palm.systemmanager/runProgressAnimation {\"state\":\"stop\"}

TODO: These should probably be plugged into the Tracker app.

luna-send -n 1 palm://com.palm.location/setUseGps {\"useGps\":\"true\"}
luna-send -n 1 palm://com.palm.location/setAutoLocate {\"autoLocate\":\"true\"}
luna-send -n 1 palm://com.palm.location/getCurrentPosition {}

List all of the processes which are running:

sudo luna-send -n 1 palm://com.palm.applicationManager/running {}
** Message: serviceResponse Handling: 2, { "running": [ { "id": "com.palm.launcher", "processid": "1006" }, { "id": "com.palm.systemui", "processid": "1007" }, { "id": "", "processid": "1000" }, { "id": "", "processid": "1001" }, { "id": "", "processid": "1002" }, { "id": "", "processid": "1003" }, { "id": "", "processid": "1004" }, { "id": "", "processid": "1005" }, { "id": "", "processid": "1008" }, { "id": "", "processid": "1014" } ] }

Interesting note: Seems everything with a processid below 1008 are static. As seen above, open camera app has pid 1014 and startup app is pid 1003

Close a process:

luna-send -n 1 "palm://com.palm.applicationManager/close" "{\"processId\":\"1058\"}"

Activate the vibrator:

luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\}

The duration value is in milliseconds and can be adjusted as desired.

Photos Info - list album and image from mediadb.db3:

luna-send -n 1 luna://com.palm.mediadb/image/listalbums {}
luna-send -n 1 luna://com.palm.mediadb/image/listimages {}

Set system volume - "volume" range is 0-100

luna-send -n 1 palm:// '{"volume":80}'

Set media volume - "volume" range is 0-100

luna-send -n 1 palm:// '{"volume":80}'

Set ringtone volume - "volume" range is 0-100

luna-send -n 1 palm:// '{"volume":100}'

Dial a number - this actually calls the number, not just setup

luna-send -n 1 palm://com.palm.telephony/dial '{"number":"8001234567"}'

Hash command RTN: ##RTN# aka ##786# commands using Luna-Send (Becarful Palm calls this Nuking your phone and do not remove battery when using

luna-send -n 1 luna://com.palm.telephony/radioDefaultsRestore {} 
luna-send -n 1 luna://com.palm.telephony/resetRadio {}
luna-send -n 1 luna:// {}

Hang up a phone call :-) There are ways to end specific types of calls but I think this is good enough for now. Let me know if you want the other methods.

luna-send -n 1 palm://com.palm.telephony/hangupAll {}

Send a text message - only need to change phone "value" and "messageText"

luna-send -n 1 palm://com.palm.messaging/sendMessageFromCompose '{"recipientJSONArray": [{"lastName": "", "pictureLoc": "", "contactCount": 1, "displayText": "", "firstName": "", "pictureLocBig": "", "imAvailability": 6, "pictureLocSquare": "", "contactDisplay": "", "Person_id": "", "personId": "", "type": "phone", "value": "8165551234", "alreadyValidated": true, "prefix": "to$A", "identifier": ""}], "messageText": "Content of message here"}'

set phone to no roam (home network only)

luna-send -n 1 palm://com.palm.telephony//roamModeSet '{"mode":"homeonly"}'

set phone to auto roam

luna-send -n 1 palm://com.palm.telephony//roamModeSet '{"mode":"any"}'

set phone to roam only

luna-send -n 1 palm://com.palm.telephony//roamModeSet '{"mode":"roamonly"}'


Notes (view notes):

luna-send -n 1 palm://com.palm.notes/getNotes {}


Enter usb storage mode:

luna-send -n 1 palm:// {\"user-confirmed\":true,\"enterIMasq\":false}

Exit usb storage mode (toggle):

luna-send -n 1 palm:// {\"user-confirmed\":true,\"enterIMasq\":false}


Airplane Mode

Enable Airplane Mode:

luna-send -n 1 palm://com.palm.systemservice/setPreferences '{"airplaneMode":true}'

Disable Airplane Mode:

luna-send -n 1 palm://com.palm.systemservice/setPreferences '{"airplaneMode":false}'

Finding luna-send Command

These commands come from inside given applications. The best way to find luna-send commands is to do a search for the term "method:" in the Applications code. Once you find method: you might see parameters: which is also used by luna-send here is an example.

searched for "method:" in the


"method: test"

luna-send command based on example:

luna-send -n 1 palm://com.palm.AppYouAreTesting/test {}

General luna-send command:

luna-send -n 1 palm://ApplicationName/MethodValue {ParameterValues}

Searching for services with dbus

Run dbus-util capture and search for services/methods/parameters. - xorg

# dbus-util --capture 2>&1 |tee /tmp/dbus.dump

Perform functions on device that you want to trap, such as setting phone to automatic roaming.
Ctrl-c from dbus.

Searches to try...
# grep // /tmp/dbus.dump
# grep com.palm /tmp/dbus.dump
# grep palm:// tmp/dbus.dump
# grep roam /tmp/dbus.dump

This is found in the dump...
  com.palm.luna2  com.palm.telephony      //roamModeSet   «string=â{"mode": "homeonly"}

com.palm.telophony is the service
//roamModeSet is the method
"mode":"homeonly" is the parameter

Translate to luna-send...

luna-send -n 1 palm://com.palm.telephony/roamModeSet '{"mode":"homeonly"}'