gravitymon/docs/advanced.html
2023-02-04 11:01:25 +00:00

402 lines
16 KiB
HTML

<!doctype html>
<html class="no-js">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="REST API" href="api.html" /><link rel="prev" title="Service Integration" href="services.html" />
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
<title>Advanced Configuration - GravityMon v1.2.0</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=df49af52631e7917044a9c21a57f7b83170a6dd0" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" />
<line x1="4" y1="6" x2="20" y2="6" />
<line x1="10" y1="12" x2="20" y2="12" />
<line x1="6" y1="18" x2="20" y2="18" />
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">GravityMon v1.2.0</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
<div class="sidebar-logo-container">
<img class="sidebar-logo" src="_static/gravitymon_logo.png" alt="Logo"/>
</div>
<span class="sidebar-brand-text">GravityMon v1.2.0</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="functionality.html">Functionality</a></li>
<li class="toctree-l1"><a class="reference internal" href="intro.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="releases.html">Releases</a></li>
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Hardware</a></li>
<li class="toctree-l1"><a class="reference internal" href="formula.html">Create formula</a></li>
<li class="toctree-l1"><a class="reference internal" href="services.html">Service Integration</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Advanced Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="api.html">REST API</a></li>
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</a></li>
<li class="toctree-l1"><a class="reference internal" href="compiling.html">Compiling the software</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="license.html">Licence</a></li>
<li class="toctree-l1"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<div class="section" id="advanced-configuration">
<h1>Advanced Configuration<a class="headerlink" href="#advanced-configuration" title="Permalink to this headline"></a></h1>
<div class="section" id="format-editor">
<span id="id1"></span><h2>Format editor<a class="headerlink" href="#format-editor" title="Permalink to this headline"></a></h2>
<p>To reduce the need for adding custom endpoints for various services there is an built in format editor that allows the user to customize the format being sent to the push target.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>If format templates are large this feature can be slow on a small device such as the esp8266.</p>
</div>
<a class="reference internal image-reference" href="_images/format.png"><img alt="Format editor" src="_images/format.png" style="width: 800px;"/></a>
<p>You enter the format data in the text field and the test button will show an example on what the output would look like. If the data cannot be formatted in json it will just be displayed as a long string.
The save button will save the current formula and reload the data from the device.</p>
<p>You can also select a template from the list and copy that to the current endpoint.</p>
<p>Saving an empty formula will reset it to the default value.</p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>If you save a blank string the default template will be loaded.</p>
</div>
<p>These are the format keys available for use in the format.</p>
<div class="table-wrapper"><table class="colwidths-given docutils align-default" id="id2">
<caption><span class="caption-text">Directory structure</span><a class="headerlink" href="#id2" title="Permalink to this table"></a></caption>
<colgroup>
<col style="width: 30%"/>
<col style="width: 50%"/>
<col style="width: 20%"/>
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>key</p></th>
<th class="head"><p>description</p></th>
<th class="head"><p>example</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>${mdns}</p></td>
<td><p>Name of the device</p></td>
<td><p>gravmon2</p></td>
</tr>
<tr class="row-odd"><td><p>${token}</p></td>
<td><p>Token</p></td>
<td><p>any value</p></td>
</tr>
<tr class="row-even"><td><p>${token2}</p></td>
<td><p>Token 2</p></td>
<td><p>any value</p></td>
</tr>
<tr class="row-odd"><td><p>${id}</p></td>
<td><p>Unique id of the device</p></td>
<td><p>e422a3</p></td>
</tr>
<tr class="row-even"><td><p>${sleep-interval}</p></td>
<td><p>Seconds between data is pushed</p></td>
<td><p>900</p></td>
</tr>
<tr class="row-odd"><td><p>${temp}</p></td>
<td><p>Temperature in format configured on device, one decimal</p></td>
<td><p>21.2</p></td>
</tr>
<tr class="row-even"><td><p>${temp-c}</p></td>
<td><p>Temperature in C, one decimal</p></td>
<td><p>21.2</p></td>
</tr>
<tr class="row-odd"><td><p>${temp-f}</p></td>
<td><p>Temperature in F, one decimal</p></td>
<td><p>58.0</p></td>
</tr>
<tr class="row-even"><td><p>${temp-unit}</p></td>
<td><p>Temperature format <cite>C</cite> or <cite>F</cite></p></td>
<td><p>C</p></td>
</tr>
<tr class="row-odd"><td><p>${battery}</p></td>
<td><p>Battery voltage, two decimals</p></td>
<td><p>3.89</p></td>
</tr>
<tr class="row-even"><td><p>${rssi}</p></td>
<td><p>Wifi signal strength</p></td>
<td><p>-75</p></td>
</tr>
<tr class="row-odd"><td><p>${run-time}</p></td>
<td><p>How long the last measurement took, two decimals</p></td>
<td><p>3.87</p></td>
</tr>
<tr class="row-even"><td><p>${angle}</p></td>
<td><p>Angle of the gyro, two decimals</p></td>
<td><p>28.67</p></td>
</tr>
<tr class="row-odd"><td><p>${tilt}</p></td>
<td><p>Same as angle.</p></td>
<td><p>28.67</p></td>
</tr>
<tr class="row-even"><td><p>${gravity}</p></td>
<td><p>Calculated gravity, 4 decimals for SG and 1 for Plato.</p></td>
<td><p>1.0456</p></td>
</tr>
<tr class="row-odd"><td><p>${gravity-sg}</p></td>
<td><p>Calculated gravity in SG, 4 decimals</p></td>
<td><p>1.0456</p></td>
</tr>
<tr class="row-even"><td><p>${gravity-plato}</p></td>
<td><p>Calculated gravity in Plato, 1 decimal</p></td>
<td><p>8.5</p></td>
</tr>
<tr class="row-odd"><td><p>${corr-gravity}</p></td>
<td><p>Temperature corrected gravity, 4 decimals for SG and 1 for Plato.</p></td>
<td><p>1.0456</p></td>
</tr>
<tr class="row-even"><td><p>${corr-gravity-sg}</p></td>
<td><p>Temperature corrected gravity in SG, 4 decimals</p></td>
<td><p>1.0456</p></td>
</tr>
<tr class="row-odd"><td><p>${corr-gravity-plato}</p></td>
<td><p>Temperature corrected gravity in Plato, 1 decimal</p></td>
<td><p>8.5</p></td>
</tr>
<tr class="row-even"><td><p>${gravity-unit}</p></td>
<td><p>Gravity format, <cite>G</cite> or <cite>P</cite></p></td>
<td><p>G</p></td>
</tr>
<tr class="row-odd"><td><p>${app-ver}</p></td>
<td><p>Software version</p></td>
<td><p>1.1.0</p></td>
</tr>
<tr class="row-even"><td><p>${app-build}</p></td>
<td><p>Software revision (git hash)</p></td>
<td><p>..e456743</p></td>
</tr>
</tbody>
</table></div>
</div>
</div>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="api.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">REST API</div>
</div>
<svg><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="services.html">
<svg><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Service Integration</div>
</div>
</a>
</div>
<div class="related-information">
Copyright &#169; 2021-2023, Magnus Persson |
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo theme</a>.
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
Contents
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Advanced Configuration</a><ul>
<li><a class="reference internal" href="#format-editor">Format editor</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/scripts/furo.js"></script>
<script src="_static/clipboard.min.js"></script>
<script src="_static/copybutton.js"></script>
</body>
</html>