Update documentation

This commit is contained in:
GitHub Action
2022-03-05 14:32:49 +00:00
parent dc2129978e
commit 9445dc87af
40 changed files with 1735 additions and 768 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -23,6 +23,7 @@ Other parameters are the same as in the configuration guide.
"ota-url": "http://192.168.1.50:80/firmware/gravmon/", "ota-url": "http://192.168.1.50:80/firmware/gravmon/",
"temp-format": "C", "temp-format": "C",
"brewfather-push": "http://log.brewfather.net/stream?id=Qwerty", "brewfather-push": "http://log.brewfather.net/stream?id=Qwerty",
"token": "token",
"http-push": "http://192.168.1.50:9090/api/v1/Qwerty/telemetry", "http-push": "http://192.168.1.50:9090/api/v1/Qwerty/telemetry",
"http-push-h1": "header: value", "http-push-h1": "header: value",
"http-push-h2": "header: value", "http-push-h2": "header: value",
@ -54,7 +55,8 @@ Other parameters are the same as in the configuration guide.
}, },
"angle": 90.93, "angle": 90.93,
"gravity": 1.105, "gravity": 1.105,
"battery": 0.04 "battery": 0.04,
"runtime-average": 3.12
} }
@ -69,7 +71,8 @@ Retrive the current device settings via an HTTP GET command. Payload is in JSON
"app-name": "GravityMon", "app-name": "GravityMon",
"app-ver": "0.0.0", "app-ver": "0.0.0",
"id": "ee1bfc", "id": "ee1bfc",
"mdns": "gravmon" "mdns": "gravmon",
"runtime-average": 3.12
} }
@ -125,6 +128,18 @@ Retrive the data used for formula calculation data via an HTTP GET command. Payl
} }
GET: /api/factory
================
Will do a reset to factory defaults and delete all data except wifi settings.
For this to work you will need to supply the device id as a parameter in the request:
::
http://mygravity.local/api/factory?id=<mydeviceid>
POST: /api/config/device POST: /api/config/device
======================== ========================
@ -271,6 +286,7 @@ The requests package converts the json to standard form post format.
url = "http://" + host + "/api/config/push" url = "http://" + host + "/api/config/push"
json = { "id": id, json = { "id": id,
"token": "",
"http-push": "http://192.168.1.1/ispindel", "http-push": "http://192.168.1.1/ispindel",
"http-push2": "", "http-push2": "",
"http-push-h1": "", "http-push-h1": "",

View File

@ -41,6 +41,10 @@ URL: (http://gravmon.local/device)
:width: 800 :width: 800
:alt: Device Settings :alt: Device Settings
.. tip::
The button `view error log` will show the last 15 errors on the device. This can be useful for checking errors without
the need to connect to the serial port or to check what errors has occured while in `gravity mode`.
* **Version:** * **Version:**
@ -55,6 +59,12 @@ URL: (http://gravmon.local/device)
This is unique identifier for the device (ESP8266 id), this is required when using the API as an API Key to safeguard This is unique identifier for the device (ESP8266 id), this is required when using the API as an API Key to safeguard
against faulty requests. This is the ESP8266 chip ID, so it should be unique. against faulty requests. This is the ESP8266 chip ID, so it should be unique.
* **Average runtime:**
This shows the average time a gravity measurement takes. Under optimal setting this should be
around 1.5 - 2.0 seconds. If this is higher than 2 seconds this is most likley connected to slow wifi
connection. It will show 0 if data has not been collected yet.
Configuration Configuration
============= =============
@ -121,6 +131,11 @@ Push Settings
If you add the prefix `https://` then the device will use SSL when sending data. If you add the prefix `https://` then the device will use SSL when sending data.
* **Token:**
The token is included in the iSpindle JSON format and will be used for both HTTP targets. If you
need to have 2 different tokens please use the :ref:`format-editor` to customize the data format.
* **Brewfather URL:** * **Brewfather URL:**
Endpoint to send data via http to brewfather. Format used :ref:`data-formats-brewfather` Endpoint to send data via http to brewfather. Format used :ref:`data-formats-brewfather`
@ -161,6 +176,28 @@ Push Settings
Password or blank if anonymous is accepted Password or blank if anonymous is accepted
* **HTTP Headers**
.. image:: images/config-popup1.png
:width: 300
:alt: HTTP Headers
You can define 2 http headers per push target. This is available via a pop-up window but dont forget
to press the save buttons on the post section to save the values. One common header is content type which is the
default setting for http targets.
The input must have the format **'<header>: <value>'** for it to work. The UI will accept any value so errors
will not show until the device tries to push data.
::
Content-Type: application/json
X-Auth-Token: <api-token>
Mozilla has a good guide on what headers are valid; `HTTP Headers <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers>`_
Gravity Settings Gravity Settings
++++++++++++++++ ++++++++++++++++
@ -234,5 +271,6 @@ Hardware Settings
.. code-block:: .. code-block::
http://192.168.1.1/firmware/gravmon/ http://192.168.1.1/firmware/gravmon/
https://192.168.1.1/firmware/gravmon/

View File

@ -12,8 +12,12 @@ The main features
angle/tile, temperature, calculates gravity and pushes the data to defined endpoints. angle/tile, temperature, calculates gravity and pushes the data to defined endpoints.
In ``configuration mode`` the device is always active and the webserver is active. Here you can view the In ``configuration mode`` the device is always active and the webserver is active. Here you can view the
angle/tilt values, change configuration options and more. When in this mode you can also interact with the device angle/tilt values, change configuration, update the gravity formula. When in this mode you can also interact
via an REST API so data can be pushed to the device via scripts (see API section for more information). with the device via an REST API so data can be pushed to the device via scripts (see API section for more information).
.. image:: images/index.png
:width: 700
:alt: UI example
You can force the device into ``configuration mode`` while measuring gravity. This is useful when calibrating You can force the device into ``configuration mode`` while measuring gravity. This is useful when calibrating
the device so you don't needs to wait for the device to wake up and push the data. The entire calibration the device so you don't needs to wait for the device to wake up and push the data. The entire calibration
@ -21,61 +25,83 @@ The main features
See the :ref:`setting-up-device` section for more information on how to trigger the configuration mode. See the :ref:`setting-up-device` section for more information on how to trigger the configuration mode.
* **Can send data to multiple endpoints at once** * **Can send data to multiple endpoints**
The original iSpindle can only have one destination, this software will push data to all defined endpoints so The original iSpindle can only have one destination, this software will push data to all defined endpoints so
in theory you can use them all. However this will consume more battery power so use only as many as needed. in theory you can use them all. However this will consume more battery power so use only as many as needed. Its much
more efficient to have the endpoints on your local network than on the internet.
Currently the device supports the following endpoints: http (2 different), influxdb2, Brewfather and MQTT. Currently the device supports the following endpoints.
If you want additional targets please raise a feature request in the github repo. * http or https
* influxdb v2
* Brewfather
* MQTT
* Home Assistant
* Brew Spy
* Brewers Friend
* Fermentrack
* Ubidots
* Thingsspeak
Under the :ref:`services` section you can find guides for how to connect GravityMon to these services. For a
description of what data is transmitted you can see :ref:`data-formats`.
The software support SSL endpoints but currently without CA validation, this means that the data is encrypted
but it does not validate if the remote endpoint is who it claims to be.
if you require CA validation please leave a comment on GitHub and I will make that a priority. Adding this function
will dramatically reduce the battery life of the device.
.. note::
Using SSL on a small device such as the esp8266 can be unstable since it requires a lot of RAM to work. And running out
of RAM will cause the device to crash. So enable SSL with caution and only when you really need it. GravityMon will try
to minimize the needed RAM but the remote service might not support that feature.
* **Create gravity formulas on the device** * **Create gravity formulas on the device**
Another big difference is that this software can create the gravity formula in the device, just enter the Another big difference is that this software can create the gravity formula in the device, just enter the
angle/gravity data that you have collected. You will also see a graph simulating how the formula would work. angle/gravity data that you have collected. You will also see a graph simulating how the formula would work.
.. note:: Currently the device can handle 5 data points which should be enough to get a accurate formula. At least 3 data points
is needed to get an accurate formula.
This feature needs more testing to be validated. If there is a need for more data points, raise a comment on github.
* **Customize the data format beeing sent to push targets** * **Customize the data format beeing sent to push targets**
In order to make it easier to support more targets there is a built in format editor that can be used to In order to make it easier to support more targets there is a built in format editor that can be used to
customize the data that is to be sent. This way you can easily adapt the software to new targets without coding. customize the data that is to be sent. This way you can easily adapt the software to new targets without coding.
If you have a good template please share it on the girhub repository and I will add it to the documentation If you have a good template please share it on the github repository and I will add it to the documentation
for other users to enjoy. See the :ref:`format-editor` for more information. for other users to enjoy. See the :ref:`format-editor` for more information. See :ref:`services` for a list of
services currently validated.
.. note::
This feature needs more testing to be validated.
* **Automatic temperature adjustment of gravity reading** * **Automatic temperature adjustment of gravity reading**
If you want to correct gravity based on beer temperature you can do this in the formula but here is a nice If you want to correct gravity based on beer temperature you can do this in the formula but here is a nice
feature that can correct the gravity as a second step making this independant of the formula. feature that can correct the gravity as a second step making this independant of the formula.
.. note:: * **OTA support from webserver**
This feature needs more testing to be validated. When starting up in configuration mode the device will check for a software update from a webserver. This is an easily
way to keep the software up to date. In the future I might add a hosted endpoint for providing updates.
* **OTA support from local webserver**
When starting up in configuration mode the device will check for a software update from a local webserver.
* **DS18B20 temperature adjustments** * **DS18B20 temperature adjustments**
You can adjust the temperature reading of the temperature sensor. You can adjust the temperature reading of the temperature sensor. In normal cases this should not be needed since
the sensors should be calibrated.
* **Gyro Movement** * **Gyro Movement**
The software will detect if the gyro is moving and if this is the case it will go back to sleep for 60seconds. The software will detect if the gyro is moving and if this is the case it will go back to sleep for 60seconds.
This way we should avoid faulty measurements. This way we should avoid faulty measurements and peaks in the graphs.
* **WIFI connection issues** * **WIFI connection issues**
The software will not wait indefiently for a wifi connection. If it takes longer than 20 seconds to connect then The software will not wait indefiently for a wifi connection. If it takes longer than 20 seconds to connect then
the device will go into deep sleep for 60 seoncds and then retry. the device will go into deep sleep for 60 seoncds and then retry later. This to conserve batter as much as possible.
* **Use gyro temperature sensor** * **Use gyro temperature sensor**
@ -93,21 +119,36 @@ The main features
:width: 800 :width: 800
:alt: Gyro temp vs DS18B20 :alt: Gyro temp vs DS18B20
Other features * **Celsius or Farenheigt**
--------------
* Support for Celcius and Farenheigt as temperature formats. You can switch between different temperature formats. GravityMon will always use C for it's internal calculations and
convert to F when displayed.
* Support SG (Plato is not yet supported) * **SG or Plato**
* Gyro data is read 50 times to ensure good accuracy You can switch between different gravity formats. GravityMon will always use SG for it's internal calculations and
convert to Plato when displayed.
Experimental features * **Stable gyro data**
---------------------
The device will read the gyro 50 times to get an accurate reading. If the standad deviation is to high it will not
use the data since this is inacurate and the device is probably moving, probably do to active fermentation or movement of
fermentation vessel. This sequence takes 900 ms seconds to execute and besides wifi connection this is what consumes the most
battery. With more testing this might be changes to either speed up or provide more stable readings.
* **Performance measurements** * **Performance measurements**
I've also create a small library to measure execution code in some areas of the code that i know is time consuming. This way I can find a good balance between performace and quality. I've also create a small library to measure execution code in some areas of the code that i know is time consuming. This
way I can find a good balance between performace and quality. This is a lot of help trying to figure out where bottlenecks
are in the code and where to put optimization efforts. Examples of real measurements:
* Reading the gyro: 885 ms
* Reading DS18B20 temperature sensor: 546 ms
* Connect to WIFI: 408 ms
* Send data to local influxdb v2: 25 ms
* Send data to local mqtt server: 35 ms
* Send data to local http server: 40 ms
* Send data to http server on internet: 0.2 - 5 seconds
See the :ref:`compiling-the-software` for more information. See the :ref:`compiling-the-software` for more information.
@ -119,15 +160,12 @@ Experimental features
Battery life Battery life
------------ ------------
I'm currently measuring battery life of v0.5 but previous versions have been able to measure gravity for The long term battery test has now been completed. Using a 2200 mA battery and sending data every 5 minutes to a local server on my network. The battery lasted 47 days which is excellet battery life.
a 2-3 weeks without issues (Using 900 seconds as interval).
I had a device running with an sleep interval of only 30s with ok wifi connection. The device lasted In another test I had a device running with an sleep interval of only 30s with ok wifi connection. The device lasted 12 days which i think is excellent considering the short sleep interval.
12 days which i think is excellent considering the short sleep interval. From what I have discovered
it's the WIFI connection that has the most impact on the battery life. In a perfect scenario it From what I have discovered it's the WIFI connection or latency to internet hosted that has the most impact on the battery life. The typical runtime in the tests above was around 2 seconds.
can take around 400ms but can in some cases take up to 8 seconds.
*More on this topics once my tests are done*
Performance Performance
----------- -----------

View File

@ -7,46 +7,55 @@ Welcome to GravityMon's documentation!
###################################### ######################################
.. note:: .. note::
This documentation reflects **v0.7.1**. Last updated 2022-01-30 This documentation reflects **v0.8**. Last updated 2022-03-05
GravityMon is used to measure gravity and temperature during fermentation of beer and report the progress. The graph below is
an example on how the fermentation process can be tracked. This is from my last brew that was over on a few days. The graph is rendered using
Fermentrack.
GravityMon is a replacement firmare for the iSpindle firmware, it uses the same hardware configuration so .. image:: images/fermentation.png
you can easily switch between them. :width: 500
:alt: Example fermentation
It's used to measure gravity in beer and show the progress of fermentation. GravityMon is a replacement firmare for the iSpindle and uses the same hardware configuration and is 100% compatible. It
implements a lot of the features that has been requested in the orginal iSpindle project but has been rejected for
For more information on this topic and function please visit `iSpindel Homepage <https://www.ispindel.de>`_ . various reasons. Here is a list of :ref:`main_features`.
I started GravityMon because i like to create software and wanted to do some low level programming. I had done a few I started GravityMon because i like to create software and wanted to do some low level programming. I had done a few
projects based on esp8266 and also started to brew beer so this combination was quite natural. projects based on esp8266 and also started to brew beer so this combination was quite natural.
The hardware design comes from the fantastic iSpindle project so that is not covered in this documentation. The hardware design comes from the fantastic iSpindle project so that is not covered in this documentation. For more
information on this topic and function please visit `iSpindel Homepage <https://www.ispindel.de>`_ .
My approach to this software is a little different from that the original ispindle firmware. The github repository can My approach to this software is a little different from that the original ispindle firmware. The github repository
be found here; `GravityMon on Github <https://github.com/mp-se/gravitymon>`_ can be found here; `GravityMon on Github <https://github.com/mp-se/gravitymon>`_
.. note:: .. note::
This software is in the early stages even though its more than one year old so if you find issues, please I dont take responsibility for any errors or issues caused by the software. The software is provided as-is. I will however
open a ticket on github. try my best to fix issues that might occur.
I dont take responsibility for any errors that can cause problems with the use. I have tested v0.4 on 5+ brews
over the last 6 months without any issues.
The main differences: I have tested this software over the last year on 20+ brews with good results.
---------------------
* Operates in two modes gravity monitoring and configuration mode (simplify calibration) .. _main_features:
* Modern web based UI for configuration (in config mode)
* REST API Main features:
* Send data to multiple endpoints when pushing data (2xhttp, brewfather, influxdb v2, mqtt supported) --------------
* Operates in two modes gravity monitoring and configuration mode (simplify calibration). Gravity mode
is comparable to how the iSpindle works.
* Modern web based UI when in configuration mode. No need to start the access point changing settings.
* REST API to enable scripted configuration
* Send data to multiple endpoints and services at once
* Setup guides for how to send data to many popular services. Currently 8+ are documented.
* Automatic temperature adjustment of gravity reading * Automatic temperature adjustment of gravity reading
* OTA support from local webserver * OTA support from webserver
* Built in function to create gravity formulas, no need for additional software, just enter tilt/gravity. * Built in function to create gravity formulas, no need for additional software, just enter tilt/gravity and
* Visual graph showing how formula will be interpreted let GravityMon create the formula.
* Visual graph showing how formula will be interpreted based on entered values
* Using the temperature sensor in gyro instead of DS18B20 (faster) * Using the temperature sensor in gyro instead of DS18B20 (faster)
* Built in performance measurements (used to optimise code)
* SSL support in standard HTTP and MQTT connections. * SSL support in standard HTTP and MQTT connections.
* Option to customize data posted to endpoints using template from the UI. * Option to customize data posted to endpoints using template from the UI.
* Built in performance measurements (used to optimise code)
For a complete breakdown see the :ref:`functionallity` For a complete breakdown see the :ref:`functionallity`
@ -133,6 +142,7 @@ the following libraries and without these this would have been much more difficu
data data
compiling compiling
contributing contributing
troubleshooting
q_and_a q_and_a
Indices and tables Indices and tables

View File

@ -40,8 +40,8 @@ Configuration - Device Settings - Device Name
Give your device a good name. Give your device a good name.
Configuration - Device Settings - Calibration Configuration - Device Settings - Gyro Calibration
+++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++
You need to place the device on a flat surface and then press the You need to place the device on a flat surface and then press the
calibrate button. It will take a few seconds for this to complete and the angle should be close to 90 degress. Without calibrate button. It will take a few seconds for this to complete and the angle should be close to 90 degress. Without
@ -49,8 +49,7 @@ calibration the device will not go into gravity mode.
Configuration - Push Settings Configuration - Push Settings
+++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++
Add the endpoints where you want data to be transmitted. All URLs that contain a Add the endpoints where you want data to be transmitted. All URLs that contain a valid endpoint will receive the data.
valid endpoint will receive the data.
Calibration Calibration
+++++++++++ +++++++++++
@ -58,6 +57,11 @@ Calibration
I recommend to use the calibration feature to create a gravity formula. If you have values from a I recommend to use the calibration feature to create a gravity formula. If you have values from a
previous calibration then you can add them here, if not follow the calibration guidelines on the iSpindle site. previous calibration then you can add them here, if not follow the calibration guidelines on the iSpindle site.
There are several guides for how to calibrate the device (`iSpindle Calibration <https://www.ispindel.de/docs/Calibration_en.html>`_)
This will get the data points needed to create the formula, and the datapoints will be stored on the device so you can
adjust them when needed.
Step 4 - Completed Step 4 - Completed
------------------ ------------------

View File

@ -3,6 +3,27 @@
Releases Releases
######## ########
v0.8.0
------
* Added option to set http headers (2 per http endpoint), these can be used for
other http formats than json (default) and for adding authentication headers.
* Added possibility to view last 10 errors on device page.
* Added possibility to define token parameter used in iSpindle format.
* Added instructions for how to configure integration with Brewspy
* Added instructions for how to configure integration with Thingspeak
* Added option to do a factory reset via API.
* Logging the runtime, how long a measurement take (last 10 are stored). This can be
used to check how good the wifi connection is and estimate the lifetime when on battery.
Check the device page in the UI for this information.
* Refactored code to free up more RAM to make SSL more stable.
* Before connecting to an SSL endpoint the device will try to use a new SSL feature
called MFLN (Maximum Fragment Length Negotiation) that allow us to reduce the buffers
from 16k to 2k. This can make a huge difference on a device with only 40k RAM. Not all
servers might support this feature.
* Updated documentation pages.
* Tested batterylife, 47 days using an update frequency of 5 min
v0.7.1 v0.7.1
------ ------

View File

@ -48,6 +48,27 @@ Enter the following as URL:
http://industrial.api.ubidots.com/api/v1.6/devices/<devicename>/?token=<api-token> http://industrial.api.ubidots.com/api/v1.6/devices/<devicename>/?token=<api-token>
This is the less secure option.
**Option 2** - token as the http header
Enter the following as URL, use either standard or ssl.
.. code-block::
http://industrial.api.ubidots.com/api/v1.6/devices/<devicename>
https://industrial.api.ubidots.com/api/v1.6/devices/<devicename>
Under `Headers` (button after the http url in the UI) enter the following string:
.. code-block::
X-Auth-Token: <api-token>
This is the more secure option.
Even though ubidots can handle the default ispindle format it probably better to just post the data you want. This is an example of a Even though ubidots can handle the default ispindle format it probably better to just post the data you want. This is an example of a
format template that can be used. For information on customizing the format see :ref:`format-editor`. format template that can be used. For information on customizing the format see :ref:`format-editor`.
@ -105,7 +126,7 @@ Brewer's friend is an all in one service that allows you to manage you recepies
.. warning:: .. warning::
I dont have an account for brewers friend so I have not been able to verfy this completely. Its based on I dont have an account for brewers friend so I have not been able to verfy this completely. Its based on
the available documentation. the available documentation. If this works please let
You can find you API key when logged in to the service. Follow these `instructions <https://docs.brewersfriend.com/devices/ispindel>`_ You can find you API key when logged in to the service. Follow these `instructions <https://docs.brewersfriend.com/devices/ispindel>`_
@ -134,3 +155,43 @@ format for the endpoint. Just add you API key after token.
"battery": ${battery}, "battery": ${battery},
"rssi": ${rssi} "rssi": ${rssi}
} }
Brewspy
+++++++
BrewSpy is a service that can show the history and manage the brew.
You need to enter the Token found in brewspy. The field is found under the field for http configuration.
.. code-block::
http://brew-spy.com/api/ispindel
Thingspeak
++++++++++
Thingspeak is an IoT platform for receiving data which can be visualized.
In order to use this platform you need to create a channel (channel = device) and get the APIKEY for
writing to the channel. Each channel can handle up to 8 measurements. In the http field enter the following URL.
.. code-block::
http://api.thingspeak.com/update.json
You also need to create a custom format for the selected endpoint where the field1-field8 contains the data
you want to include. The example below sends 5 different values to the channel identified by the API key.
.. code-block::
{
"api_key": "<your write api key for channel>",
"field1": ${gravity},
"field2": ${temp},
"field3": ${angle},
"field4": ${battery},
"field5": ${rssi}
}

View File

@ -0,0 +1,48 @@
.. _troubleshooting:
Troubleshooting
###############
Log errors
++++++++++
* Not enough values for deriving formula
To create a formula its required to have at least 3 measurements.
* Error validating created formula. Deviation to large, formula rejected
The device will try to create formulas with different complexities. It will try to
validate the formula using the supplied values. If the differnce is more than 1.6 SG on any point
the formula will be rejected. Check the entered values if they seams to be resonable.
* No valid calibration values, please calibrate the device.
The gyro needs to be calibrated at 90 degress (flat). This is done on the configration page.
* Low on memory, skipping push
The arduino libraries sometimes leak memory, this only occurs when running in configuration mode. To avoid
crashes the device will skip pushing data if the memory drops to much. Network connections seams to be connected
to memory leaks.
* Unable to set header, invalid value
Check the format for your custom header. This means it has not a correct format.
* Influxdb push failed response
* Brewfather push failed response
* HTTP push failed response
All these errors are standard http error codes. This are the commone ones;
* 400 - Bad request. Probably an issue with the post format. Check format in the format editor.
* 401 - Unathorized. The service needs an token or other means to authenticate the device.
* 403 - Forbidden. Could be an issue with token or URL.
* 404 - Not found. Probably a wrong URL.
* MQTT push on <topic> failed error
* -3 - Network failed connected
* -10 - Connection denied

View File

@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '0.7.1', VERSION: '0.8.0',
LANGUAGE: 'None', LANGUAGE: 'None',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
BUILDER: 'html', BUILDER: 'html',

View File

@ -80,6 +80,7 @@
.highlight .vi { color: #000000 } /* Name.Variable.Instance */ .highlight .vi { color: #000000 } /* Name.Variable.Instance */
.highlight .vm { color: #000000 } /* Name.Variable.Magic */ .highlight .vm { color: #000000 } /* Name.Variable.Magic */
.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */ .highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */
@media not print {
body[data-theme="dark"] .highlight pre { line-height: 125%; } body[data-theme="dark"] .highlight pre { line-height: 125%; }
body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
@ -247,4 +248,5 @@ body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variabl
body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
body:not([data-theme="light"]) .highlight .il { color: #3677a9 } /* Literal.Number.Integer.Long */ body:not([data-theme="light"]) .highlight .il { color: #3677a9 } /* Literal.Number.Integer.Long */
}
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="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.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Advanced Configuration - GravityMon 0.7.1 documentation</title> <title>Advanced Configuration - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,9 +201,9 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="advanced-configuration"> <div class="section" id="advanced-configuration">
<h1>Advanced Configuration<a class="headerlink" href="#advanced-configuration" title="Permalink to this headline"></a></h1> <h1>Advanced Configuration<a class="headerlink" href="#advanced-configuration" title="Permalink to this headline">#</a></h1>
<div class="section" id="format-editor"> <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> <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> <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"> <div class="admonition warning">
<p class="admonition-title">Warning</p> <p class="admonition-title">Warning</p>
@ -213,7 +218,7 @@ The save button will save the current formla and reload the data from the device
</div> </div>
<p>These are the format keys available for use in the format.</p> <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"> <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> <caption><span class="caption-text">Directory structure</span><a class="headerlink" href="#id2" title="Permalink to this table">#</a></caption>
<colgroup> <colgroup>
<col style="width: 30%"/> <col style="width: 30%"/>
<col style="width: 50%"/> <col style="width: 50%"/>
@ -333,11 +338,21 @@ The save button will save the current formla and reload the data from the device
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Data Formats" href="data.html" /><link rel="prev" title="Advanced Configuration" href="advanced.html" /> <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="Data Formats" href="data.html" /><link rel="prev" title="Advanced Configuration" href="advanced.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>REST API - GravityMon 0.7.1 documentation</title> <title>REST API - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,10 +201,10 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="rest-api"> <div class="section" id="rest-api">
<span id="id1"></span><h1>REST API<a class="headerlink" href="#rest-api" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>REST API<a class="headerlink" href="#rest-api" title="Permalink to this headline">#</a></h1>
<p>All the APIs use a key called <code class="docutils literal notranslate"><span class="pre">ID</span></code> which is the unique device id (chip id). This is used as an API key when sending requests to the device.</p> <p>All the APIs use a key called <code class="docutils literal notranslate"><span class="pre">ID</span></code> which is the unique device id (chip id). This is used as an API key when sending requests to the device.</p>
<div class="section" id="get-api-config"> <div class="section" id="get-api-config">
<h2>GET: /api/config<a class="headerlink" href="#get-api-config" title="Permalink to this headline"></a></h2> <h2>GET: /api/config<a class="headerlink" href="#get-api-config" title="Permalink to this headline">#</a></h2>
<p>Retrive the current configuation of the device via an HTTP GET command. Payload is in JSON format.</p> <p>Retrive the current configuation of the device via an HTTP GET command. Payload is in JSON format.</p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">temp-format</span></code> can be either <code class="docutils literal notranslate"><span class="pre">C</span></code> or <code class="docutils literal notranslate"><span class="pre">F</span></code></p></li> <li><p><code class="docutils literal notranslate"><span class="pre">temp-format</span></code> can be either <code class="docutils literal notranslate"><span class="pre">C</span></code> or <code class="docutils literal notranslate"><span class="pre">F</span></code></p></li>
@ -212,6 +217,7 @@
<span class="w"> </span><span class="nt">"ota-url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://192.168.1.50:80/firmware/gravmon/"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"ota-url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://192.168.1.50:80/firmware/gravmon/"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"temp-format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"C"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"temp-format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"C"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"brewfather-push"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://log.brewfather.net/stream?id=Qwerty"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"brewfather-push"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://log.brewfather.net/stream?id=Qwerty"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"token"</span><span class="p">:</span><span class="w"> </span><span class="s2">"token"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"http-push"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://192.168.1.50:9090/api/v1/Qwerty/telemetry"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"http-push"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://192.168.1.50:9090/api/v1/Qwerty/telemetry"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"http-push-h1"</span><span class="p">:</span><span class="w"> </span><span class="s2">"header: value"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"http-push-h1"</span><span class="p">:</span><span class="w"> </span><span class="s2">"header: value"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"http-push-h2"</span><span class="p">:</span><span class="w"> </span><span class="s2">"header: value"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"http-push-h2"</span><span class="p">:</span><span class="w"> </span><span class="s2">"header: value"</span><span class="p">,</span><span class="w"></span>
@ -243,25 +249,27 @@
<span class="w"> </span><span class="p">},</span><span class="w"></span> <span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="nt">"angle"</span><span class="p">:</span><span class="w"> </span><span class="mf">90.93</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"angle"</span><span class="p">:</span><span class="w"> </span><span class="mf">90.93</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"gravity"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.105</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"gravity"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.105</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"battery"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.04</span><span class="w"></span> <span class="w"> </span><span class="nt">"battery"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.04</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"runtime-average"</span><span class="p">:</span><span class="w"> </span><span class="mf">3.12</span><span class="w"></span>
<span class="p">}</span><span class="w"></span> <span class="p">}</span><span class="w"></span>
</pre></div> </pre></div>
</div> </div>
</div> </div>
<div class="section" id="get-api-device"> <div class="section" id="get-api-device">
<h2>GET: /api/device<a class="headerlink" href="#get-api-device" title="Permalink to this headline"></a></h2> <h2>GET: /api/device<a class="headerlink" href="#get-api-device" title="Permalink to this headline">#</a></h2>
<p>Retrive the current device settings via an HTTP GET command. Payload is in JSON format.</p> <p>Retrive the current device settings via an HTTP GET command. Payload is in JSON format.</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span> <div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">"app-name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GravityMon"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"app-name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GravityMon"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"app-ver"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0.0"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"app-ver"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0.0"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ee1bfc"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ee1bfc"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"mdns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"gravmon"</span><span class="w"></span> <span class="w"> </span><span class="nt">"mdns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"gravmon"</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">"runtime-average"</span><span class="p">:</span><span class="w"> </span><span class="mf">3.12</span><span class="w"></span>
<span class="p">}</span><span class="w"></span> <span class="p">}</span><span class="w"></span>
</pre></div> </pre></div>
</div> </div>
</div> </div>
<div class="section" id="get-api-status"> <div class="section" id="get-api-status">
<h2>GET: /api/status<a class="headerlink" href="#get-api-status" title="Permalink to this headline"></a></h2> <h2>GET: /api/status<a class="headerlink" href="#get-api-status" title="Permalink to this headline">#</a></h2>
<p>Retrive the current device status via an HTTP GET command. Payload is in JSON format.</p> <p>Retrive the current device status via an HTTP GET command. Payload is in JSON format.</p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">temp-format</span></code> can be either <code class="docutils literal notranslate"><span class="pre">C</span></code> or <code class="docutils literal notranslate"><span class="pre">F</span></code></p></li> <li><p><code class="docutils literal notranslate"><span class="pre">temp-format</span></code> can be either <code class="docutils literal notranslate"><span class="pre">C</span></code> or <code class="docutils literal notranslate"><span class="pre">F</span></code></p></li>
@ -283,7 +291,7 @@
</div> </div>
</div> </div>
<div class="section" id="get-api-config-formula"> <div class="section" id="get-api-config-formula">
<h2>GET: /api/config/formula<a class="headerlink" href="#get-api-config-formula" title="Permalink to this headline"></a></h2> <h2>GET: /api/config/formula<a class="headerlink" href="#get-api-config-formula" title="Permalink to this headline">#</a></h2>
<p>Retrive the data used for formula calculation data via an HTTP GET command. Payload is in JSON format.</p> <p>Retrive the data used for formula calculation data via an HTTP GET command. Payload is in JSON format.</p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">a1</span></code>-<code class="docutils literal notranslate"><span class="pre">a4</span></code> are the angles/tilt readings (up to 5 are currently supported)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">a1</span></code>-<code class="docutils literal notranslate"><span class="pre">a4</span></code> are the angles/tilt readings (up to 5 are currently supported)</p></li>
@ -307,8 +315,16 @@
</pre></div> </pre></div>
</div> </div>
</div> </div>
<div class="section" id="get-api-factory">
<h2>GET: /api/factory<a class="headerlink" href="#get-api-factory" title="Permalink to this headline">#</a></h2>
<p>Will do a reset to factory defaults and delete all data except wifi settings.</p>
<p>For this to work you will need to supply the device id as a parameter in the request:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>http://mygravity.local/api/factory?id=&lt;mydeviceid&gt;
</pre></div>
</div>
</div>
<div class="section" id="post-api-config-device"> <div class="section" id="post-api-config-device">
<h2>POST: /api/config/device<a class="headerlink" href="#post-api-config-device" title="Permalink to this headline"></a></h2> <h2>POST: /api/config/device<a class="headerlink" href="#post-api-config-device" title="Permalink to this headline">#</a></h2>
<p>Used to update device settings via an HTTP POST command.</p> <p>Used to update device settings via an HTTP POST command.</p>
<p>Payload should be in standard format used for posting a form. Such as as: <cite>id=value&amp;mdns=value</cite> etc. Key value pairs are shown below.</p> <p>Payload should be in standard format used for posting a form. Such as as: <cite>id=value&amp;mdns=value</cite> etc. Key value pairs are shown below.</p>
<ul class="simple"> <ul class="simple">
@ -322,7 +338,7 @@
</div> </div>
</div> </div>
<div class="section" id="post-api-config-push"> <div class="section" id="post-api-config-push">
<h2>POST: /api/config/push<a class="headerlink" href="#post-api-config-push" title="Permalink to this headline"></a></h2> <h2>POST: /api/config/push<a class="headerlink" href="#post-api-config-push" title="Permalink to this headline">#</a></h2>
<p>Used to update push settings via an HTTP POST command. Payload is in JSON format.</p> <p>Used to update push settings via an HTTP POST command. Payload is in JSON format.</p>
<p>Payload should be in standard format used for posting a form. Such as as: <cite>id=value&amp;mdns=value</cite> etc. Key value pairs are shown below.</p> <p>Payload should be in standard format used for posting a form. Such as as: <cite>id=value&amp;mdns=value</cite> etc. Key value pairs are shown below.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">id</span><span class="o">=</span><span class="n">ee1bfc</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">id</span><span class="o">=</span><span class="n">ee1bfc</span>
@ -345,7 +361,7 @@
</div> </div>
</div> </div>
<div class="section" id="post-api-config-gravity"> <div class="section" id="post-api-config-gravity">
<h2>POST: /api/config/gravity<a class="headerlink" href="#post-api-config-gravity" title="Permalink to this headline"></a></h2> <h2>POST: /api/config/gravity<a class="headerlink" href="#post-api-config-gravity" title="Permalink to this headline">#</a></h2>
<p>Used to update gravity settings via an HTTP POST command. Payload is in JSON format.</p> <p>Used to update gravity settings via an HTTP POST command. Payload is in JSON format.</p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">gravity-formula</span></code> keywords <code class="docutils literal notranslate"><span class="pre">temp</span></code> and <code class="docutils literal notranslate"><span class="pre">tilt</span></code> are supported.</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">gravity-formula</span></code> keywords <code class="docutils literal notranslate"><span class="pre">temp</span></code> and <code class="docutils literal notranslate"><span class="pre">tilt</span></code> are supported.</p></li>
@ -365,7 +381,7 @@ from a checkbox, when reading data its sent as boolean (true,false).</p>
</div> </div>
</div> </div>
<div class="section" id="post-api-config-hardware"> <div class="section" id="post-api-config-hardware">
<h2>POST: /api/config/hardware<a class="headerlink" href="#post-api-config-hardware" title="Permalink to this headline"></a></h2> <h2>POST: /api/config/hardware<a class="headerlink" href="#post-api-config-hardware" title="Permalink to this headline">#</a></h2>
<p>Used to update hardware settings via an HTTP POST command. Payload is in JSON format.</p> <p>Used to update hardware settings via an HTTP POST command. Payload is in JSON format.</p>
<div class="admonition note"> <div class="admonition note">
<p class="admonition-title">Note</p> <p class="admonition-title">Note</p>
@ -382,7 +398,7 @@ reading data its sent as boolean (true,false).</p>
</div> </div>
</div> </div>
<div class="section" id="post-api-config-formula"> <div class="section" id="post-api-config-formula">
<h2>POST: /api/config/formula<a class="headerlink" href="#post-api-config-formula" title="Permalink to this headline"></a></h2> <h2>POST: /api/config/formula<a class="headerlink" href="#post-api-config-formula" title="Permalink to this headline">#</a></h2>
<p>Used to update formula calculation data via an HTTP POST command. Payload is in JSON format.</p> <p>Used to update formula calculation data via an HTTP POST command. Payload is in JSON format.</p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">a1</span></code>-<code class="docutils literal notranslate"><span class="pre">a4</span></code> are the angles/tilt readings (up to 5 are currently supported)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">a1</span></code>-<code class="docutils literal notranslate"><span class="pre">a4</span></code> are the angles/tilt readings (up to 5 are currently supported)</p></li>
@ -404,7 +420,7 @@ reading data its sent as boolean (true,false).</p>
</div> </div>
</div> </div>
<div class="section" id="calling-the-api-s-from-python"> <div class="section" id="calling-the-api-s-from-python">
<h2>Calling the APIs from Python<a class="headerlink" href="#calling-the-api-s-from-python" title="Permalink to this headline"></a></h2> <h2>Calling the APIs from Python<a class="headerlink" href="#calling-the-api-s-from-python" title="Permalink to this headline">#</a></h2>
<p>Here is some example code for how to access the APIs from a python script. Keys should always be <p>Here is some example code for how to access the APIs from a python script. Keys should always be
present or the API call will fail.</p> present or the API call will fail.</p>
<p>The requests package converts the json to standard form post format.</p> <p>The requests package converts the json to standard form post format.</p>
@ -433,6 +449,7 @@ present or the API call will fail.</p>
<span class="n">url</span> <span class="o">=</span> <span class="s2">"http://"</span> <span class="o">+</span> <span class="n">host</span> <span class="o">+</span> <span class="s2">"/api/config/push"</span> <span class="n">url</span> <span class="o">=</span> <span class="s2">"http://"</span> <span class="o">+</span> <span class="n">host</span> <span class="o">+</span> <span class="s2">"/api/config/push"</span>
<span class="n">json</span> <span class="o">=</span> <span class="p">{</span> <span class="s2">"id"</span><span class="p">:</span> <span class="nb">id</span><span class="p">,</span> <span class="n">json</span> <span class="o">=</span> <span class="p">{</span> <span class="s2">"id"</span><span class="p">:</span> <span class="nb">id</span><span class="p">,</span>
<span class="s2">"token"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
<span class="s2">"http-push"</span><span class="p">:</span> <span class="s2">"http://192.168.1.1/ispindel"</span><span class="p">,</span> <span class="s2">"http-push"</span><span class="p">:</span> <span class="s2">"http://192.168.1.1/ispindel"</span><span class="p">,</span>
<span class="s2">"http-push2"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span> <span class="s2">"http-push2"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
<span class="s2">"http-push-h1"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span> <span class="s2">"http-push-h1"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
@ -513,11 +530,21 @@ present or the API call will fail.</p>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>
@ -539,6 +566,7 @@ present or the API call will fail.</p>
<li><a class="reference internal" href="#get-api-device">GET: /api/device</a></li> <li><a class="reference internal" href="#get-api-device">GET: /api/device</a></li>
<li><a class="reference internal" href="#get-api-status">GET: /api/status</a></li> <li><a class="reference internal" href="#get-api-status">GET: /api/status</a></li>
<li><a class="reference internal" href="#get-api-config-formula">GET: /api/config/formula</a></li> <li><a class="reference internal" href="#get-api-config-formula">GET: /api/config/formula</a></li>
<li><a class="reference internal" href="#get-api-factory">GET: /api/factory</a></li>
<li><a class="reference internal" href="#post-api-config-device">POST: /api/config/device</a></li> <li><a class="reference internal" href="#post-api-config-device">POST: /api/config/device</a></li>
<li><a class="reference internal" href="#post-api-config-push">POST: /api/config/push</a></li> <li><a class="reference internal" href="#post-api-config-push">POST: /api/config/push</a></li>
<li><a class="reference internal" href="#post-api-config-gravity">POST: /api/config/gravity</a></li> <li><a class="reference internal" href="#post-api-config-gravity">POST: /api/config/gravity</a></li>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Contributing" href="contributing.html" /><link rel="prev" title="Data Formats" href="data.html" /> <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="Contributing" href="contributing.html" /><link rel="prev" title="Data Formats" href="data.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Compiling the software - GravityMon 0.7.1 documentation</title> <title>Compiling the software - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</a></li> <li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Compiling the software</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,9 +201,9 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="compiling-the-software"> <div class="section" id="compiling-the-software">
<span id="id1"></span><h1>Compiling the software<a class="headerlink" href="#compiling-the-software" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>Compiling the software<a class="headerlink" href="#compiling-the-software" title="Permalink to this headline">#</a></h1>
<div class="section" id="tools"> <div class="section" id="tools">
<h2>Tools<a class="headerlink" href="#tools" title="Permalink to this headline"></a></h2> <h2>Tools<a class="headerlink" href="#tools" title="Permalink to this headline">#</a></h2>
<p>I use the following tools in order to build and manage the software:</p> <p>I use the following tools in order to build and manage the software:</p>
<ul class="simple"> <ul class="simple">
<li><p>Visual Studio Code</p></li> <li><p>Visual Studio Code</p></li>
@ -208,7 +213,7 @@
</ul> </ul>
</div> </div>
<div class="section" id="code-formatting"> <div class="section" id="code-formatting">
<h2>Code Formatting<a class="headerlink" href="#code-formatting" title="Permalink to this headline"></a></h2> <h2>Code Formatting<a class="headerlink" href="#code-formatting" title="Permalink to this headline">#</a></h2>
<p>I use pre-commit and their cpp style checks to validate the code. Plugin defintions are found in <strong>.pre-commit-config.yaml</strong></p> <p>I use pre-commit and their cpp style checks to validate the code. Plugin defintions are found in <strong>.pre-commit-config.yaml</strong></p>
<p><a class="reference external" href="https://www.pre-commit.com">Pre-Commit</a></p> <p><a class="reference external" href="https://www.pre-commit.com">Pre-Commit</a></p>
<div class="admonition note"> <div class="admonition note">
@ -217,7 +222,7 @@
</div> </div>
</div> </div>
<div class="section" id="targets"> <div class="section" id="targets">
<h2>Targets<a class="headerlink" href="#targets" title="Permalink to this headline"></a></h2> <h2>Targets<a class="headerlink" href="#targets" title="Permalink to this headline">#</a></h2>
<p>In the platformio config there are 3 targets defined</p> <p>In the platformio config there are 3 targets defined</p>
<ul class="simple"> <ul class="simple">
<li><p>gravity-debug; Maximum logging for trouble shooting, deep sleep is disabled.</p></li> <li><p>gravity-debug; Maximum logging for trouble shooting, deep sleep is disabled.</p></li>
@ -238,9 +243,9 @@ So only enable enough debugging to troubleshoot your changes.</p>
</div> </div>
</div> </div>
<div class="section" id="source-structure"> <div class="section" id="source-structure">
<h2>Source structure<a class="headerlink" href="#source-structure" title="Permalink to this headline"></a></h2> <h2>Source structure<a class="headerlink" href="#source-structure" title="Permalink to this headline">#</a></h2>
<div class="table-wrapper"><table class="colwidths-given docutils align-default" id="id2"> <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> <caption><span class="caption-text">Directory structure</span><a class="headerlink" href="#id2" title="Permalink to this table">#</a></caption>
<colgroup> <colgroup>
<col style="width: 40%"/> <col style="width: 40%"/>
<col style="width: 60%"/> <col style="width: 60%"/>
@ -288,10 +293,10 @@ So only enable enough debugging to troubleshoot your changes.</p>
</table></div> </table></div>
</div> </div>
<div class="section" id="options"> <div class="section" id="options">
<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline"></a></h2> <h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">#</a></h2>
<p>This is a list of C++ defines that is used to enable/disable functions in the code.</p> <p>This is a list of C++ defines that is used to enable/disable functions in the code.</p>
<div class="table-wrapper"><table class="colwidths-given docutils align-default" id="id3"> <div class="table-wrapper"><table class="colwidths-given docutils align-default" id="id3">
<caption><span class="caption-text">Defines</span><a class="headerlink" href="#id3" title="Permalink to this table"></a></caption> <caption><span class="caption-text">Defines</span><a class="headerlink" href="#id3" title="Permalink to this table">#</a></caption>
<colgroup> <colgroup>
<col style="width: 40%"/> <col style="width: 40%"/>
<col style="width: 60%"/> <col style="width: 60%"/>
@ -357,11 +362,21 @@ So only enable enough debugging to troubleshoot your changes.</p>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Create formula" href="formula.html" /><link rel="prev" title="Releases" href="releases.html" /> <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="Create formula" href="formula.html" /><link rel="prev" title="Releases" href="releases.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Configuration - GravityMon 0.7.1 documentation</title> <title>Configuration - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,7 +201,7 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="configuration"> <div class="section" id="configuration">
<span id="setting-up-device"></span><h1>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline"></a></h1> <span id="setting-up-device"></span><h1>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">#</a></h1>
<p>The device can operate in two modes and must be in <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code> in order for the web server to be active.</p> <p>The device can operate in two modes and must be in <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code> in order for the web server to be active.</p>
<p>One of the following conditions will place the device in <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code>:</p> <p>One of the following conditions will place the device in <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code>:</p>
<ul class="simple"> <ul class="simple">
@ -206,7 +211,7 @@
<li><p>Charger connected &gt;4.15V</p></li> <li><p>Charger connected &gt;4.15V</p></li>
</ul> </ul>
<div class="section" id="status"> <div class="section" id="status">
<h2>Status<a class="headerlink" href="#status" title="Permalink to this headline"></a></h2> <h2>Status<a class="headerlink" href="#status" title="Permalink to this headline">#</a></h2>
<p>URL: (<a class="reference external" href="http://gravmon.local">http://gravmon.local</a>)</p> <p>URL: (<a class="reference external" href="http://gravmon.local">http://gravmon.local</a>)</p>
<a class="reference internal image-reference" href="_images/index.png"><img alt="Index page" src="_images/index.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/index.png"><img alt="Index page" src="_images/index.png" style="width: 800px;"/></a>
<p>Configuration is accessed by entering the URL for the device, this will be the mDNS name <em>device.local</em> or the IP adress. The following chapter assumes the device name is <em>gravmon</em>.</p> <p>Configuration is accessed by entering the URL for the device, this will be the mDNS name <em>device.local</em> or the IP adress. The following chapter assumes the device name is <em>gravmon</em>.</p>
@ -218,9 +223,14 @@ you are collecting angle/tilt for calibration. If this is unchecked the device w
</div> </div>
</div> </div>
<div class="section" id="device"> <div class="section" id="device">
<h2>Device<a class="headerlink" href="#device" title="Permalink to this headline"></a></h2> <h2>Device<a class="headerlink" href="#device" title="Permalink to this headline">#</a></h2>
<p>URL: (<a class="reference external" href="http://gravmon.local/device">http://gravmon.local/device</a>)</p> <p>URL: (<a class="reference external" href="http://gravmon.local/device">http://gravmon.local/device</a>)</p>
<a class="reference internal image-reference" href="_images/device.png"><img alt="Device Settings" src="_images/device.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/device.png"><img alt="Device Settings" src="_images/device.png" style="width: 800px;"/></a>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>The button <cite>view error log</cite> will show the last 15 errors on the device. This can be useful for checking errors without
the need to connect to the serial port or to check what errors has occured while in <cite>gravity mode</cite>.</p>
</div>
<ul> <ul>
<li><p><strong>Version:</strong></p> <li><p><strong>Version:</strong></p>
<blockquote> <blockquote>
@ -238,13 +248,20 @@ you are collecting angle/tilt for calibration. If this is unchecked the device w
against faulty requests. This is the ESP8266 chip ID, so it should be unique.</p> against faulty requests. This is the ESP8266 chip ID, so it should be unique.</p>
</div></blockquote> </div></blockquote>
</li> </li>
<li><p><strong>Average runtime:</strong></p>
<blockquote>
<div><p>This shows the average time a gravity measurement takes. Under optimal setting this should be
around 1.5 - 2.0 seconds. If this is higher than 2 seconds this is most likley connected to slow wifi
connection. It will show 0 if data has not been collected yet.</p>
</div></blockquote>
</li>
</ul> </ul>
</div> </div>
<div class="section" id="id1"> <div class="section" id="id1">
<h2>Configuration<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h2> <h2>Configuration<a class="headerlink" href="#id1" title="Permalink to this headline">#</a></h2>
<p>URL: (<a class="reference external" href="http://gravmon.local/config">http://gravmon.local/config</a>)</p> <p>URL: (<a class="reference external" href="http://gravmon.local/config">http://gravmon.local/config</a>)</p>
<div class="section" id="device-setting"> <div class="section" id="device-setting">
<h3>Device Setting<a class="headerlink" href="#device-setting" title="Permalink to this headline"></a></h3> <h3>Device Setting<a class="headerlink" href="#device-setting" title="Permalink to this headline">#</a></h3>
<a class="reference internal image-reference" href="_images/config1.png"><img alt="Device Settings" src="_images/config1.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/config1.png"><img alt="Device Settings" src="_images/config1.png" style="width: 800px;"/></a>
<ul> <ul>
<li><p><strong>Device name:</strong></p> <li><p><strong>Device name:</strong></p>
@ -283,7 +300,7 @@ there is good wifi connection that takes less than 1s to reconnect. Poor wifi co
</div> </div>
</div> </div>
<div class="section" id="push-settings"> <div class="section" id="push-settings">
<h3>Push Settings<a class="headerlink" href="#push-settings" title="Permalink to this headline"></a></h3> <h3>Push Settings<a class="headerlink" href="#push-settings" title="Permalink to this headline">#</a></h3>
<a class="reference internal image-reference" href="_images/config2.png"><img alt="Push Settings" src="_images/config2.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/config2.png"><img alt="Push Settings" src="_images/config2.png" style="width: 800px;"/></a>
<div class="admonition note"> <div class="admonition note">
<p class="admonition-title">Note</p> <p class="admonition-title">Note</p>
@ -303,6 +320,12 @@ battery life, so the decision is to prioritize battery life over security. The d
<p>If you add the prefix <cite>https://</cite> then the device will use SSL when sending data.</p> <p>If you add the prefix <cite>https://</cite> then the device will use SSL when sending data.</p>
</div></blockquote> </div></blockquote>
</li> </li>
<li><p><strong>Token:</strong></p>
<blockquote>
<div><p>The token is included in the iSpindle JSON format and will be used for both HTTP targets. If you
need to have 2 different tokens please use the <a class="reference internal" href="advanced.html#format-editor"><span class="std std-ref">Format editor</span></a> to customize the data format.</p>
</div></blockquote>
</li>
<li><p><strong>Brewfather URL:</strong></p> <li><p><strong>Brewfather URL:</strong></p>
<blockquote> <blockquote>
<div><p>Endpoint to send data via http to brewfather. Format used <a class="reference internal" href="data.html#data-formats-brewfather"><span class="std std-ref">Brewfather format</span></a></p> <div><p>Endpoint to send data via http to brewfather. Format used <a class="reference internal" href="data.html#data-formats-brewfather"><span class="std std-ref">Brewfather format</span></a></p>
@ -350,10 +373,25 @@ battery life, so the decision is to prioritize battery life over security. The d
<div><p>Password or blank if anonymous is accepted</p> <div><p>Password or blank if anonymous is accepted</p>
</div></blockquote> </div></blockquote>
</li> </li>
<li><p><strong>HTTP Headers</strong></p>
<blockquote>
<div><a class="reference internal image-reference" href="_images/config-popup1.png"><img alt="HTTP Headers" src="_images/config-popup1.png" style="width: 300px;"/></a>
<p>You can define 2 http headers per push target. This is available via a pop-up window but dont forget
to press the save buttons on the post section to save the values. One common header is content type which is the
default setting for http targets.</p>
<p>The input must have the format <strong>&lt;header&gt;: &lt;value&gt;</strong> for it to work. The UI will accept any value so errors
will not show until the device tries to push data.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Content</span><span class="o">-</span><span class="n">Type</span><span class="p">:</span> <span class="n">application</span><span class="o">/</span><span class="n">json</span>
<span class="n">X</span><span class="o">-</span><span class="n">Auth</span><span class="o">-</span><span class="n">Token</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">api</span><span class="o">-</span><span class="n">token</span><span class="o">&gt;</span>
</pre></div>
</div>
<p>Mozilla has a good guide on what headers are valid; <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers">HTTP Headers</a></p>
</div></blockquote>
</li>
</ul> </ul>
</div> </div>
<div class="section" id="gravity-settings"> <div class="section" id="gravity-settings">
<h3>Gravity Settings<a class="headerlink" href="#gravity-settings" title="Permalink to this headline"></a></h3> <h3>Gravity Settings<a class="headerlink" href="#gravity-settings" title="Permalink to this headline">#</a></h3>
<a class="reference internal image-reference" href="_images/config3.png"><img alt="Gravity Settings" src="_images/config3.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/config3.png"><img alt="Gravity Settings" src="_images/config3.png" style="width: 800px;"/></a>
<ul> <ul>
<li><p><strong>Gravity format:</strong></p> <li><p><strong>Gravity format:</strong></p>
@ -387,7 +425,7 @@ build this into the gravity formula.</p>
</div> </div>
</div> </div>
<div class="section" id="hardware-settings"> <div class="section" id="hardware-settings">
<h3>Hardware Settings<a class="headerlink" href="#hardware-settings" title="Permalink to this headline"></a></h3> <h3>Hardware Settings<a class="headerlink" href="#hardware-settings" title="Permalink to this headline">#</a></h3>
<a class="reference internal image-reference" href="_images/config4.png"><img alt="Hardware Settings" src="_images/config4.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/config4.png"><img alt="Hardware Settings" src="_images/config4.png" style="width: 800px;"/></a>
<ul> <ul>
<li><p><strong>Voltage factor:</strong></p> <li><p><strong>Voltage factor:</strong></p>
@ -420,6 +458,7 @@ code the update will be done during startup.</p>
</li> </li>
</ul> </ul>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="mf">192.168.1.1</span><span class="o">/</span><span class="n">firmware</span><span class="o">/</span><span class="n">gravmon</span><span class="o">/</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="mf">192.168.1.1</span><span class="o">/</span><span class="n">firmware</span><span class="o">/</span><span class="n">gravmon</span><span class="o">/</span>
<span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="mf">192.168.1.1</span><span class="o">/</span><span class="n">firmware</span><span class="o">/</span><span class="n">gravmon</span><span class="o">/</span>
</pre></div> </pre></div>
</div> </div>
</div> </div>
@ -452,11 +491,21 @@ code the update will be done during startup.</p>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -2,13 +2,13 @@
<html class="no-js"> <html class="no-js">
<head><meta charset="utf-8"/> <head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Q &amp; A" href="q_and_a.html" /><link rel="prev" title="Compiling the software" href="compiling.html" /> <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="Troubleshooting" href="troubleshooting.html" /><link rel="prev" title="Compiling the software" href="compiling.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Contributing - GravityMon 0.7.1 documentation</title> <title>Contributing - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="compiling.html">Compiling the software</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Contributing</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,7 +201,7 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="contributing"> <div class="section" id="contributing">
<h1>Contributing<a class="headerlink" href="#contributing" title="Permalink to this headline"></a></h1> <h1>Contributing<a class="headerlink" href="#contributing" title="Permalink to this headline">#</a></h1>
<p>This section is under construction.</p> <p>This section is under construction.</p>
</div> </div>
@ -205,12 +210,12 @@
<footer> <footer>
<div class="related-pages"> <div class="related-pages">
<a class="next-page" href="q_and_a.html"> <a class="next-page" href="troubleshooting.html">
<div class="page-info"> <div class="page-info">
<div class="context"> <div class="context">
<span>Next</span> <span>Next</span>
</div> </div>
<div class="title">Q &amp; A</div> <div class="title">Troubleshooting</div>
</div> </div>
<svg><use href="#svg-arrow-right"></use></svg> <svg><use href="#svg-arrow-right"></use></svg>
</a> </a>
@ -226,11 +231,21 @@
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Compiling the software" href="compiling.html" /><link rel="prev" title="REST API" href="api.html" /> <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="Compiling the software" href="compiling.html" /><link rel="prev" title="REST API" href="api.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Data Formats - GravityMon 0.7.1 documentation</title> <title>Data Formats - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Data Formats</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,9 +201,9 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="data-formats"> <div class="section" id="data-formats">
<span id="id1"></span><h1>Data Formats<a class="headerlink" href="#data-formats" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>Data Formats<a class="headerlink" href="#data-formats" title="Permalink to this headline">#</a></h1>
<div class="section" id="ispindle-format"> <div class="section" id="ispindle-format">
<span id="data-formats-ispindle"></span><h2>iSpindle format<a class="headerlink" href="#ispindle-format" title="Permalink to this headline"></a></h2> <span id="data-formats-ispindle"></span><h2>iSpindle format<a class="headerlink" href="#ispindle-format" title="Permalink to this headline">#</a></h2>
<p>This is the format used for standard http posts.</p> <p>This is the format used for standard http posts.</p>
<ul class="simple"> <ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">corr-gravity</span></code> is an extended parameter containing a temperature corrected gravity reading.</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">corr-gravity</span></code> is an extended parameter containing a temperature corrected gravity reading.</p></li>
@ -243,7 +248,7 @@
</div> </div>
</div> </div>
<div class="section" id="brewfather-format"> <div class="section" id="brewfather-format">
<span id="data-formats-brewfather"></span><h2>Brewfather format<a class="headerlink" href="#brewfather-format" title="Permalink to this headline"></a></h2> <span id="data-formats-brewfather"></span><h2>Brewfather format<a class="headerlink" href="#brewfather-format" title="Permalink to this headline">#</a></h2>
<p>This is the format for Brewfather. See: <a class="reference external" href="https://docs.brewfather.app/integrations/custom-stream">Brewfather API docs</a></p> <p>This is the format for Brewfather. See: <a class="reference external" href="https://docs.brewfather.app/integrations/custom-stream">Brewfather API docs</a></p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span> <div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="nt">"name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"gravmon"</span><span class="p">,</span><span class="w"></span> <span class="w"> </span><span class="nt">"name"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"gravmon"</span><span class="p">,</span><span class="w"></span>
@ -257,7 +262,7 @@
</div> </div>
</div> </div>
<div class="section" id="influx-db-v2"> <div class="section" id="influx-db-v2">
<span id="data-formats-influxdb2"></span><h2>Influx DB v2<a class="headerlink" href="#influx-db-v2" title="Permalink to this headline"></a></h2> <span id="data-formats-influxdb2"></span><h2>Influx DB v2<a class="headerlink" href="#influx-db-v2" title="Permalink to this headline">#</a></h2>
<p>This is the format for InfluxDB v2</p> <p>This is the format for InfluxDB v2</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">measurement</span><span class="p">,</span><span class="n">host</span><span class="o">=&lt;</span><span class="n">mdns</span><span class="o">&gt;</span><span class="p">,</span><span class="n">device</span><span class="o">=&lt;</span><span class="nb">id</span><span class="o">&gt;</span><span class="p">,</span><span class="n">temp</span><span class="o">-</span><span class="nb">format</span><span class="o">=&lt;</span><span class="n">C</span><span class="o">|</span><span class="n">F</span><span class="o">&gt;</span><span class="p">,</span><span class="n">gravity</span><span class="o">-</span><span class="nb">format</span><span class="o">=</span><span class="n">SG</span><span class="p">,</span><span class="n">gravity</span><span class="o">=</span><span class="mf">1.0004</span><span class="p">,</span><span class="n">corr</span><span class="o">-</span><span class="n">gravity</span><span class="o">=</span><span class="mf">1.0004</span><span class="p">,</span><span class="n">angle</span><span class="o">=</span><span class="mf">45.45</span><span class="p">,</span><span class="n">temp</span><span class="o">=</span><span class="mf">20.1</span><span class="p">,</span><span class="n">battery</span><span class="o">=</span><span class="mf">3.96</span><span class="p">,</span><span class="n">rssi</span><span class="o">=-</span><span class="mi">18</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">measurement</span><span class="p">,</span><span class="n">host</span><span class="o">=&lt;</span><span class="n">mdns</span><span class="o">&gt;</span><span class="p">,</span><span class="n">device</span><span class="o">=&lt;</span><span class="nb">id</span><span class="o">&gt;</span><span class="p">,</span><span class="n">temp</span><span class="o">-</span><span class="nb">format</span><span class="o">=&lt;</span><span class="n">C</span><span class="o">|</span><span class="n">F</span><span class="o">&gt;</span><span class="p">,</span><span class="n">gravity</span><span class="o">-</span><span class="nb">format</span><span class="o">=</span><span class="n">SG</span><span class="p">,</span><span class="n">gravity</span><span class="o">=</span><span class="mf">1.0004</span><span class="p">,</span><span class="n">corr</span><span class="o">-</span><span class="n">gravity</span><span class="o">=</span><span class="mf">1.0004</span><span class="p">,</span><span class="n">angle</span><span class="o">=</span><span class="mf">45.45</span><span class="p">,</span><span class="n">temp</span><span class="o">=</span><span class="mf">20.1</span><span class="p">,</span><span class="n">battery</span><span class="o">=</span><span class="mf">3.96</span><span class="p">,</span><span class="n">rssi</span><span class="o">=-</span><span class="mi">18</span>
</pre></div> </pre></div>
@ -268,7 +273,7 @@
</div> </div>
</div> </div>
<div class="section" id="mqtt"> <div class="section" id="mqtt">
<span id="data-formats-mqtt"></span><h2>MQTT<a class="headerlink" href="#mqtt" title="Permalink to this headline"></a></h2> <span id="data-formats-mqtt"></span><h2>MQTT<a class="headerlink" href="#mqtt" title="Permalink to this headline">#</a></h2>
<p>This is the format used to send data to MQTT. Each of the lines are specific topics</p> <p>This is the format used to send data to MQTT. Each of the lines are specific topics</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">ispindel</span><span class="o">/</span><span class="n">device_name</span><span class="o">/</span><span class="n">tilt</span> <span class="mf">89.96796</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">ispindel</span><span class="o">/</span><span class="n">device_name</span><span class="o">/</span><span class="n">tilt</span> <span class="mf">89.96796</span>
<span class="n">ispindel</span><span class="o">/</span><span class="n">device_name</span><span class="o">/</span><span class="n">temperature</span> <span class="mf">21.375</span> <span class="n">ispindel</span><span class="o">/</span><span class="n">device_name</span><span class="o">/</span><span class="n">temperature</span> <span class="mf">21.375</span>
@ -299,7 +304,7 @@ ispindel/${mdns}/RSSI:${rssi}|
</div> </div>
</div> </div>
<div class="section" id="version-json"> <div class="section" id="version-json">
<h2>version.json<a class="headerlink" href="#version-json" title="Permalink to this headline"></a></h2> <h2>version.json<a class="headerlink" href="#version-json" title="Permalink to this headline">#</a></h2>
<p>Contents version.json. The version is used by the device to check if the this version is newer. The html files will also be downloaded if the are present on the server. This way its easy to <p>Contents version.json. The version is used by the device to check if the this version is newer. The html files will also be downloaded if the are present on the server. This way its easy to
upgrade to a version that serve the html files from the file system. If they dont exist nothing will happen, the OTA flashing will still work. If the html files are missing from the file system upgrade to a version that serve the html files from the file system. If they dont exist nothing will happen, the OTA flashing will still work. If the html files are missing from the file system
they can be uploaded manually afterwards.</p> they can be uploaded manually afterwards.</p>
@ -346,11 +351,21 @@ they can be uploaded manually afterwards.</p>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Service Integration" href="services.html" /><link rel="prev" title="Configuration" href="configuration.html" /> <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="Service Integration" href="services.html" /><link rel="prev" title="Configuration" href="configuration.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Create formula - GravityMon 0.7.1 documentation</title> <title>Create formula - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,7 +201,7 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="create-formula"> <div class="section" id="create-formula">
<span id="id1"></span><h1>Create formula<a class="headerlink" href="#create-formula" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>Create formula<a class="headerlink" href="#create-formula" title="Permalink to this headline">#</a></h1>
<a class="reference internal image-reference" href="_images/formula1.png"><img alt="Formula data" src="_images/formula1.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/formula1.png"><img alt="Formula data" src="_images/formula1.png" style="width: 800px;"/></a>
<p>Here you can enter up to 5 values (angles + gravity) that is then used to create the formula. Angles equal to zero will be regarded as empty even if there is a gravity reading.</p> <p>Here you can enter up to 5 values (angles + gravity) that is then used to create the formula. Angles equal to zero will be regarded as empty even if there is a gravity reading.</p>
<a class="reference internal image-reference" href="_images/formula2.png"><img alt="Formula graph" src="_images/formula2.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/formula2.png"><img alt="Formula graph" src="_images/formula2.png" style="width: 800px;"/></a>
@ -229,11 +234,21 @@
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Getting started" href="intro.html" /><link rel="prev" title="Licence" href="license.html" /> <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="Getting started" href="intro.html" /><link rel="prev" title="Licence" href="license.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Functionallity - GravityMon 0.7.1 documentation</title> <title>Functionallity - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,72 +201,87 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="functionallity"> <div class="section" id="functionallity">
<span id="id1"></span><h1>Functionallity<a class="headerlink" href="#functionallity" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>Functionallity<a class="headerlink" href="#functionallity" title="Permalink to this headline">#</a></h1>
<div class="section" id="the-main-features"> <div class="section" id="the-main-features">
<h2>The main features<a class="headerlink" href="#the-main-features" title="Permalink to this headline"></a></h2> <h2>The main features<a class="headerlink" href="#the-main-features" title="Permalink to this headline">#</a></h2>
<ul> <ul>
<li><p><strong>Operates in two modes gravity monitoring and configuration mode</strong></p> <li><p><strong>Operates in two modes gravity monitoring and configuration mode</strong></p>
<p>In <code class="docutils literal notranslate"><span class="pre">gravity</span> <span class="pre">monitoring</span></code> mode it behaves just like the iSpindle, it wakes up at regular intervals, measures <p>In <code class="docutils literal notranslate"><span class="pre">gravity</span> <span class="pre">monitoring</span></code> mode it behaves just like the iSpindle, it wakes up at regular intervals, measures
angle/tile, temperature, calculates gravity and pushes the data to defined endpoints.</p> angle/tile, temperature, calculates gravity and pushes the data to defined endpoints.</p>
<p>In <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code> the device is always active and the webserver is active. Here you can view the <p>In <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code> the device is always active and the webserver is active. Here you can view the
angle/tilt values, change configuration options and more. When in this mode you can also interact with the device angle/tilt values, change configuration, update the gravity formula. When in this mode you can also interact
via an REST API so data can be pushed to the device via scripts (see API section for more information).</p> with the device via an REST API so data can be pushed to the device via scripts (see API section for more information).</p>
<a class="reference internal image-reference" href="_images/index.png"><img alt="UI example" src="_images/index.png" style="width: 700px;"/></a>
<p>You can force the device into <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code> while measuring gravity. This is useful when calibrating <p>You can force the device into <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code> while measuring gravity. This is useful when calibrating
the device so you dont needs to wait for the device to wake up and push the data. The entire calibration the device so you dont needs to wait for the device to wake up and push the data. The entire calibration
sequence can be handled via the web interface without need for additional software tools.</p> sequence can be handled via the web interface without need for additional software tools.</p>
<p>See the <a class="reference internal" href="configuration.html#setting-up-device"><span class="std std-ref">Configuration</span></a> section for more information on how to trigger the configuration mode.</p> <p>See the <a class="reference internal" href="configuration.html#setting-up-device"><span class="std std-ref">Configuration</span></a> section for more information on how to trigger the configuration mode.</p>
</li> </li>
<li><p><strong>Can send data to multiple endpoints at once</strong></p> <li><p><strong>Can send data to multiple endpoints</strong></p>
<p>The original iSpindle can only have one destination, this software will push data to all defined endpoints so <p>The original iSpindle can only have one destination, this software will push data to all defined endpoints so
in theory you can use them all. However this will consume more battery power so use only as many as needed.</p> in theory you can use them all. However this will consume more battery power so use only as many as needed. Its much
<p>Currently the device supports the following endpoints: http (2 different), influxdb2, Brewfather and MQTT.</p> more efficient to have the endpoints on your local network than on the internet.</p>
<p>If you want additional targets please raise a feature request in the github repo.</p> <p>Currently the device supports the following endpoints.</p>
<ul class="simple">
<li><p>http or https</p></li>
<li><p>influxdb v2</p></li>
<li><p>Brewfather</p></li>
<li><p>MQTT</p></li>
<li><p>Home Assistant</p></li>
<li><p>Brew Spy</p></li>
<li><p>Brewers Friend</p></li>
<li><p>Fermentrack</p></li>
<li><p>Ubidots</p></li>
<li><p>Thingsspeak</p></li>
</ul>
<p>Under the <a class="reference internal" href="services.html#services"><span class="std std-ref">Service Integration</span></a> section you can find guides for how to connect GravityMon to these services. For a
description of what data is transmitted you can see <a class="reference internal" href="data.html#data-formats"><span class="std std-ref">Data Formats</span></a>.</p>
<p>The software support SSL endpoints but currently without CA validation, this means that the data is encrypted
but it does not validate if the remote endpoint is who it claims to be.</p>
<p>if you require CA validation please leave a comment on GitHub and I will make that a priority. Adding this function
will dramatically reduce the battery life of the device.</p>
</li> </li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Using SSL on a small device such as the esp8266 can be unstable since it requires a lot of RAM to work. And running out
of RAM will cause the device to crash. So enable SSL with caution and only when you really need it. GravityMon will try
to minimize the needed RAM but the remote service might not support that feature.</p>
</div>
<ul>
<li><p><strong>Create gravity formulas on the device</strong></p> <li><p><strong>Create gravity formulas on the device</strong></p>
<p>Another big difference is that this software can create the gravity formula in the device, just enter the <p>Another big difference is that this software can create the gravity formula in the device, just enter the
angle/gravity data that you have collected. You will also see a graph simulating how the formula would work.</p> angle/gravity data that you have collected. You will also see a graph simulating how the formula would work.</p>
<p>Currently the device can handle 5 data points which should be enough to get a accurate formula. At least 3 data points
is needed to get an accurate formula.</p>
<p>If there is a need for more data points, raise a comment on github.</p>
</li> </li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This feature needs more testing to be validated.</p>
</div>
<ul>
<li><p><strong>Customize the data format beeing sent to push targets</strong></p> <li><p><strong>Customize the data format beeing sent to push targets</strong></p>
<p>In order to make it easier to support more targets there is a built in format editor that can be used to <p>In order to make it easier to support more targets there is a built in format editor that can be used to
customize the data that is to be sent. This way you can easily adapt the software to new targets without coding. customize the data that is to be sent. This way you can easily adapt the software to new targets without coding.
If you have a good template please share it on the girhub repository and I will add it to the documentation If you have a good template please share it on the github repository and I will add it to the documentation
for other users to enjoy. See the <a class="reference internal" href="advanced.html#format-editor"><span class="std std-ref">Format editor</span></a> for more information.</p> for other users to enjoy. See the <a class="reference internal" href="advanced.html#format-editor"><span class="std std-ref">Format editor</span></a> for more information. See <a class="reference internal" href="services.html#services"><span class="std std-ref">Service Integration</span></a> for a list of
services currently validated.</p>
</li> </li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This feature needs more testing to be validated.</p>
</div>
<ul>
<li><p><strong>Automatic temperature adjustment of gravity reading</strong></p> <li><p><strong>Automatic temperature adjustment of gravity reading</strong></p>
<p>If you want to correct gravity based on beer temperature you can do this in the formula but here is a nice <p>If you want to correct gravity based on beer temperature you can do this in the formula but here is a nice
feature that can correct the gravity as a second step making this independant of the formula.</p> feature that can correct the gravity as a second step making this independant of the formula.</p>
</li> </li>
</ul> <li><p><strong>OTA support from webserver</strong></p>
<div class="admonition note"> <p>When starting up in configuration mode the device will check for a software update from a webserver. This is an easily
<p class="admonition-title">Note</p> way to keep the software up to date. In the future I might add a hosted endpoint for providing updates.</p>
<p>This feature needs more testing to be validated.</p>
</div>
<ul>
<li><p><strong>OTA support from local webserver</strong></p>
<p>When starting up in configuration mode the device will check for a software update from a local webserver.</p>
</li> </li>
<li><p><strong>DS18B20 temperature adjustments</strong></p> <li><p><strong>DS18B20 temperature adjustments</strong></p>
<p>You can adjust the temperature reading of the temperature sensor.</p> <p>You can adjust the temperature reading of the temperature sensor. In normal cases this should not be needed since
the sensors should be calibrated.</p>
</li> </li>
<li><p><strong>Gyro Movement</strong></p> <li><p><strong>Gyro Movement</strong></p>
<p>The software will detect if the gyro is moving and if this is the case it will go back to sleep for 60seconds. <p>The software will detect if the gyro is moving and if this is the case it will go back to sleep for 60seconds.
This way we should avoid faulty measurements.</p> This way we should avoid faulty measurements and peaks in the graphs.</p>
</li> </li>
<li><p><strong>WIFI connection issues</strong></p> <li><p><strong>WIFI connection issues</strong></p>
<p>The software will not wait indefiently for a wifi connection. If it takes longer than 20 seconds to connect then <p>The software will not wait indefiently for a wifi connection. If it takes longer than 20 seconds to connect then
the device will go into deep sleep for 60 seoncds and then retry.</p> the device will go into deep sleep for 60 seoncds and then retry later. This to conserve batter as much as possible.</p>
</li> </li>
<li><p><strong>Use gyro temperature sensor</strong></p> <li><p><strong>Use gyro temperature sensor</strong></p>
<p>This works fine when the device has time to cool down between measurements and it saves up to 400 ms. <p>This works fine when the device has time to cool down between measurements and it saves up to 400 ms.
@ -275,20 +295,34 @@ be 0.5-1.0C higher.</p>
</li> </li>
</ul> </ul>
<a class="reference internal image-reference" href="_images/temp1.png"><img alt="Gyro temp vs DS18B20" src="_images/temp1.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/temp1.png"><img alt="Gyro temp vs DS18B20" src="_images/temp1.png" style="width: 800px;"/></a>
</div>
<div class="section" id="other-features">
<h2>Other features<a class="headerlink" href="#other-features" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Support for Celcius and Farenheigt as temperature formats.</p></li>
<li><p>Support SG (Plato is not yet supported)</p></li>
<li><p>Gyro data is read 50 times to ensure good accuracy</p></li>
</ul>
</div>
<div class="section" id="experimental-features">
<h2>Experimental features<a class="headerlink" href="#experimental-features" title="Permalink to this headline"></a></h2>
<ul> <ul>
<li><p><strong>Celsius or Farenheigt</strong></p>
<p>You can switch between different temperature formats. GravityMon will always use C for its internal calculations and
convert to F when displayed.</p>
</li>
<li><p><strong>SG or Plato</strong></p>
<p>You can switch between different gravity formats. GravityMon will always use SG for its internal calculations and
convert to Plato when displayed.</p>
</li>
<li><p><strong>Stable gyro data</strong></p>
<p>The device will read the gyro 50 times to get an accurate reading. If the standad deviation is to high it will not
use the data since this is inacurate and the device is probably moving, probably do to active fermentation or movement of
fermentation vessel. This sequence takes 900 ms seconds to execute and besides wifi connection this is what consumes the most
battery. With more testing this might be changes to either speed up or provide more stable readings.</p>
</li>
<li><p><strong>Performance measurements</strong></p> <li><p><strong>Performance measurements</strong></p>
<p>Ive also create a small library to measure execution code in some areas of the code that i know is time consuming. This way I can find a good balance between performace and quality.</p> <p>Ive also create a small library to measure execution code in some areas of the code that i know is time consuming. This
way I can find a good balance between performace and quality. This is a lot of help trying to figure out where bottlenecks
are in the code and where to put optimization efforts. Examples of real measurements:</p>
<ul class="simple">
<li><p>Reading the gyro: 885 ms</p></li>
<li><p>Reading DS18B20 temperature sensor: 546 ms</p></li>
<li><p>Connect to WIFI: 408 ms</p></li>
<li><p>Send data to local influxdb v2: 25 ms</p></li>
<li><p>Send data to local mqtt server: 35 ms</p></li>
<li><p>Send data to local http server: 40 ms</p></li>
<li><p>Send data to http server on internet: 0.2 - 5 seconds</p></li>
</ul>
<p>See the <a class="reference internal" href="compiling.html#compiling-the-software"><span class="std std-ref">Compiling the software</span></a> for more information.</p> <p>See the <a class="reference internal" href="compiling.html#compiling-the-software"><span class="std std-ref">Compiling the software</span></a> for more information.</p>
</li> </li>
<li><p><strong>Power measurements</strong></p> <li><p><strong>Power measurements</strong></p>
@ -297,17 +331,13 @@ be 0.5-1.0C higher.</p>
</ul> </ul>
</div> </div>
<div class="section" id="battery-life"> <div class="section" id="battery-life">
<h2>Battery life<a class="headerlink" href="#battery-life" title="Permalink to this headline"></a></h2> <h2>Battery life<a class="headerlink" href="#battery-life" title="Permalink to this headline">#</a></h2>
<p>Im currently measuring battery life of v0.5 but previous versions have been able to measure gravity for <p>The long term battery test has now been completed. Using a 2200 mA battery and sending data every 5 minutes to a local server on my network. The battery lasted 47 days which is excellet battery life.</p>
a 2-3 weeks without issues (Using 900 seconds as interval).</p> <p>In another test I had a device running with an sleep interval of only 30s with ok wifi connection. The device lasted 12 days which i think is excellent considering the short sleep interval.</p>
<p>I had a device running with an sleep interval of only 30s with ok wifi connection. The device lasted <p>From what I have discovered its the WIFI connection or latency to internet hosted that has the most impact on the battery life. The typical runtime in the tests above was around 2 seconds.</p>
12 days which i think is excellent considering the short sleep interval. From what I have discovered
its the WIFI connection that has the most impact on the battery life. In a perfect scenario it
can take around 400ms but can in some cases take up to 8 seconds.</p>
<p><em>More on this topics once my tests are done</em></p>
</div> </div>
<div class="section" id="performance"> <div class="section" id="performance">
<h2>Performance<a class="headerlink" href="#performance" title="Permalink to this headline"></a></h2> <h2>Performance<a class="headerlink" href="#performance" title="Permalink to this headline">#</a></h2>
<p>Since I have the possibility to measure the performance of different function in the code this is what I have been able to gather.</p> <p>Since I have the possibility to measure the performance of different function in the code this is what I have been able to gather.</p>
<p>The typical runtime in a measurement cycle is approx 2 seconds and in some cases it can take up to 6-8 seconds but this is mainly related to establishing the WIFI connection. So stable wifi is <p>The typical runtime in a measurement cycle is approx 2 seconds and in some cases it can take up to 6-8 seconds but this is mainly related to establishing the WIFI connection. So stable wifi is
essential for long batterylife. Out of the 2 seconds of run-time the major time is spent on gyro readings (1.3s) and temperature measurements of (0.6s) so using the gyro sensor for measureing essential for long batterylife. Out of the 2 seconds of run-time the major time is spent on gyro readings (1.3s) and temperature measurements of (0.6s) so using the gyro sensor for measureing
@ -343,11 +373,21 @@ temperature would reduce the total runtime with 25%. Sending data over http take
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>
@ -366,8 +406,6 @@ temperature would reduce the total runtime with 25%. Sending data over http take
<ul> <ul>
<li><a class="reference internal" href="#">Functionallity</a><ul> <li><a class="reference internal" href="#">Functionallity</a><ul>
<li><a class="reference internal" href="#the-main-features">The main features</a></li> <li><a class="reference internal" href="#the-main-features">The main features</a></li>
<li><a class="reference internal" href="#other-features">Other features</a></li>
<li><a class="reference internal" href="#experimental-features">Experimental features</a></li>
<li><a class="reference internal" href="#battery-life">Battery life</a></li> <li><a class="reference internal" href="#battery-life">Battery life</a></li>
<li><a class="reference internal" href="#performance">Performance</a></li> <li><a class="reference internal" href="#performance">Performance</a></li>
</ul> </ul>

View File

@ -4,10 +4,10 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" /> <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/><title>Index - GravityMon 0.7.1 documentation</title> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/><title>Index - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -18,17 +18,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -39,17 +41,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -58,14 +56,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -80,7 +78,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -88,7 +86,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -121,7 +119,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -144,7 +142,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -167,11 +165,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -179,8 +179,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -208,11 +213,21 @@
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Licence" href="license.html" /> <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="Licence" href="license.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>GravityMon 0.7.1 documentation</title> <title>GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="#"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="#"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="#"> <div class="sidebar-sticky"><a class="sidebar-brand" href="#">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,42 +201,48 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="welcome-to-gravitymon-s-documentation"> <div class="section" id="welcome-to-gravitymon-s-documentation">
<h1>Welcome to GravityMons documentation!<a class="headerlink" href="#welcome-to-gravitymon-s-documentation" title="Permalink to this headline"></a></h1> <h1>Welcome to GravityMons documentation!<a class="headerlink" href="#welcome-to-gravitymon-s-documentation" title="Permalink to this headline">#</a></h1>
<div class="admonition note"> <div class="admonition note">
<p class="admonition-title">Note</p> <p class="admonition-title">Note</p>
<p>This documentation reflects <strong>v0.7.1</strong>. Last updated 2022-01-30</p> <p>This documentation reflects <strong>v0.8</strong>. Last updated 2022-03-05</p>
</div> </div>
<p>GravityMon is a replacement firmare for the iSpindle firmware, it uses the same hardware configuration so <p>GravityMon is used to measure gravity and temperature during fermentation of beer and report the progress. The graph below is
you can easily switch between them.</p> an example on how the fermentation process can be tracked. This is from my last brew that was over on a few days. The graph is rendered using
<p>Its used to measure gravity in beer and show the progress of fermentation.</p> Fermentrack.</p>
<p>For more information on this topic and function please visit <a class="reference external" href="https://www.ispindel.de">iSpindel Homepage</a> .</p> <a class="reference internal image-reference" href="_images/fermentation.png"><img alt="Example fermentation" src="_images/fermentation.png" style="width: 500px;"/></a>
<p>GravityMon is a replacement firmare for the iSpindle and uses the same hardware configuration and is 100% compatible. It
implements a lot of the features that has been requested in the orginal iSpindle project but has been rejected for
various reasons. Here is a list of <a class="reference internal" href="#main-features"><span class="std std-ref">Main features:</span></a>.</p>
<p>I started GravityMon because i like to create software and wanted to do some low level programming. I had done a few <p>I started GravityMon because i like to create software and wanted to do some low level programming. I had done a few
projects based on esp8266 and also started to brew beer so this combination was quite natural.</p> projects based on esp8266 and also started to brew beer so this combination was quite natural.</p>
<p>The hardware design comes from the fantastic iSpindle project so that is not covered in this documentation.</p> <p>The hardware design comes from the fantastic iSpindle project so that is not covered in this documentation. For more
<p>My approach to this software is a little different from that the original ispindle firmware. The github repository can information on this topic and function please visit <a class="reference external" href="https://www.ispindel.de">iSpindel Homepage</a> .</p>
be found here; <a class="reference external" href="https://github.com/mp-se/gravitymon">GravityMon on Github</a></p> <p>My approach to this software is a little different from that the original ispindle firmware. The github repository
can be found here; <a class="reference external" href="https://github.com/mp-se/gravitymon">GravityMon on Github</a></p>
<div class="admonition note"> <div class="admonition note">
<p class="admonition-title">Note</p> <p class="admonition-title">Note</p>
<p>This software is in the early stages even though its more than one year old so if you find issues, please <p>I dont take responsibility for any errors or issues caused by the software. The software is provided as-is. I will however
open a ticket on github.</p> try my best to fix issues that might occur.</p>
<p>I dont take responsibility for any errors that can cause problems with the use. I have tested v0.4 on 5+ brews <p>I have tested this software over the last year on 20+ brews with good results.</p>
over the last 6 months without any issues.</p>
</div> </div>
<div class="section" id="the-main-differences"> <div class="section" id="main-features">
<h2>The main differences:<a class="headerlink" href="#the-main-differences" title="Permalink to this headline"></a></h2> <span id="id1"></span><h2>Main features:<a class="headerlink" href="#main-features" title="Permalink to this headline">#</a></h2>
<ul class="simple"> <ul class="simple">
<li><p>Operates in two modes gravity monitoring and configuration mode (simplify calibration)</p></li> <li><p>Operates in two modes gravity monitoring and configuration mode (simplify calibration). Gravity mode
<li><p>Modern web based UI for configuration (in config mode)</p></li> is comparable to how the iSpindle works.</p></li>
<li><p>REST API</p></li> <li><p>Modern web based UI when in configuration mode. No need to start the access point changing settings.</p></li>
<li><p>Send data to multiple endpoints when pushing data (2xhttp, brewfather, influxdb v2, mqtt supported)</p></li> <li><p>REST API to enable scripted configuration</p></li>
<li><p>Send data to multiple endpoints and services at once</p></li>
<li><p>Setup guides for how to send data to many popular services. Currently 8+ are documented.</p></li>
<li><p>Automatic temperature adjustment of gravity reading</p></li> <li><p>Automatic temperature adjustment of gravity reading</p></li>
<li><p>OTA support from local webserver</p></li> <li><p>OTA support from webserver</p></li>
<li><p>Built in function to create gravity formulas, no need for additional software, just enter tilt/gravity.</p></li> <li><p>Built in function to create gravity formulas, no need for additional software, just enter tilt/gravity and
<li><p>Visual graph showing how formula will be interpreted</p></li> let GravityMon create the formula.</p></li>
<li><p>Visual graph showing how formula will be interpreted based on entered values</p></li>
<li><p>Using the temperature sensor in gyro instead of DS18B20 (faster)</p></li> <li><p>Using the temperature sensor in gyro instead of DS18B20 (faster)</p></li>
<li><p>Built in performance measurements (used to optimise code)</p></li>
<li><p>SSL support in standard HTTP and MQTT connections.</p></li> <li><p>SSL support in standard HTTP and MQTT connections.</p></li>
<li><p>Option to customize data posted to endpoints using template from the UI.</p></li> <li><p>Option to customize data posted to endpoints using template from the UI.</p></li>
<li><p>Built in performance measurements (used to optimise code)</p></li>
</ul> </ul>
<p>For a complete breakdown see the <a class="reference internal" href="functionallity.html#functionallity"><span class="std std-ref">Functionallity</span></a></p> <p>For a complete breakdown see the <a class="reference internal" href="functionallity.html#functionallity"><span class="std std-ref">Functionallity</span></a></p>
<p>This is a simple overview of the different components that the software contains. The green ones are only active during <cite>configuration mode</cite> in <p>This is a simple overview of the different components that the software contains. The green ones are only active during <cite>configuration mode</cite> in
@ -239,7 +250,7 @@ order to save battery.</p>
<a class="reference internal image-reference" href="_images/software_design.png"><img alt="Software design" src="_images/software_design.png" style="width: 600px;"/></a> <a class="reference internal image-reference" href="_images/software_design.png"><img alt="Software design" src="_images/software_design.png" style="width: 600px;"/></a>
</div> </div>
<div class="section" id="credits-to"> <div class="section" id="credits-to">
<h2>Credits to<a class="headerlink" href="#credits-to" title="Permalink to this headline"></a></h2> <h2>Credits to<a class="headerlink" href="#credits-to" title="Permalink to this headline">#</a></h2>
<p>Ideas to some of these functions have been picked up from disucssions in the iSpindle forums. This software uses <p>Ideas to some of these functions have been picked up from disucssions in the iSpindle forums. This software uses
the following libraries and without these this would have been much more difficult to acheive:</p> the following libraries and without these this would have been much more difficult to acheive:</p>
<ul> <ul>
@ -289,8 +300,6 @@ the following libraries and without these this would have been much more difficu
<li class="toctree-l1"><a class="reference internal" href="license.html">Licence</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="functionallity.html">Functionallity</a><ul> <li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a><ul>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#the-main-features">The main features</a></li> <li class="toctree-l2"><a class="reference internal" href="functionallity.html#the-main-features">The main features</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#other-features">Other features</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#experimental-features">Experimental features</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#battery-life">Battery life</a></li> <li class="toctree-l2"><a class="reference internal" href="functionallity.html#battery-life">Battery life</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#performance">Performance</a></li> <li class="toctree-l2"><a class="reference internal" href="functionallity.html#performance">Performance</a></li>
</ul> </ul>
@ -310,6 +319,7 @@ the following libraries and without these this would have been much more difficu
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="releases.html">Releases</a><ul> <li class="toctree-l1"><a class="reference internal" href="releases.html">Releases</a><ul>
<li class="toctree-l2"><a class="reference internal" href="releases.html#v0-8-0">v0.8.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="releases.html#v0-7-1">v0.7.1</a></li> <li class="toctree-l2"><a class="reference internal" href="releases.html#v0-7-1">v0.7.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="releases.html#v0-7-0">v0.7.0</a></li> <li class="toctree-l2"><a class="reference internal" href="releases.html#v0-7-0">v0.7.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="releases.html#v0-6-0">v0.6.0</a></li> <li class="toctree-l2"><a class="reference internal" href="releases.html#v0-6-0">v0.6.0</a></li>
@ -330,6 +340,8 @@ the following libraries and without these this would have been much more difficu
<li class="toctree-l2"><a class="reference internal" href="services.html#ubidots">UBIdots</a></li> <li class="toctree-l2"><a class="reference internal" href="services.html#ubidots">UBIdots</a></li>
<li class="toctree-l2"><a class="reference internal" href="services.html#home-assistant">Home Assistant</a></li> <li class="toctree-l2"><a class="reference internal" href="services.html#home-assistant">Home Assistant</a></li>
<li class="toctree-l2"><a class="reference internal" href="services.html#brewer-s-friend">Brewers Friend</a></li> <li class="toctree-l2"><a class="reference internal" href="services.html#brewer-s-friend">Brewers Friend</a></li>
<li class="toctree-l2"><a class="reference internal" href="services.html#brewspy">Brewspy</a></li>
<li class="toctree-l2"><a class="reference internal" href="services.html#thingspeak">Thingspeak</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="advanced.html">Advanced Configuration</a><ul> <li class="toctree-l1"><a class="reference internal" href="advanced.html">Advanced Configuration</a><ul>
@ -341,6 +353,7 @@ the following libraries and without these this would have been much more difficu
<li class="toctree-l2"><a class="reference internal" href="api.html#get-api-device">GET: /api/device</a></li> <li class="toctree-l2"><a class="reference internal" href="api.html#get-api-device">GET: /api/device</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#get-api-status">GET: /api/status</a></li> <li class="toctree-l2"><a class="reference internal" href="api.html#get-api-status">GET: /api/status</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#get-api-config-formula">GET: /api/config/formula</a></li> <li class="toctree-l2"><a class="reference internal" href="api.html#get-api-config-formula">GET: /api/config/formula</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#get-api-factory">GET: /api/factory</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#post-api-config-device">POST: /api/config/device</a></li> <li class="toctree-l2"><a class="reference internal" href="api.html#post-api-config-device">POST: /api/config/device</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#post-api-config-push">POST: /api/config/push</a></li> <li class="toctree-l2"><a class="reference internal" href="api.html#post-api-config-push">POST: /api/config/push</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#post-api-config-gravity">POST: /api/config/gravity</a></li> <li class="toctree-l2"><a class="reference internal" href="api.html#post-api-config-gravity">POST: /api/config/gravity</a></li>
@ -366,6 +379,10 @@ the following libraries and without these this would have been much more difficu
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing</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="troubleshooting.html">Troubleshooting</a><ul>
<li class="toctree-l2"><a class="reference internal" href="troubleshooting.html#log-errors">Log errors</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a><ul> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a><ul>
<li class="toctree-l2"><a class="reference internal" href="q_and_a.html#my-device-is-no-going-in-to-sleep-after-fully-charged">My device is no going in to sleep after fully charged</a></li> <li class="toctree-l2"><a class="reference internal" href="q_and_a.html#my-device-is-no-going-in-to-sleep-after-fully-charged">My device is no going in to sleep after fully charged</a></li>
</ul> </ul>
@ -373,7 +390,7 @@ the following libraries and without these this would have been much more difficu
</ul> </ul>
</div> </div>
<div class="section" id="indices-and-tables"> <div class="section" id="indices-and-tables">
<h3>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h3> <h3>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">#</a></h3>
<ul class="simple"> <ul class="simple">
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li> <li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
<li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li> <li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
@ -399,11 +416,21 @@ the following libraries and without these this would have been much more difficu
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>
@ -421,7 +448,7 @@ the following libraries and without these this would have been much more difficu
<div class="toc-tree"> <div class="toc-tree">
<ul> <ul>
<li><a class="reference internal" href="#">Welcome to GravityMons documentation!</a><ul> <li><a class="reference internal" href="#">Welcome to GravityMons documentation!</a><ul>
<li><a class="reference internal" href="#the-main-differences">The main differences:</a></li> <li><a class="reference internal" href="#main-features">Main features:</a></li>
<li><a class="reference internal" href="#credits-to">Credits to</a><ul> <li><a class="reference internal" href="#credits-to">Credits to</a><ul>
<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li> <li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
</ul> </ul>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Releases" href="releases.html" /><link rel="prev" title="Getting started" href="intro.html" /> <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="Releases" href="releases.html" /><link rel="prev" title="Getting started" href="intro.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Installation - GravityMon 0.7.1 documentation</title> <title>Installation - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,14 +201,14 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="installation"> <div class="section" id="installation">
<span id="id1"></span><h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">#</a></h1>
<div class="section" id="brewflasher"> <div class="section" id="brewflasher">
<h2>Brewflasher<a class="headerlink" href="#brewflasher" title="Permalink to this headline"></a></h2> <h2>Brewflasher<a class="headerlink" href="#brewflasher" title="Permalink to this headline">#</a></h2>
<p>The prefered option for flashing GravityMon is using BrewFlasher, its a tools that support many brewing related firmwares for ESP8266 and ESP32. This works <p>The prefered option for flashing GravityMon is using BrewFlasher, its a tools that support many brewing related firmwares for ESP8266 and ESP32. This works
on both Windows and Mac. You can download the latest version from here: <a class="reference external" href="https://www.brewflasher.com/">Brewflasher</a></p> on both Windows and Mac. You can download the latest version from here: <a class="reference external" href="https://www.brewflasher.com/">Brewflasher</a></p>
<a class="reference internal image-reference" href="_images/brewflasher.png"><img alt="Serial output" src="_images/brewflasher.png" style="width: 600px;"/></a> <a class="reference internal image-reference" href="_images/brewflasher.png"><img alt="Serial output" src="_images/brewflasher.png" style="width: 600px;"/></a>
<div class="section" id="binaries"> <div class="section" id="binaries">
<h3>Binaries<a class="headerlink" href="#binaries" title="Permalink to this headline"></a></h3> <h3>Binaries<a class="headerlink" href="#binaries" title="Permalink to this headline">#</a></h3>
<p>In the /bin directory you will find 2 different firmware builds;</p> <p>In the /bin directory you will find 2 different firmware builds;</p>
<ul> <ul>
<li><p><strong>firmware.bin</strong></p> <li><p><strong>firmware.bin</strong></p>
@ -221,7 +226,7 @@ and code is in sync.</p>
</div> </div>
</div> </div>
<div class="section" id="esptool"> <div class="section" id="esptool">
<h2>Esptool<a class="headerlink" href="#esptool" title="Permalink to this headline"></a></h2> <h2>Esptool<a class="headerlink" href="#esptool" title="Permalink to this headline">#</a></h2>
<p>The other option for flashing esp8266 device is via the official esptool. Documentation can be found <p>The other option for flashing esp8266 device is via the official esptool. Documentation can be found
here; <a class="reference external" href="https://docs.espressif.com/projects/esptool/en/latest/esp32/">esptool home page</a></p> here; <a class="reference external" href="https://docs.espressif.com/projects/esptool/en/latest/esp32/">esptool home page</a></p>
<p>Windows 10 should install a driver for the USB -&gt; Serial automatically when you connect a esp8266.</p> <p>Windows 10 should install a driver for the USB -&gt; Serial automatically when you connect a esp8266.</p>
@ -231,13 +236,13 @@ here; <a class="reference external" href="https://docs.espressif.com/projects/es
<p><code class="docutils literal notranslate"><span class="pre">esptool.py</span> <span class="pre">--port</span> <span class="pre">COM4</span> <span class="pre">erase_flash</span></code></p> <p><code class="docutils literal notranslate"><span class="pre">esptool.py</span> <span class="pre">--port</span> <span class="pre">COM4</span> <span class="pre">erase_flash</span></code></p>
</div> </div>
<div class="section" id="serial-monitoring"> <div class="section" id="serial-monitoring">
<h2>Serial Monitoring<a class="headerlink" href="#serial-monitoring" title="Permalink to this headline"></a></h2> <h2>Serial Monitoring<a class="headerlink" href="#serial-monitoring" title="Permalink to this headline">#</a></h2>
<p>To check output from the device (logs) there are several tools out there. I found this simple tool in the Windows Store called <code class="docutils literal notranslate"><span class="pre">Serial</span> <span class="pre">Port</span> <span class="pre">Monitoring</span></code>. <p>To check output from the device (logs) there are several tools out there. I found this simple tool in the Windows Store called <code class="docutils literal notranslate"><span class="pre">Serial</span> <span class="pre">Port</span> <span class="pre">Monitoring</span></code>.
Just select a baud rate of 115200, 8N1.</p> Just select a baud rate of 115200, 8N1.</p>
<a class="reference internal image-reference" href="_images/serial.png"><img alt="Serial output" src="_images/serial.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/serial.png"><img alt="Serial output" src="_images/serial.png" style="width: 800px;"/></a>
</div> </div>
<div class="section" id="configuring-wifi"> <div class="section" id="configuring-wifi">
<span id="setup-wifi"></span><h2>Configuring WIFI<a class="headerlink" href="#configuring-wifi" title="Permalink to this headline"></a></h2> <span id="setup-wifi"></span><h2>Configuring WIFI<a class="headerlink" href="#configuring-wifi" title="Permalink to this headline">#</a></h2>
<p>When the device is flashed it will need to have WIFI configuration in order to work. If you have used other software on <p>When the device is flashed it will need to have WIFI configuration in order to work. If you have used other software on
the device its possible that wifi settings exist.</p> the device its possible that wifi settings exist.</p>
<p>If this is not configured in the device it will create an wirless access point called <cite>GravMon</cite>. The default password is <cite>password</cite>.</p> <p>If this is not configured in the device it will create an wirless access point called <cite>GravMon</cite>. The default password is <cite>password</cite>.</p>
@ -273,11 +278,21 @@ in the browser: <strong>http://192.168.4.1</strong></p>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Installation" href="installation.html" /><link rel="prev" title="Functionallity" href="functionallity.html" /> <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="Installation" href="installation.html" /><link rel="prev" title="Functionallity" href="functionallity.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Getting started - GravityMon 0.7.1 documentation</title> <title>Getting started - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,22 +201,22 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="getting-started"> <div class="section" id="getting-started">
<span id="id1"></span><h1>Getting started<a class="headerlink" href="#getting-started" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>Getting started<a class="headerlink" href="#getting-started" title="Permalink to this headline">#</a></h1>
<p>First you need a completed iSpindle hardware, there are several resouces around that topic so it <p>First you need a completed iSpindle hardware, there are several resouces around that topic so it
will not be covered in this documentation. Please visit <a class="reference external" href="https://www.ispindel.de">iSpindel Homepage</a> for will not be covered in this documentation. Please visit <a class="reference external" href="https://www.ispindel.de">iSpindel Homepage</a> for
more information.</p> more information.</p>
<div class="section" id="step-1-flash-the-device"> <div class="section" id="step-1-flash-the-device">
<h2>Step 1 - Flash the device<a class="headerlink" href="#step-1-flash-the-device" title="Permalink to this headline"></a></h2> <h2>Step 1 - Flash the device<a class="headerlink" href="#step-1-flash-the-device" title="Permalink to this headline">#</a></h2>
<p>The first step is to flash the firmware, I recommend using Brewflasher as the easy option. Detailed <p>The first step is to flash the firmware, I recommend using Brewflasher as the easy option. Detailed
instructions can be found here <a class="reference internal" href="installation.html#installation"><span class="std std-ref">Installation</span></a></p> instructions can be found here <a class="reference internal" href="installation.html#installation"><span class="std std-ref">Installation</span></a></p>
</div> </div>
<div class="section" id="step-2-setup-wifi"> <div class="section" id="step-2-setup-wifi">
<h2>Step 2 - Setup WIFI<a class="headerlink" href="#step-2-setup-wifi" title="Permalink to this headline"></a></h2> <h2>Step 2 - Setup WIFI<a class="headerlink" href="#step-2-setup-wifi" title="Permalink to this headline">#</a></h2>
<p>When the device starts up the first time it will first start an WIFI access point so that the WIFI Settings <p>When the device starts up the first time it will first start an WIFI access point so that the WIFI Settings
can be configured. The instructions for that can be found here <a class="reference internal" href="installation.html#setup-wifi"><span class="std std-ref">Configuring WIFI</span></a></p> can be configured. The instructions for that can be found here <a class="reference internal" href="installation.html#setup-wifi"><span class="std std-ref">Configuring WIFI</span></a></p>
</div> </div>
<div class="section" id="step-3-configuration"> <div class="section" id="step-3-configuration">
<h2>Step 3 - Configuration<a class="headerlink" href="#step-3-configuration" title="Permalink to this headline"></a></h2> <h2>Step 3 - Configuration<a class="headerlink" href="#step-3-configuration" title="Permalink to this headline">#</a></h2>
<p>Once the device can connect to WIFI it will go into <cite>configuration mode</cite> and start a web server for <p>Once the device can connect to WIFI it will go into <cite>configuration mode</cite> and start a web server for
doing the initial configuration. In order to access the device you will need to find its name or ip adress.</p> doing the initial configuration. In order to access the device you will need to find its name or ip adress.</p>
<p>It will broadcast a name like gravitymonXXXXXX.local over mDNS. Where the XXXXXX is the unique device id. You can <p>It will broadcast a name like gravitymonXXXXXX.local over mDNS. Where the XXXXXX is the unique device id. You can
@ -220,28 +225,30 @@ might not work so then use the IP address instead. Once connected you will meet
<a class="reference internal image-reference" href="_images/index.png"><img alt="Index page" src="_images/index.png" style="width: 800px;"/></a> <a class="reference internal image-reference" href="_images/index.png"><img alt="Index page" src="_images/index.png" style="width: 800px;"/></a>
<p>The next step is then to configure the device, most settings should work but there are a few that should be changed.</p> <p>The next step is then to configure the device, most settings should work but there are a few that should be changed.</p>
<div class="section" id="configuration-device-settings-device-name"> <div class="section" id="configuration-device-settings-device-name">
<h3>Configuration - Device Settings - Device Name<a class="headerlink" href="#configuration-device-settings-device-name" title="Permalink to this headline"></a></h3> <h3>Configuration - Device Settings - Device Name<a class="headerlink" href="#configuration-device-settings-device-name" title="Permalink to this headline">#</a></h3>
<p>Give your device a good name.</p> <p>Give your device a good name.</p>
</div> </div>
<div class="section" id="configuration-device-settings-calibration"> <div class="section" id="configuration-device-settings-gyro-calibration">
<h3>Configuration - Device Settings - Calibration<a class="headerlink" href="#configuration-device-settings-calibration" title="Permalink to this headline"></a></h3> <h3>Configuration - Device Settings - Gyro Calibration<a class="headerlink" href="#configuration-device-settings-gyro-calibration" title="Permalink to this headline">#</a></h3>
<p>You need to place the device on a flat surface and then press the <p>You need to place the device on a flat surface and then press the
calibrate button. It will take a few seconds for this to complete and the angle should be close to 90 degress. Without calibrate button. It will take a few seconds for this to complete and the angle should be close to 90 degress. Without
calibration the device will not go into gravity mode.</p> calibration the device will not go into gravity mode.</p>
</div> </div>
<div class="section" id="configuration-push-settings"> <div class="section" id="configuration-push-settings">
<h3>Configuration - Push Settings<a class="headerlink" href="#configuration-push-settings" title="Permalink to this headline"></a></h3> <h3>Configuration - Push Settings<a class="headerlink" href="#configuration-push-settings" title="Permalink to this headline">#</a></h3>
<p>Add the endpoints where you want data to be transmitted. All URLs that contain a <p>Add the endpoints where you want data to be transmitted. All URLs that contain a valid endpoint will receive the data.</p>
valid endpoint will receive the data.</p>
</div> </div>
<div class="section" id="calibration"> <div class="section" id="calibration">
<h3>Calibration<a class="headerlink" href="#calibration" title="Permalink to this headline"></a></h3> <h3>Calibration<a class="headerlink" href="#calibration" title="Permalink to this headline">#</a></h3>
<p>I recommend to use the calibration feature to create a gravity formula. If you have values from a <p>I recommend to use the calibration feature to create a gravity formula. If you have values from a
previous calibration then you can add them here, if not follow the calibration guidelines on the iSpindle site.</p> previous calibration then you can add them here, if not follow the calibration guidelines on the iSpindle site.</p>
<p>There are several guides for how to calibrate the device (<a class="reference external" href="https://www.ispindel.de/docs/Calibration_en.html">iSpindle Calibration</a>)</p>
<p>This will get the data points needed to create the formula, and the datapoints will be stored on the device so you can
adjust them when needed.</p>
</div> </div>
</div> </div>
<div class="section" id="step-4-completed"> <div class="section" id="step-4-completed">
<h2>Step 4 - Completed<a class="headerlink" href="#step-4-completed" title="Permalink to this headline"></a></h2> <h2>Step 4 - Completed<a class="headerlink" href="#step-4-completed" title="Permalink to this headline">#</a></h2>
<p>You are now done and can enjoy the GravityMon software. Check out the <a class="reference internal" href="configuration.html#setting-up-device"><span class="std std-ref">Configuration</span></a> section for other configuration options.</p> <p>You are now done and can enjoy the GravityMon software. Check out the <a class="reference internal" href="configuration.html#setting-up-device"><span class="std std-ref">Configuration</span></a> section for other configuration options.</p>
<p>If you want to enter the configuration mode place the device flat on a surface and do a reset (or wait until it wakes up). <p>If you want to enter the configuration mode place the device flat on a surface and do a reset (or wait until it wakes up).
Its recommended to attach the device to power when you have it in <cite>configuration mode</cite> so the battery is not drained.</p> Its recommended to attach the device to power when you have it in <cite>configuration mode</cite> so the battery is not drained.</p>
@ -275,11 +282,21 @@ Its recommended to attach the device to power when you have it in <cite>configur
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>
@ -301,7 +318,7 @@ Its recommended to attach the device to power when you have it in <cite>configur
<li><a class="reference internal" href="#step-2-setup-wifi">Step 2 - Setup WIFI</a></li> <li><a class="reference internal" href="#step-2-setup-wifi">Step 2 - Setup WIFI</a></li>
<li><a class="reference internal" href="#step-3-configuration">Step 3 - Configuration</a><ul> <li><a class="reference internal" href="#step-3-configuration">Step 3 - Configuration</a><ul>
<li><a class="reference internal" href="#configuration-device-settings-device-name">Configuration - Device Settings - Device Name</a></li> <li><a class="reference internal" href="#configuration-device-settings-device-name">Configuration - Device Settings - Device Name</a></li>
<li><a class="reference internal" href="#configuration-device-settings-calibration">Configuration - Device Settings - Calibration</a></li> <li><a class="reference internal" href="#configuration-device-settings-gyro-calibration">Configuration - Device Settings - Gyro Calibration</a></li>
<li><a class="reference internal" href="#configuration-push-settings">Configuration - Push Settings</a></li> <li><a class="reference internal" href="#configuration-push-settings">Configuration - Push Settings</a></li>
<li><a class="reference internal" href="#calibration">Calibration</a></li> <li><a class="reference internal" href="#calibration">Calibration</a></li>
</ul> </ul>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Functionallity" href="functionallity.html" /><link rel="prev" title="Welcome to GravityMons documentation!" href="index.html" /> <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="Functionallity" href="functionallity.html" /><link rel="prev" title="Welcome to GravityMons documentation!" href="index.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Licence - GravityMon 0.7.1 documentation</title> <title>Licence - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,7 +201,7 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="licence"> <div class="section" id="licence">
<span id="id1"></span><h1>Licence<a class="headerlink" href="#licence" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>Licence<a class="headerlink" href="#licence" title="Permalink to this headline">#</a></h1>
<p>MIT License</p> <p>MIT License</p>
<p>Copyright (c) 2021-22 Magnus</p> <p>Copyright (c) 2021-22 Magnus</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy <p>Permission is hereby granted, free of charge, to any person obtaining a copy
@ -242,11 +247,21 @@ SOFTWARE.</p>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

Binary file not shown.

View File

@ -2,13 +2,13 @@
<html class="no-js"> <html class="no-js">
<head><meta charset="utf-8"/> <head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="prev" title="Contributing" href="contributing.html" /> <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="prev" title="Troubleshooting" href="troubleshooting.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Q &amp; A - GravityMon 0.7.1 documentation</title> <title>Q &amp; A - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Q &amp; A</a></li> <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,9 +201,9 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="q-a"> <div class="section" id="q-a">
<h1>Q &amp; A<a class="headerlink" href="#q-a" title="Permalink to this headline"></a></h1> <h1>Q &amp; A<a class="headerlink" href="#q-a" title="Permalink to this headline">#</a></h1>
<div class="section" id="my-device-is-no-going-in-to-sleep-after-fully-charged"> <div class="section" id="my-device-is-no-going-in-to-sleep-after-fully-charged">
<h2>My device is no going in to sleep after fully charged<a class="headerlink" href="#my-device-is-no-going-in-to-sleep-after-fully-charged" title="Permalink to this headline"></a></h2> <h2>My device is no going in to sleep after fully charged<a class="headerlink" href="#my-device-is-no-going-in-to-sleep-after-fully-charged" title="Permalink to this headline">#</a></h2>
<ul class="simple"> <ul class="simple">
<li><p>Calibrate the device in the web interface</p></li> <li><p>Calibrate the device in the web interface</p></li>
<li><p>Check the angle/tilt. If the device is reporting 90 degress then its not going into sleep. Tilt the device and check if sleep works.</p></li> <li><p>Check the angle/tilt. If the device is reporting 90 degress then its not going into sleep. Tilt the device and check if sleep works.</p></li>
@ -214,23 +219,33 @@
<div class="related-pages"> <div class="related-pages">
<a class="prev-page" href="contributing.html"> <a class="prev-page" href="troubleshooting.html">
<svg><use href="#svg-arrow-right"></use></svg> <svg><use href="#svg-arrow-right"></use></svg>
<div class="page-info"> <div class="page-info">
<div class="context"> <div class="context">
<span>Previous</span> <span>Previous</span>
</div> </div>
<div class="title">Contributing</div> <div class="title">Troubleshooting</div>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Configuration" href="configuration.html" /><link rel="prev" title="Installation" href="installation.html" /> <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="Configuration" href="configuration.html" /><link rel="prev" title="Installation" href="installation.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Releases - GravityMon 0.7.1 documentation</title> <title>Releases - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,9 +201,31 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="releases"> <div class="section" id="releases">
<span id="id1"></span><h1>Releases<a class="headerlink" href="#releases" title="Permalink to this headline"></a></h1> <span id="id1"></span><h1>Releases<a class="headerlink" href="#releases" title="Permalink to this headline">#</a></h1>
<div class="section" id="v0-8-0">
<h2>v0.8.0<a class="headerlink" href="#v0-8-0" title="Permalink to this headline">#</a></h2>
<ul class="simple">
<li><p>Added option to set http headers (2 per http endpoint), these can be used for
other http formats than json (default) and for adding authentication headers.</p></li>
<li><p>Added possibility to view last 10 errors on device page.</p></li>
<li><p>Added possibility to define token parameter used in iSpindle format.</p></li>
<li><p>Added instructions for how to configure integration with Brewspy</p></li>
<li><p>Added instructions for how to configure integration with Thingspeak</p></li>
<li><p>Added option to do a factory reset via API.</p></li>
<li><p>Logging the runtime, how long a measurement take (last 10 are stored). This can be
used to check how good the wifi connection is and estimate the lifetime when on battery.
Check the device page in the UI for this information.</p></li>
<li><p>Refactored code to free up more RAM to make SSL more stable.</p></li>
<li><p>Before connecting to an SSL endpoint the device will try to use a new SSL feature
called MFLN (Maximum Fragment Length Negotiation) that allow us to reduce the buffers
from 16k to 2k. This can make a huge difference on a device with only 40k RAM. Not all
servers might support this feature.</p></li>
<li><p>Updated documentation pages.</p></li>
<li><p>Tested batterylife, 47 days using an update frequency of 5 min</p></li>
</ul>
</div>
<div class="section" id="v0-7-1"> <div class="section" id="v0-7-1">
<h2>v0.7.1<a class="headerlink" href="#v0-7-1" title="Permalink to this headline"></a></h2> <h2>v0.7.1<a class="headerlink" href="#v0-7-1" title="Permalink to this headline">#</a></h2>
<ul class="simple"> <ul class="simple">
<li><p>Added instructions for how to configure integration with Fermentrack</p></li> <li><p>Added instructions for how to configure integration with Fermentrack</p></li>
<li><p>Added instructions for how to configure integration with Ubidots</p></li> <li><p>Added instructions for how to configure integration with Ubidots</p></li>
@ -210,7 +237,7 @@
</ul> </ul>
</div> </div>
<div class="section" id="v0-7-0"> <div class="section" id="v0-7-0">
<h2>v0.7.0<a class="headerlink" href="#v0-7-0" title="Permalink to this headline"></a></h2> <h2>v0.7.0<a class="headerlink" href="#v0-7-0" title="Permalink to this headline">#</a></h2>
<p>Latest stable version. <a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.7.0">Release v0.7 on Github</a></p> <p>Latest stable version. <a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.7.0">Release v0.7 on Github</a></p>
<ul class="simple"> <ul class="simple">
<li><p>SSL support for HTTP targets</p></li> <li><p>SSL support for HTTP targets</p></li>
@ -235,7 +262,7 @@ the behaviour in v0.6 is wanted this can be done via the format editor.</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="v0-6-0"> <div class="section" id="v0-6-0">
<h2>v0.6.0<a class="headerlink" href="#v0-6-0" title="Permalink to this headline"></a></h2> <h2>v0.6.0<a class="headerlink" href="#v0-6-0" title="Permalink to this headline">#</a></h2>
<p><a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.6.0">Release v0.6 on Github</a></p> <p><a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.6.0">Release v0.6 on Github</a></p>
<ul class="simple"> <ul class="simple">
<li><p>Changed the wifi manager and refactored wifi.cpp</p></li> <li><p>Changed the wifi manager and refactored wifi.cpp</p></li>
@ -251,7 +278,7 @@ the behaviour in v0.6 is wanted this can be done via the format editor.</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="v0-5-0"> <div class="section" id="v0-5-0">
<h2>v0.5.0<a class="headerlink" href="#v0-5-0" title="Permalink to this headline"></a></h2> <h2>v0.5.0<a class="headerlink" href="#v0-5-0" title="Permalink to this headline">#</a></h2>
<p><a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.5.0">Release v0.5 on Github</a></p> <p><a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.5.0">Release v0.5 on Github</a></p>
<ul class="simple"> <ul class="simple">
<li><p>Added feature to calcuate formula on device</p></li> <li><p>Added feature to calcuate formula on device</p></li>
@ -263,7 +290,7 @@ the behaviour in v0.6 is wanted this can be done via the format editor.</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="v0-4-0"> <div class="section" id="v0-4-0">
<h2>v0.4.0<a class="headerlink" href="#v0-4-0" title="Permalink to this headline"></a></h2> <h2>v0.4.0<a class="headerlink" href="#v0-4-0" title="Permalink to this headline">#</a></h2>
<p><a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.4.0">Release v0.4 on Github</a></p> <p><a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.4.0">Release v0.4 on Github</a></p>
<ul class="simple"> <ul class="simple">
<li><p>First release</p></li> <li><p>First release</p></li>
@ -297,11 +324,21 @@ the behaviour in v0.6 is wanted this can be done via the format editor.</p></li>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>
@ -319,6 +356,7 @@ the behaviour in v0.6 is wanted this can be done via the format editor.</p></li>
<div class="toc-tree"> <div class="toc-tree">
<ul> <ul>
<li><a class="reference internal" href="#">Releases</a><ul> <li><a class="reference internal" href="#">Releases</a><ul>
<li><a class="reference internal" href="#v0-8-0">v0.8.0</a></li>
<li><a class="reference internal" href="#v0-7-1">v0.7.1</a></li> <li><a class="reference internal" href="#v0-7-1">v0.7.1</a></li>
<li><a class="reference internal" href="#v0-7-0">v0.7.0</a></li> <li><a class="reference internal" href="#v0-7-0">v0.7.0</a></li>
<li><a class="reference internal" href="#v0-6-0">v0.6.0</a></li> <li><a class="reference internal" href="#v0-6-0">v0.6.0</a></li>

View File

@ -4,9 +4,9 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="#" /> <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/><title>Search - GravityMon 0.7.1 documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/><title>Search - GravityMon 0.8.0 documentation</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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -17,17 +17,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -38,17 +40,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -57,14 +55,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -79,7 +77,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -87,7 +85,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -120,7 +118,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -143,7 +141,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="#" role="search"> </a><form class="sidebar-search-container" method="get" action="#" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search"> <input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -166,11 +164,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -178,8 +178,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -213,11 +218,21 @@
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>

File diff suppressed because one or more lines are too long

View File

@ -4,11 +4,11 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/> <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="Advanced Configuration" href="advanced.html" /><link rel="prev" title="Create formula" href="formula.html" /> <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="Advanced Configuration" href="advanced.html" /><link rel="prev" title="Create formula" href="formula.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/> <meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Service Integration - GravityMon 0.7.1 documentation</title> <title>Service Integration - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <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/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" /> <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
@ -19,17 +19,19 @@
--color-code-foreground: black; --color-code-foreground: black;
} }
body[data-theme="dark"] { @media not print {
--color-code-background: #202020; body[data-theme="dark"] {
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020; --color-code-background: #202020;
--color-code-foreground: #d0d0d0; --color-code-foreground: #d0d0d0;
} }
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
} }
</style></head> </style></head>
<body> <body>
@ -40,17 +42,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24"> <symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title> <title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
<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> </svg>
</symbol> </symbol>
<symbol id="svg-menu" viewBox="0 0 24 24"> <symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title> <title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 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="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="6" x2="21" y2="6"></line>
@ -59,14 +57,14 @@
</symbol> </symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> <symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title> <title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline> <polyline points="9 18 15 12 9 6"></polyline>
</svg> </svg>
</symbol> </symbol>
<symbol id="svg-sun" viewBox="0 0 24 24"> <symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle> <circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="1" x2="12" y2="3"></line>
@ -81,7 +79,7 @@
</symbol> </symbol>
<symbol id="svg-moon" viewBox="0 0 24 24"> <symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" /> <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" /> <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" />
@ -89,7 +87,7 @@
</symbol> </symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24"> <symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title> <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" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow"> stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" /> <circle cx="12" cy="12" r="9" />
@ -122,7 +120,7 @@
</label> </label>
</div> </div>
<div class="header-center"> <div class="header-center">
<a href="index.html"><div class="brand">GravityMon 0.7.1 documentation</div></a> <a href="index.html"><div class="brand">GravityMon 0.8.0 documentation</div></a>
</div> </div>
<div class="header-right"> <div class="header-right">
<div class="theme-toggle-container theme-toggle-header"> <div class="theme-toggle-container theme-toggle-header">
@ -145,7 +143,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.7.1 documentation</span> <span class="sidebar-brand-text">GravityMon 0.8.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search"> </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 class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -168,11 +166,13 @@
<li class="toctree-l1"><a class="reference internal" href="data.html">Data Formats</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="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="contributing.html">Contributing</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> <li class="toctree-l1"><a class="reference internal" href="q_and_a.html">Q &amp; A</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,8 +180,13 @@
<div class="main"> <div class="main">
<div class="content"> <div class="content">
<div class="article-container"> <div class="article-container">
<div class="content-icon-container"> <a href="#" class="back-to-top muted-link">
<div class="theme-toggle-container theme-toggle-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle"> <button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <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-auto"><use href="#svg-sun-half"></use></svg>
@ -196,10 +201,10 @@
</div> </div>
<article role="main"> <article role="main">
<div class="section" id="service-integration"> <div class="section" id="service-integration">
<span id="services"></span><h1>Service Integration<a class="headerlink" href="#service-integration" title="Permalink to this headline"></a></h1> <span id="services"></span><h1>Service Integration<a class="headerlink" href="#service-integration" title="Permalink to this headline">#</a></h1>
<p>This chapter contains a list of targets and what configuration is needed to interact with them.</p> <p>This chapter contains a list of targets and what configuration is needed to interact with them.</p>
<div class="section" id="brewfather"> <div class="section" id="brewfather">
<h2>Brewfather<a class="headerlink" href="#brewfather" title="Permalink to this headline"></a></h2> <h2>Brewfather<a class="headerlink" href="#brewfather" title="Permalink to this headline">#</a></h2>
<p>Brewfather is an all in one service that allows you to manage you recepies and brews.</p> <p>Brewfather is an all in one service that allows you to manage you recepies and brews.</p>
<p>Just enter the http adress found on brewfather, not other settings are needed. The endpoint has the following format:</p> <p>Just enter the http adress found on brewfather, not other settings are needed. The endpoint has the following format:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>http://log.brewfather.net/http://log.brewfather.net/stream?id=&lt;yourid&gt; <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>http://log.brewfather.net/http://log.brewfather.net/stream?id=&lt;yourid&gt;
@ -208,7 +213,7 @@
<p>The URL is found under settings.</p> <p>The URL is found under settings.</p>
</div> </div>
<div class="section" id="fermentrack"> <div class="section" id="fermentrack">
<h2>Fermentrack<a class="headerlink" href="#fermentrack" title="Permalink to this headline"></a></h2> <h2>Fermentrack<a class="headerlink" href="#fermentrack" title="Permalink to this headline">#</a></h2>
<p><a class="reference external" href="https://www.fermentrack.com">Fermentrack</a> is a open source brewing software to monitor and control fermentation.</p> <p><a class="reference external" href="https://www.fermentrack.com">Fermentrack</a> is a open source brewing software to monitor and control fermentation.</p>
<p>GravityMon can be installed and used as an iSpindle. Just register the device as an iSpindle and use the defined endpoint which normally is:</p> <p>GravityMon can be installed and used as an iSpindle. Just register the device as an iSpindle and use the defined endpoint which normally is:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">myservername</span><span class="o">/</span><span class="n">ispindel</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">myservername</span><span class="o">/</span><span class="n">ispindel</span>
@ -216,7 +221,7 @@
</div> </div>
</div> </div>
<div class="section" id="ubidots"> <div class="section" id="ubidots">
<h2>UBIdots<a class="headerlink" href="#ubidots" title="Permalink to this headline"></a></h2> <h2>UBIdots<a class="headerlink" href="#ubidots" title="Permalink to this headline">#</a></h2>
<p><a class="reference external" href="https://www.ubidots.com">UBIdots</a> is a IoT service that display data collected various sources.</p> <p><a class="reference external" href="https://www.ubidots.com">UBIdots</a> is a IoT service that display data collected various sources.</p>
<p>For this service there are two options to configure the integration. First you will need your default token which is found under <cite>API Credentials</cite> (&lt;api-tokem&gt; in the example below). <p>For this service there are two options to configure the integration. First you will need your default token which is found under <cite>API Credentials</cite> (&lt;api-tokem&gt; in the example below).
Swap the text &lt;devicename&gt; with the name you want to show in ubidots.</p> Swap the text &lt;devicename&gt; with the name you want to show in ubidots.</p>
@ -225,6 +230,18 @@ Swap the text &lt;devicename&gt; with the name you want to show in ubidots.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>http://industrial.api.ubidots.com/api/v1.6/devices/&lt;devicename&gt;/?token=&lt;api-token&gt; <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>http://industrial.api.ubidots.com/api/v1.6/devices/&lt;devicename&gt;/?token=&lt;api-token&gt;
</pre></div> </pre></div>
</div> </div>
<p>This is the less secure option.</p>
<p><strong>Option 2</strong> - token as the http header</p>
<p>Enter the following as URL, use either standard or ssl.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">industrial</span><span class="o">.</span><span class="n">api</span><span class="o">.</span><span class="n">ubidots</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">v1</span><span class="mf">.6</span><span class="o">/</span><span class="n">devices</span><span class="o">/&lt;</span><span class="n">devicename</span><span class="o">&gt;</span>
<span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">industrial</span><span class="o">.</span><span class="n">api</span><span class="o">.</span><span class="n">ubidots</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">v1</span><span class="mf">.6</span><span class="o">/</span><span class="n">devices</span><span class="o">/&lt;</span><span class="n">devicename</span><span class="o">&gt;</span>
</pre></div>
</div>
<p>Under <cite>Headers</cite> (button after the http url in the UI) enter the following string:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">X</span><span class="o">-</span><span class="n">Auth</span><span class="o">-</span><span class="n">Token</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">api</span><span class="o">-</span><span class="n">token</span><span class="o">&gt;</span>
</pre></div>
</div>
<p>This is the more secure option.</p>
<p>Even though ubidots can handle the default ispindle format it probably better to just post the data you want. This is an example of a <p>Even though ubidots can handle the default ispindle format it probably better to just post the data you want. This is an example of a
format template that can be used. For information on customizing the format see <a class="reference internal" href="advanced.html#format-editor"><span class="std std-ref">Format editor</span></a>.</p> format template that can be used. For information on customizing the format see <a class="reference internal" href="advanced.html#format-editor"><span class="std std-ref">Format editor</span></a>.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>{ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>{
@ -238,7 +255,7 @@ format template that can be used. For information on customizing the format see
</div> </div>
</div> </div>
<div class="section" id="home-assistant"> <div class="section" id="home-assistant">
<h2>Home Assistant<a class="headerlink" href="#home-assistant" title="Permalink to this headline"></a></h2> <h2>Home Assistant<a class="headerlink" href="#home-assistant" title="Permalink to this headline">#</a></h2>
<p><a class="reference external" href="https://www.homeassistant.com">HomeAssistant</a> is a platform for home automation and can collect sensor data <p><a class="reference external" href="https://www.homeassistant.com">HomeAssistant</a> is a platform for home automation and can collect sensor data
from multiple devices.</p> from multiple devices.</p>
<p>This setup uses the MQTT integration with home assistant to collect values from the device.</p> <p>This setup uses the MQTT integration with home assistant to collect values from the device.</p>
@ -266,12 +283,12 @@ gravmon/${mdns}/temp_units:${temp-unit}|
</div> </div>
</div> </div>
<div class="section" id="brewer-s-friend"> <div class="section" id="brewer-s-friend">
<h2>Brewers Friend<a class="headerlink" href="#brewer-s-friend" title="Permalink to this headline"></a></h2> <h2>Brewers Friend<a class="headerlink" href="#brewer-s-friend" title="Permalink to this headline">#</a></h2>
<p>Brewers friend is an all in one service that allows you to manage you recepies and brews.</p> <p>Brewers friend is an all in one service that allows you to manage you recepies and brews.</p>
<div class="admonition warning"> <div class="admonition warning">
<p class="admonition-title">Warning</p> <p class="admonition-title">Warning</p>
<p>I dont have an account for brewers friend so I have not been able to verfy this completely. Its based on <p>I dont have an account for brewers friend so I have not been able to verfy this completely. Its based on
the available documentation.</p> the available documentation. If this works please let</p>
</div> </div>
<p>You can find you API key when logged in to the service. Follow these <a class="reference external" href="https://docs.brewersfriend.com/devices/ispindel">instructions</a></p> <p>You can find you API key when logged in to the service. Follow these <a class="reference external" href="https://docs.brewersfriend.com/devices/ispindel">instructions</a></p>
<p><strong>Note there are different URLs if you are using plato or specific gravity!</strong></p> <p><strong>Note there are different URLs if you are using plato or specific gravity!</strong></p>
@ -296,6 +313,35 @@ format for the endpoint. Just add you API key after token.</p>
</pre></div> </pre></div>
</div> </div>
</div> </div>
<div class="section" id="brewspy">
<h2>Brewspy<a class="headerlink" href="#brewspy" title="Permalink to this headline">#</a></h2>
<p>BrewSpy is a service that can show the history and manage the brew.</p>
<p>You need to enter the Token found in brewspy. The field is found under the field for http configuration.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">brew</span><span class="o">-</span><span class="n">spy</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">ispindel</span>
</pre></div>
</div>
</div>
<div class="section" id="thingspeak">
<h2>Thingspeak<a class="headerlink" href="#thingspeak" title="Permalink to this headline">#</a></h2>
<p>Thingspeak is an IoT platform for receiving data which can be visualized.</p>
<p>In order to use this platform you need to create a channel (channel = device) and get the APIKEY for
writing to the channel. Each channel can handle up to 8 measurements. In the http field enter the following URL.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">api</span><span class="o">.</span><span class="n">thingspeak</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">update</span><span class="o">.</span><span class="n">json</span>
</pre></div>
</div>
<p>You also need to create a custom format for the selected endpoint where the field1-field8 contains the data
you want to include. The example below sends 5 different values to the channel identified by the API key.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>{
"api_key": "&lt;your write api key for channel&gt;",
"field1": ${gravity},
"field2": ${temp},
"field3": ${angle},
"field4": ${battery},
"field5": ${rssi}
}
</pre></div>
</div>
</div>
</div> </div>
</article> </article>
@ -324,11 +370,21 @@ format for the endpoint. Just add you API key after token.</p>
</div> </div>
</a> </a>
</div> </div>
<div class="bottom-of-page">
<div class="related-information"> <div class="left-details">
Copyright &#169; 2021-2022, Magnus Persson | <div class="copyright">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s Copyright &#169; 2021-2022, Magnus Persson
<a href="https://github.com/pradyunsg/furo">Furo theme</a>. </div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div> </div>
</footer> </footer>
@ -351,6 +407,8 @@ format for the endpoint. Just add you API key after token.</p>
<li><a class="reference internal" href="#ubidots">UBIdots</a></li> <li><a class="reference internal" href="#ubidots">UBIdots</a></li>
<li><a class="reference internal" href="#home-assistant">Home Assistant</a></li> <li><a class="reference internal" href="#home-assistant">Home Assistant</a></li>
<li><a class="reference internal" href="#brewer-s-friend">Brewers Friend</a></li> <li><a class="reference internal" href="#brewer-s-friend">Brewers Friend</a></li>
<li><a class="reference internal" href="#brewspy">Brewspy</a></li>
<li><a class="reference internal" href="#thingspeak">Thingspeak</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>

324
docs/troubleshooting.html Normal file
View File

@ -0,0 +1,324 @@
<!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="Q &amp; A" href="q_and_a.html" /><link rel="prev" title="Contributing" href="contributing.html" />
<meta name="generator" content="sphinx-4.4.0, furo 2022.03.04"/>
<title>Troubleshooting - GravityMon 0.8.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=935aa2abcc5c1da4283d1dc201fb1f0add16d23a" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=25ceb02ed1c46dc30f2321ff83e92799f69dfdb9" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
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 stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" 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" 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" 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" 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" 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 0.8.0 documentation</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" href="index.html">
<span class="sidebar-brand-text">GravityMon 0.8.0 documentation</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="license.html">Licence</a></li>
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</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="releases.html">Releases</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="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"><a class="reference internal" href="advanced.html">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 current current-page"><a class="current reference internal" href="#">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">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<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="troubleshooting">
<span id="id1"></span><h1>Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permalink to this headline">#</a></h1>
<div class="section" id="log-errors">
<h2>Log errors<a class="headerlink" href="#log-errors" title="Permalink to this headline">#</a></h2>
<ul>
<li><p>Not enough values for deriving formula</p>
<p>To create a formula its required to have at least 3 measurements.</p>
</li>
<li><p>Error validating created formula. Deviation to large, formula rejected</p>
<p>The device will try to create formulas with different complexities. It will try to
validate the formula using the supplied values. If the differnce is more than 1.6 SG on any point
the formula will be rejected. Check the entered values if they seams to be resonable.</p>
</li>
<li><p>No valid calibration values, please calibrate the device.</p>
<p>The gyro needs to be calibrated at 90 degress (flat). This is done on the configration page.</p>
</li>
<li><p>Low on memory, skipping push</p>
<p>The arduino libraries sometimes leak memory, this only occurs when running in configuration mode. To avoid
crashes the device will skip pushing data if the memory drops to much. Network connections seams to be connected
to memory leaks.</p>
</li>
<li><p>Unable to set header, invalid value</p>
<p>Check the format for your custom header. This means it has not a correct format.</p>
</li>
<li><p>Influxdb push failed response</p></li>
<li><p>Brewfather push failed response</p></li>
<li><p>HTTP push failed response</p>
<p>All these errors are standard http error codes. This are the commone ones;</p>
<ul class="simple">
<li><p>400 - Bad request. Probably an issue with the post format. Check format in the format editor.</p></li>
<li><p>401 - Unathorized. The service needs an token or other means to authenticate the device.</p></li>
<li><p>403 - Forbidden. Could be an issue with token or URL.</p></li>
<li><p>404 - Not found. Probably a wrong URL.</p></li>
</ul>
</li>
<li><p>MQTT push on &lt;topic&gt; failed error</p>
<ul class="simple">
<li><p>-3 - Network failed connected</p></li>
<li><p>-10 - Connection denied</p></li>
</ul>
</li>
</ul>
</div>
</div>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="q_and_a.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Q &amp; A</div>
</div>
<svg><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="contributing.html">
<svg><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Contributing</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2021-2022, Magnus Persson
</div>
Made with <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</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</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="#">Troubleshooting</a><ul>
<li><a class="reference internal" href="#log-errors">Log errors</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>
</body>
</html>