Clear Filters
Clear Filters

How to use private functions lib in Thingspeak

4 views (last 30 days)
Hi all,
for my postprocessing of measurement data in Thingspeak I have written several functions that I use in Thingspeak visualizations. I would like to save my functions once and use them in all my visualizations (as you would do it in every local Matlab program). However, I haven't found a way to do this in Thingspeak. My workaround is to copy+paste all my functions and parameters in every visualization code. This works, but it is not nice. When you want to update functions or parameter settings, you need to open every single visualization and do the changes manually. Any help is appreciated.
Thanks, Christoph

Answers (1)

Yousef
Yousef on 4 Apr 2024
Unfortunately, ThingSpeak does not provide a built-in way to save and reuse functions across multiple visualizations. However, there are a few workarounds you can consider:
1. **External Code Editor**:
- Create a separate file (e.g., `functions.js`) containing all your custom functions and parameters.
- Use an external code editor (like Visual Studio Code, Sublime Text, or any text editor) to edit and maintain this file.
- In each ThingSpeak visualization code, you can include the contents of your `functions.js` file using an external script reference.
For example, in your ThingSpeak visualization code, you can add:
```html
<script src="https://example.com/functions.js"></script>
```
Replace `https://example.com/functions.js` with the actual URL or path where your `functions.js` file is hosted or located.
2. **ThingSpeak App**:
- Create a ThingSpeak App that contains all your custom functions and parameters.
- Include the ThingSpeak App in each visualization where you need to use your custom functions.
To include a ThingSpeak App in a visualization, you can use the following code:
```html
<script>
TSAPPS = TSAPPS || {};
TSAPPS.includeApp = function(app_url, callback) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = app_url;
script.onload = callback;
document.body.appendChild(script);
};
TSAPPS.includeApp('https://example.com/app.js', function() {
// Your code that uses the custom functions from the app
});
</script>
```
Replace `https://example.com/app.js` with the actual URL of your ThingSpeak App.
Both of these approaches involve hosting your custom code externally, either on a web server or within a ThingSpeak App. While this adds an extra step, it allows you to maintain and update your functions in a centralized location, making it easier to manage and reuse across multiple visualizations.
  1 Comment
Christoph
Christoph on 6 Apr 2024
@Yousef thank you very much for your reply. However, I don't understand your solution: the Thingspeak visualization code is a Matlab code on the Thingspeak website. Your solution is in html?
Thanks in advance for clarification!

Sign in to comment.

Communities

More Answers in the  ThingSpeak Community

Categories

Find more on ThingSpeak in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!