Development:Prana Breath API/Collections:Trainings

From Olekdia Wiki

trainings, or trngs - collection that gives you access to all trainings in the app.

Prefix

  • pranabreath:// - Case-insensitive.
  • https://olekdia.com/pranabreath/ - Case-sensitive.
  • https://pranabreath.page.link/?link=https://olekdia.com/pranabreath/ - Case-sensitive.

Syntax

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

Commands

Command Description

list

Returns training list. Currently it is only used in console for retrieving 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 when only collection is defined without an item, so if we omit the command it will return the same result.

select

Select the specified training. Commands import, create, start have despite its own effects have also select effect.
  • pranabreath://trainings/Harmony?cmd=select - Select Harmony training.
  • pranabreath://trainings/Harmony - It is default command when item is specified, so it will have the same impact that above example.

import

Import the specified training into the app.

create

Create the training with defined parameters. If training with such name already exists - new training will not be created. Instead all parameters will be applied to this training.
  • pranabreath://trainings?cmd=create&name=Serenity&trng_type=1 - Create meditation with name "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 with name "4_7_8_Breathing", with 5 seconds preparing time, and 4:7:8:0 ratio

start

Starts the selected training. If there is no an entered training - nothing happens, if only the training name is set from public training list, in such case it will be imported automatically and started.
  • pranabreath://trainings/Clear_mind?cmd=start - Clear mind training will be selected and started. Also it will bring 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 is it will be started with 4 minutes training duration
  • pranabreath://trainings/2?cmd=start - Training with id equals 2 will be selected and started.
  • pranabreath://trainings/Bhastrika?cmd=start - Training with name "Bhastrika" will be selected and started. If there is no such training Bhastrika training will be imported and started.
  • pranabreath://trainings?cmd=start&json_data={"ENTRY":"TRAINING","name":"custom_trng","dur_time":420,} - Import the training which is a value of json_data parameter and than start it.

delete

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

info

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 - Got to the wiki page of Ha breathing which has public_id equals 25.

Parameters

Parameter Description

name

Name of the training.

public_id

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

trng_type

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 with name "Serenity".

pos

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

curr_level

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

dur_time

or duration

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

dur_num_cycles

or num_iterations

Training duration, in amount of cycles (if this value is set, training duration mode will 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 the Relax training.

dur_prep_time

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

dynamic

or trng_cycles

The object which 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 the 3 cycles with [[Ratio_of_breath_cycle|ratio] 1:0:1:0. First cycles has 6.5 seconds per ratio unit, second 7 seconds and third 7.3 seconds.

dynamic_enabled

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

time_per_unit

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

If unsigned, this value will be set for each cycle across the trainings; if with sign - this value will be applied to each 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 the Relax training.
  • pranabreath://trainings/Relax&time_per_unit=%2B500 - Increase seconds per ratio unit for all cycles by 0.5 seconds for the Relax training. It will save ratio between cycles in dynamic mode, but will increase overall training complexity.

custom_chants

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 passed 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.

note

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

json_data

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