API & Addons

Valispace intends to be open to integration into various other tools.
This is how we imagine Valispace integrating with your engineering workflow:

Valispace Engineering Tool Integration

For this vision to become reality, Valispace offers a series of Addons and encourages you, to build additional ones yourself.

REST API

Most of the data stored in the Valispace database is accessible in machine readable (.json) format through a REST-API. You can find it in yourdeployment.valispace.com/rest/ (e.g. here in our demo deployment)

The REST API is very powerful and gives you direct read/write access to your data. However with great power comes great responsibility. In case you would like to write your own application which can interface to Valispace, don't hesitate to contact us to support you.

However we have already built some addons for your convenience:

Python API

The Valispace python API lets you access and update objects in your Valispace deployment with python code.

Install the Valispace python API with pip:

pip install valispace

Import valispace API module in a python script:

import valispace

and initialize with

valispace = valispace.API()

More information about the functionalities and functions in the API can be found at github.com/valispace/ValispacePythonAPI. The Valispace python API is licensed under the MIT license, which means that anyone can contribute to the code by cloning the GitHub repository.

To store your Valispace login credentials we recommend using Keyring, instead of storing them as variables in your source code.

MS Word Addon

The MS Word Addon lets you insert values from your Valispace deployment into your document as a field and let's you refresh them with the newest values at any time.
Valispace MS Word Ribbon

With Add Vali you can start typing to use the auto-complete function or select a vali from the dropdown:
Valispace MS Word Dropdown

With Refresh all Valis all values which have been inserted with this plugin are refreshed with the newest value.

Don't worry. When you give your Word Document to another person who does not have the plugin or access to your Valispace Deployment, all values will still be available in the document.

Download and installation

Download it from GitHub here and install it by copying this file into the following folder: %APPDATA%/Microsoft/Word/STARTUP. When you start MS Word, a new ribbon will appear: Vali-Tools. Fill in your user credentials using the ValiAddon Settingsbutton:
Valispace MS Word Addon Settings
Remember to use https:// in the URL if you want the connection to be securely encrypted.

MS Excel Addon

The MS Excel Addon lets you exchange data bi-directionally between your Excel Worksheet and your Valispace deployment.

Excel Addon Menu

(Pull) Valis

By clicking on Add Vali in the ValiSpace Ribbon, you can select a Vali which you would like to reference in the cell which is selected. It will then be inserted.

By clicking on Refresh Valis in the ValiSpace Ribbon, all of your cells which reference (Pull) Valis in your workbook will be updated to the newest value from your Valispace Deployment.

Push Valis

Select a cell in your workbook, for which you want to recurrently upload its value to your Valispace deployment. Then click Add Push Vali to connect it to a Vali which you can select from the list.

Whenever you click Push Valis in the ValiSpace Ribbon, all Push Valis will be pushed to your Valispace deployment. You will receive a message with all performed updates.

Download and installation

1) Download the addon from GitHub here and store it to a folder of your choice.
2) Open Excel, click on the main menu (or File in newer Excel versions) then Options --> Add-Ins --> Excel-Addins: Go...
3) Click Browse and select the .xlam file, select it with a check-box and click OK
4) A new Ribbon called Valispace should have appeared in the top main menu.
5) To prevent the need to re-do the same steps every time you start Excel, you will have to add the folder containing the Add-In to your "Trusted File Locations". To do this, click on File --> Options --> Trust Center --> Trust Center Settings... --> Trusted Locations --> Add new location... --> Browse and add the folder where you stored the Addon.
6) To setup Valispace, in the new ValiSpace Ribbon, select Settings and insert your deployment's URL (e.g. https://yourdeployment.valispace.com), your username and password and confirm with Save

MATLAB Toolbox

The Matlab Toolbox lets you read from and write to your Valispace deployment directly from your Matlab simulations.

Example Usage:

% 1) Valispace Login
ValispaceInit("https://demo.valispace.com","username","password")

% 2) optional: pull all Valis for faster access or access via name
ValispacePull()

% 3a) get Vali as a struct
3a) ValispaceGetVali("MySat.Mass")

% 3b) get value
3b) ValispaceGetValue("MySat.Mass")

% 4) push value to Valispace
4) ValispacePushValue("MySat.Mass",0)

% 4b) update dataset (x values as first row and y values as second row)
4b) ValispacePushDataset("MySat.Mass", [0,1,2,3,4,5,6; 10,20,30,40,50,60,70])

% get matrix values from matrix ID
5)  ValispaceGetMatrix(217)

% push matrix values
6)  ValispacePushMatrix(217,[2,3;4,5])

% post data through REST API
7)  ValispacePost(url, data)

% get data in json format through REST API
8)  ValispaceGet(url)                       

Please note: Until you run clear all the all ValispaceGetVali() and ValispaceGetValue() will use the cached values from your last ValispacePull() call.

ValispaceGetVali() / ValispaceGetValue() / ValispacePushValue() work with the argument as a string (name) or integer (id) i.e. ValispaceGetValue("MySat.Mass") and ValispaceGetValue(217).
When using these functions with an integer id, step 2) can be skipped. In this case the WebInterface will be accessed with every individual call.

Both ValispacePushValue() and ValispacePushMatrix() can also push formulas (e.g. $MySat.Mass*5) instead of values

Download and installation

Download it from GitHub here and install the toolbox via double click. You can then activate it by clicking the Valispace Toolbox Icon in your Apps Ribbon inside Matlab.

The Matlab plugin is tested with Matlab version R2017a.

Satsearch integration

The satsearch integration enables you to populate your Valispace environment with subsystems and components from the satsearch database.

Setting up the integration on satsearch.co

To get started, sign up for an account at satsearch.co/register. Once you’ve activated your account, log in, which will take you to your account home.

Account home on satsearch

Click on Integrations to take you to the Integrations home.

Integrations home on satsearch

Click on the Valispace integration tile. You can watch the video on this page for an overview of how the satsearch integration with Valispace works.

Valispace integration home on satsearch

Click on the Activate button the left, to activate the integration with Valispace for your account. Click on the View Settings button or Settings tab that appear after successful activation to edit the URL for your Valispace server. You can use demo.valispace.com for testing purposes (if you’ve created a demo account previously).

Successful activation of Valispace integration on satsearch

Using the integration

To add a satsearch part to your Valispace project, navigate to a project page, e.g., Honeywell’s HR 0610 reaction wheel. On the product page, below the image you’ll see an Add button. Click on this button to push an instance of this reaction wheel to Valispace.

A product page on satsearch with Valispace integration button

You’ll be prompted to log in with your Valispace credentials and authorize the integration to write data to your project.

If the part was successfully added to your Valispace project, you’ll be returned to the product page on satsearch and greeted with a success message.

To see the results of your push action, go to your Valispace project, where you will find the new component listed in your project tree.

Product added to Valispace through satsearch integration

Support

For support relating to the satsearch integration, join the satsearch Slack community or send an email to info@satsearch.co.