Development:Prana Breath API/Collections:Trainings

From Olekdia Wiki

trainings, or trngs - Collection that gives control over all trainings in the app.


  • pranabreath:// - Case-insensitive.
  • - Case-sensitive.
  • - Case-sensitive.
  • - Case-sensitive.


  • pranabreath://trainings/item?cmd=[Command] - Case-insensitive.
  • pranabreath://Trainings/item?[Parameter]=[Value]
  • pranabreath://trainings/item?cmd=[Command]&[Parameter1]=[Value1]&[Parameter2]=[Value2]
  •[Command]&[Parameter]=[Value] - Case-sensitive.


Command Description


Returns training list. Currently it is used only in console for retrieving a training list.
  • pranabreath://trainings?cmd=list
pos id public_id name
0   1  1         Clear mind
1   2  2         Relax
2   3  3         Calming
3   4  4         Power
4   5  5         Harmony
5   6  6         Anti-stress
6   7  7         Anti-appetite
7   8  8         Cigarette replace
8   9  11        Bhastrika
  • pranabreath://trainings - It is a default command if collection is defined without an item, so if we omit the command it will return the same result.


Select the specified training. Other than their specific effect, commands import, create and start do select as well.
  • pranabreath://trainings/Harmony?cmd=select - Select Harmony training.
  • pranabreath://trainings/Harmony - Select Harmony. Select is a default command if ?cmd= is omitted.


Import the specified training into the app.


Create the training with certain parameters. If training with such name already exists - new training will not be created. Instead all parameters will be applied to existing training.
  • pranabreath://trainings?cmd=create&name=Serenity&trng_type=1 - Create meditation named "Serenity".
  • pranabreath://trainings?cmd=create&name=4_7_8_Breathing&dur_prep_time=5000&trng_cycles={"mValues":[{"mInhaleUnit":4,"mRetainUnit":7,"mExhaleUnit":8,"mMethodsBitSet":129,"mSecPerUnit":1000}],"mKeys":[0,]} - Create training named "4_7_8_Breathing", with 5 seconds preparing time, and 4:7:8:0 ratio.


Starts the selected training. If there is no such training - nothing happens. But if the training with such name is featured in the training list on our wiki, it will be automatically imported and started.
  • pranabreath://trainings/Clear_mind?cmd=start - Select and start Clear mind training. Also it brings the app to foreground with Training tab selected.
  • pranabreath://trainings/Some_custom_name?cmd=start&dur_time=240000 - If there is no "Some_custom_name" in the app - nothing happens. If it exists, it starts with training duration of 4 minutes.
  • pranabreath://trainings/2?cmd=start - Select and start training with id equals 2.
  • pranabreath://trainings/Bhastrika?cmd=start - Select and start "Bhastrika" training. If there is no such training, Bhastrika is imported and started.
  • pranabreath://trainings?cmd=start&json_data={"ENTRY":"TRAINING","name":"custom_trng","dur_time":420,} - Import and start the training that is a value of json_data parameter.


Delete the selected training. If there is no selected training - nothing happens.
  • pranabreath://trngs/14?cmd=delete - Delete the training with id equals 14.
  • pranabreath://trngs/Relax?cmd=delete - Delete Relax training.


Show the information about training on this wiki. It is applicable only for the default trainings and for the trainings importable from this wiki.
  • pranabreath://trainings/Sitkari?cmd=info - Go to the wiki page of Sitkari training.
  • pranabreath://trainings?cmd=info&public_id=25 - Go to the wiki page that has public_id equals 25, that is Ha breathing.


Parameter Description


Name of the training.


Indicates public id of the training. All trainings in this list have their own public_id. All public_id are listed here. It is a read-only value.
  • pranabreath://trngs?cmd=import&public_id=25 - Import training with public_id equals 25, which is Ha breathing training.


Is a kind of the training. Value range is [0 - breathing session, 1 - meditation].
  • pranabreath://trainings?cmd=create&name=Serenity&trng_type=1 - Create meditation named "Serenity".


Position of the training in the training list.
  • pranabreath://trainings/Clear_mind?pos=9999 - Move Clear mind training to the very bottom of the list.


Selected complexity level of a training (if applicable). Value range is [1, 5]
  • pranabreath://trngs/1?curr_level=3 - Set complexity level to "Advanced" for Clear mind training.


or duration

Training duration, in milliseconds (if this value is set, training duration mode is be measured in amount of time). Value range is [60000, 59940000]


or num_iterations

Training duration, in amount of cycles (if this value is set, training duration mode is be measured in amount of cycles). Value range is [1, 999]
  • pranabreath://trainings/Relax?dur_num_cycles=18 - Set training duration to 18 cycles for Relax training.


Preparing time duration, in milliseconds. Value range is [0, 60000]


or trng_cycles

The object that represents breathing or repose cycles of the training.
  • pranabreath://trainings/15?dynamic={"mValues":[{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":6500}{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":7000}{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":7300}],"mKeys":[0,1,2,]} - Set 3 cycles with the [[Ratio_of_breath_cycle|ratio] 1:0:1:0. First cycle has 6.5 seconds per ratio unit, second - 7 seconds, and third - 7.3 seconds.


Turns dynamic mode on. Value range is [true, false].
  • pranabreath://trainings/Harmony?dynamic_enabled=true - Enable dynamic mode for Harmony training.


Time per ratio unit, measured in milliseconds. Value range is [100, 99000].

If unsigned, this value is applied for every cycle across the trainings. If it has a sign - the value is decreased or increased every next cycle. Use %2B instead of + and %2D instead of - for the URL safety.

  • pranabreath://trainings/Relax&time_per_unit=6300 - Set 6,3 seconds per ratio unit for Relax training.
  • pranabreath://trainings/Relax&time_per_unit=%2B500 - Increase seconds per ratio unit for all cycles by 0.5 seconds for Relax training. It keeps the cycle ratio in dynamic mode the same, but increases overall training complexity.


The custom chants of the training.
  • pranabreath://trainings?cmd=create&name=Chanting_breathing&custom_chants=["Qm9vb20%3D","VmFhYW0%3D","UmFhYW0%3D"]&dynamic={"mValues":[{"mInhaleUnit":1,"mExhaleUnit":1,"mSustainUnit":2,"mChantsBitSet":1073742800,"mSecPerUnit":3000}],"mKeys":[0,]} - Create the training with custom chants. Chants are specified as an array, and also every chant is Base64 encoded for the URL safety. In this example we set "Raaam" chant for the inhaling and "Vaaam" chant for the exhaling phases.


The training note.
  • pranabreath://trainings/Relax?note=VGhpcyB0cmFpbmluZyBpcyByZWFsbHkgaGVscGZ1bCBhZnRlciBsb25nIGNvbmNlbnRyYXRpb24%3D - Set the training note for Relax training. It totally replaces previous note if it exists. The note should be Base64 encoded for the URL safety.


Data of training (.trng) file for importing.
  • pranabreath://trainings?cmd=import&json_data={"ENTRY":"TRAINING","name":"my_training"}" - Import the training named "my_training".