Update documentation
This commit is contained in:
parent
6e8dcc52ac
commit
5244f412c8
Binary file not shown.
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 62 KiB |
Binary file not shown.
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 45 KiB |
BIN
docs/_images/format.png
Normal file
BIN
docs/_images/format.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
@ -8,6 +8,7 @@ Documentation
|
||||
|
||||
- Write contribution instructions
|
||||
- Example project for creating integrations and instructions
|
||||
- Add instructions for other services
|
||||
|
||||
Code
|
||||
----
|
||||
@ -15,4 +16,5 @@ Code
|
||||
- Support for plato
|
||||
- Use pre-commit for validating check-in
|
||||
- Show indicated battery life based on interval (check if its feasable)
|
||||
- Use brewflasher for flashing
|
||||
- Add possibility to add one certificate for proper SSL authentication.
|
||||
- Add configurable Authentication/Token header to http/https requests
|
||||
|
@ -30,12 +30,16 @@ In the platformio config there are 3 targets defined
|
||||
* gravity-debug; Maximum logging for trouble shooting, deep sleep is disabled.
|
||||
* gravity-release; Standard release
|
||||
* gravity-perf; Standard release but contains code for measuring performance
|
||||
* gravity32-perf: Experimental version for ESP32.
|
||||
|
||||
.. note::
|
||||
There is an experimental ESP32 target but since platformio only supports SDK 1.0.6 and the WIFI connection is really slow compared to ESP8266,
|
||||
so the recommendation is to wait for support on 2.0.x branch. With the tested version an wifi connection takes 3-8s on a ESP32 compared
|
||||
to 0.5s on an ESP8266. There is also a bug in OneWire connected to ESP32 that has not been fixed in the main repository yet.
|
||||
|
||||
.. warning::
|
||||
The debug target can be unsable and crash the device under certain circumstanses.
|
||||
Excessive logging to the serial port can cause corruption and crashes. I'm still
|
||||
trying to figure out what causes these issues in the debug target. Other targets are
|
||||
stable and works fine.
|
||||
The debug target can be unstable and crash the device under certain circumstanses. Excessive logging to the serial port can cause corruption and crashes.
|
||||
So only enable enough debugging to troubleshoot your changes.
|
||||
|
||||
|
||||
Source structure
|
||||
@ -83,19 +87,9 @@ This is a list of C++ defines that is used to enable/disable functions in the co
|
||||
* - ACTIVATE_OTA
|
||||
- Enables the OTA functionallity in the code
|
||||
* - SKIP_SLEEPMODE
|
||||
- THe device never goes into sleep mode, useful when developing.
|
||||
* - CFG_DISABLE_LOGGING
|
||||
- Done include verbose logging in Config class. Excessive logging may crash device.
|
||||
* - GYRO_DISABLE_LOGGING
|
||||
- Done include verbose logging in Gyro class. Excessive logging may crash device.
|
||||
* - PUSH_DISABLE_LOGGING
|
||||
- Done include verbose logging in PushTarget class. Excessive logging may crash device.
|
||||
* - TSEN_DISABLE_LOGGING
|
||||
- Done include verbose logging in TempSensor class. Excessive logging may crash device.
|
||||
* - WEB_DISABLE_LOGGING
|
||||
- Done include verbose logging in WebServer class. Excessive logging may crash device.
|
||||
* - MAIN_DISABLE_LOGGING
|
||||
- Done include verbose logging in Main class. Excessive logging may crash device.
|
||||
- The device never goes into sleep mode, useful when developing.
|
||||
* - xxx_DISABLE_LOGGING
|
||||
- Done include verbose logging in the corresponding class. Excessive logging may crash device.
|
||||
* - USE_LITTLEFS
|
||||
- Use the new filesystem in Ardurino
|
||||
* - EMBED_HTML
|
||||
|
@ -12,6 +12,7 @@ One of the following conditions will place the device in ``configuration mode``:
|
||||
- Placed in horizontal mode 85-90 degrees
|
||||
- Charger connected >4.15V
|
||||
|
||||
|
||||
Status
|
||||
======
|
||||
|
||||
@ -97,21 +98,35 @@ Push Settings
|
||||
:width: 800
|
||||
:alt: Push Settings
|
||||
|
||||
.. note::
|
||||
|
||||
When enabling SSL this will not validate the root CA of the remote service, this is a design decision based on two aspects. Enabling CA validation will take 3-4s extra on each connection which means way less
|
||||
battery life, so the decision is to prioritize battery life over security. The data transmitted is not really that sensitive anyway so I belive this is a good balance.
|
||||
|
||||
|
||||
* **HTTP URL 1:**
|
||||
|
||||
Endpoint to send data via http. Format used Format used :ref:`data-formats-ispindle`
|
||||
Endpoint to send data via http. Default format used Format used :ref:`data-formats-ispindle`. You can customize the format using :ref:`format-editor`.
|
||||
|
||||
If you add the prefix `https://` then the device will use SSL when sending data.
|
||||
|
||||
* **HTTP URL 2:**
|
||||
|
||||
Endpoint to send data via http. Format used :ref:`data-formats-ispindle`
|
||||
Endpoint to send data via http. Default format used :ref:`data-formats-ispindle`. You can customize the format using :ref:`format-editor`.
|
||||
|
||||
If you add the prefix `https://` then the device will use SSL when sending data.
|
||||
|
||||
* **Brewfather URL:**
|
||||
|
||||
Endpoint to send data via http to brewfather. Format used :ref:`data-formats-brewfather`
|
||||
|
||||
SSL is not supported for this target.
|
||||
|
||||
* **Influx DB v2 URL:**
|
||||
|
||||
Endpoint to send data via http to InfluxDB. Format used :ref:`data-formats-influxdb2`
|
||||
Endpoint to send data via http to InfluxDB. Format used :ref:`data-formats-influxdb2`. You can customize the format using :ref:`format-editor`.
|
||||
|
||||
SSL is not supported for this target. Raise a issue on github if this is wanted.
|
||||
|
||||
* **Influx DB v2 Organisation:**
|
||||
|
||||
@ -127,11 +142,11 @@ Push Settings
|
||||
|
||||
* **MQTT server:**
|
||||
|
||||
IP or name of server to send data to. Format used :ref:`data-formats-ispindle`
|
||||
IP or name of server to send data to. Default format used :ref:`data-formats-mqtt`. You can customize the format using :ref:`format-editor`.
|
||||
|
||||
* **MQTT Topic:**
|
||||
* **MQTT Port:**
|
||||
|
||||
Name of topic to publish sensor readings to, iSpindle format is used.
|
||||
Which port should be used for communication, default is 1883 (standard port). For SSL use 8883 (any port over 8000 is treated as SSL).
|
||||
|
||||
* **MQTT user:**
|
||||
|
||||
@ -149,6 +164,10 @@ Gravity Settings
|
||||
:width: 800
|
||||
:alt: Gravity Settings
|
||||
|
||||
* **Gravity format:**
|
||||
|
||||
Gravity format can be eihter `SG` or `Plato`. The device will use SG Internally and convert to Plato when displaying data.
|
||||
|
||||
* **Gravity formula:**
|
||||
|
||||
Gravity formula is compatible with standard iSpindle formulas so any existing calculation option can be used. You can also use
|
||||
@ -159,9 +178,9 @@ Gravity Settings
|
||||
Will apply a temperature calibration formula to the gravity as a second step.
|
||||
|
||||
.. warning::
|
||||
This formula assumes that the calibration has been done at 20C.
|
||||
This formula assumes that the calibration has been done at 20°C / 68°F.
|
||||
|
||||
Formula used in temperature correction:
|
||||
Formula used in temperature correction.
|
||||
|
||||
::
|
||||
|
||||
@ -199,6 +218,8 @@ Hardware Settings
|
||||
For the OTA to work, place the following files (version.json + firmware.bin) at the location that you pointed out in OTA URL. If the version number in the json file is newer than in the
|
||||
code the update will be done during startup.
|
||||
|
||||
If you have the previx `https://` then the device will use secure transfer without CA validation.
|
||||
|
||||
Example; OTA URL (don't forget trailing dash), the name of the file should be firmware.bin
|
||||
|
||||
.. code-block::
|
||||
@ -206,6 +227,96 @@ Hardware Settings
|
||||
http://192.168.1.1/firmware/gravmon/
|
||||
|
||||
|
||||
.. _format-editor:
|
||||
|
||||
Format editor
|
||||
#############
|
||||
|
||||
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.
|
||||
|
||||
.. warning::
|
||||
|
||||
Since the format templates can be big this function can be quite slow on a small device such as the esp8266.
|
||||
|
||||
.. image:: images/format.png
|
||||
:width: 800
|
||||
:alt: Format editor
|
||||
|
||||
You enter the format data in the text field and the test button will show an example on what the output would look like. If the data cannot be formatted in json it will just be displayed as a long string.
|
||||
The save button will save the current formla and reload the data from the device.
|
||||
|
||||
.. tip::
|
||||
|
||||
If you save a blank string the default template will be loaded.
|
||||
|
||||
These are the format keys available for use in the format.
|
||||
|
||||
.. list-table:: Directory structure
|
||||
:widths: 30 50 20
|
||||
:header-rows: 1
|
||||
|
||||
* - key
|
||||
- description
|
||||
- example
|
||||
* - ${mdns}
|
||||
- Name of the device
|
||||
- gravmon2
|
||||
* - ${id}
|
||||
- Unique id of the device
|
||||
- e422a3
|
||||
* - ${sleep-interval}
|
||||
- Seconds between data is pushed
|
||||
- 900
|
||||
* - ${temp}
|
||||
- Temperature in format configured on device, one decimal
|
||||
- 21.2
|
||||
* - ${temp-c}
|
||||
- Temperature in C, one decimal
|
||||
- 21.2
|
||||
* - ${temp-f}
|
||||
- Temperature in F, one decimal
|
||||
- 58.0
|
||||
* - ${temp-unit}
|
||||
- Temperature format `C` or `F`
|
||||
- C
|
||||
* - ${battery}
|
||||
- Battery voltage, two decimals
|
||||
- 3.89
|
||||
* - ${rssi}
|
||||
- Wifi signal strength
|
||||
- -75
|
||||
* - ${run-time}
|
||||
- How long the last measurement took, two decimals
|
||||
- 3.87
|
||||
* - ${angle}
|
||||
- Angle of the gyro, two decimals
|
||||
- 28.67
|
||||
* - ${tilt}
|
||||
- Same as angle.
|
||||
- 28.67
|
||||
* - ${gravity}
|
||||
- Calculated gravity, 4 decimals for SG and 1 for Plato.
|
||||
- 1.0456
|
||||
* - ${gravity-sg}
|
||||
- Calculated gravity in SG, 4 decimals
|
||||
- 1.0456
|
||||
* - ${gravity-plato}
|
||||
- Calculated gravity in Plato, 1 decimal
|
||||
- 8.5
|
||||
* - ${corr-gravity}
|
||||
- Temperature corrected gravity, 4 decimals for SG and 1 for Plato.
|
||||
- 1.0456
|
||||
* - ${corr-gravity-sg}
|
||||
- Temperature corrected gravity in SG, 4 decimals
|
||||
- 1.0456
|
||||
* - ${corr-gravity-plato}
|
||||
- Temperature corrected gravity in Plato, 1 decimal
|
||||
- 8.5
|
||||
* - ${gravity-unit}
|
||||
- Gravity format, `G` or `P`
|
||||
- G
|
||||
|
||||
|
||||
.. _create-formula:
|
||||
|
||||
Create formula
|
||||
@ -255,7 +366,7 @@ Other parameters are the same as in the configuration guide.
|
||||
"influxdb2-bucket": "Qwerty",
|
||||
"influxdb2-auth": "Qwerty",
|
||||
"mqtt-push": "192.168.1.50",
|
||||
"mqtt-topic": "Qwerty",
|
||||
"mqtt-port": 1883,
|
||||
"mqtt-user": "Qwerty",
|
||||
"mqtt-pass": "Qwerty",
|
||||
"sleep-interval": 30,
|
||||
@ -325,7 +436,7 @@ GET: /api/config/formula
|
||||
Retrive the data used for formula calculation data via an HTTP GET command. Payload is in JSON format.
|
||||
|
||||
* ``a1``-``a4`` are the angles/tilt readings (up to 5 are currently supported)
|
||||
* ``g1``-``g4`` are the corresponding gravity reaadings (in SG)
|
||||
* ``g1``-``g4`` are the corresponding gravity reaadings in SG or Plato depending on the device-format.
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
@ -340,8 +451,9 @@ Retrive the data used for formula calculation data via an HTTP GET command. Payl
|
||||
"g2": 1.053,
|
||||
"g3": 1.062,
|
||||
"g4": 1,
|
||||
"g5": 1
|
||||
"gravity-formula": "0.0*tilt^3+0.0*tilt^2+0.0017978*tilt+0.9436",
|
||||
"g5": 1,
|
||||
"gravity-format": "G",
|
||||
"gravity-formula": "0.0*tilt^3+0.0*tilt^2+0.0017978*tilt+0.9436"
|
||||
}
|
||||
|
||||
|
||||
@ -350,7 +462,7 @@ POST: /api/config/device
|
||||
|
||||
Used to update device settings via an HTTP POST command. Payload is in JSON format.
|
||||
|
||||
* ``temp-format`` can be either ``C`` or ``F``
|
||||
* ``temp-format`` can be either ``C`` (Celcius) or ``F`` (Farenheight)
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
@ -379,7 +491,7 @@ Used to update push settings via an HTTP POST command. Payload is in JSON format
|
||||
"influxdb2-bucket": "Qwerty",
|
||||
"influxdb2-auth": "Qwerty"
|
||||
"mqtt-push": "192.168.1.50",
|
||||
"mqtt-topic": "Qwerty",
|
||||
"mqtt-port": 1883,
|
||||
"mqtt-user": "Qwerty",
|
||||
"mqtt-pass": "Qwerty",
|
||||
}
|
||||
@ -391,6 +503,7 @@ POST: /api/config/gravity
|
||||
Used to update gravity settings via an HTTP POST command. Payload is in JSON format.
|
||||
|
||||
* ``gravity-formula`` keywords ``temp`` and ``tilt`` are supported.
|
||||
* ``gravity-format`` can be either ``G`` (SG) or ``P`` (PLATO)
|
||||
|
||||
.. note::
|
||||
``gravity-temp-adjustment`` is defined as "on" or "off" when posting since this is the output values
|
||||
@ -401,6 +514,7 @@ Used to update gravity settings via an HTTP POST command. Payload is in JSON for
|
||||
{
|
||||
"id": "ee1bfc",
|
||||
"gravity-formula": "0.0*tilt^3+0.0*tilt^2+0.0017978*tilt+0.9436",
|
||||
"gravity-format": "P",
|
||||
"gravity-temp-adjustment": "off"
|
||||
}
|
||||
|
||||
@ -491,7 +605,7 @@ present or the API call will fail.
|
||||
"influxdb2-bucket": "",
|
||||
"influxdb2-auth": "",
|
||||
"mqtt-push": "192.168.1.50",
|
||||
"mqtt-topic": "Qwerty",
|
||||
"mqtt-port": 1883,
|
||||
"mqtt-user": "Qwerty",
|
||||
"mqtt-pass": "Qwerty"
|
||||
}
|
||||
@ -500,6 +614,7 @@ present or the API call will fail.
|
||||
url = "http://" + host + "/api/config/gravity"
|
||||
json = { "id": id,
|
||||
"gravity-formula": "",
|
||||
"gravity-format": "P",
|
||||
"gravity-temp-adjustment": "off" # Adjust gravity (on/off)
|
||||
}
|
||||
set_config( url, json )
|
||||
@ -542,6 +657,7 @@ iSpindle format
|
||||
This is the format used for standard http posts.
|
||||
|
||||
* ``corr-gravity`` is an extended parameter containing a temperature corrected gravity reading.
|
||||
* ``gravity-format`` is an extended parameter containing the gravity format (G or P).
|
||||
* ``run-time`` is an extended parameter containing the number of seconds the execution took.
|
||||
|
||||
.. code-block:: json
|
||||
@ -554,27 +670,49 @@ This is the format used for standard http posts.
|
||||
"temperature": 20.5,
|
||||
"temp-units": "C",
|
||||
"gravity": 1.0050,
|
||||
"corr-gravity": 1.0050,
|
||||
"angle": 45.34,
|
||||
"battery": 3.67,
|
||||
"rssi": -12,
|
||||
|
||||
"corr-gravity": 1.0050,
|
||||
"gravity-unit": "G",
|
||||
"run-time": 6
|
||||
}
|
||||
|
||||
|
||||
This is the format template used to create the json above.
|
||||
|
||||
.. code-block::
|
||||
|
||||
{
|
||||
"name" : "gravmon", "
|
||||
"ID": "${id}", "
|
||||
"token" : "gravmon", "
|
||||
"interval": ${sleep-interval}, "
|
||||
"temperature": ${temp}, "
|
||||
"temp-units": "${temp-unit}", "
|
||||
"gravity": ${gravity}, "
|
||||
"angle": ${angle}, "
|
||||
"battery": ${battery}, "
|
||||
"rssi": ${rssi}, "
|
||||
"corr-gravity": ${corr-gravity}, "
|
||||
"gravity-unit": "${gravity-unit}", "
|
||||
"run-time": ${run-time} "
|
||||
}
|
||||
|
||||
|
||||
.. _data-formats-brewfather:
|
||||
|
||||
Brewfather format
|
||||
=================
|
||||
|
||||
This is the format for Brewfather
|
||||
This is the format for Brewfather. See: `Brewfather API docs <https://docs.brewfather.app/integrations/custom-stream>`_
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"name" : "gravmon",
|
||||
"temp": 20.5,
|
||||
"temp-unit": "C",
|
||||
"temp_unit": "C",
|
||||
"battery": 3.67,
|
||||
"gravity": 1.0050,
|
||||
"gravity_unit": "G",
|
||||
@ -591,7 +729,55 @@ This is the format for InfluxDB v2
|
||||
.. code-block::
|
||||
|
||||
measurement,host=<mdns>,device=<id>,temp-format=<C|F>,gravity-format=SG,gravity=1.0004,corr-gravity=1.0004,angle=45.45,temp=20.1,battery=3.96,rssi=-18
|
||||
|
||||
|
||||
This is the format template used to create the json above.
|
||||
|
||||
.. code-block::
|
||||
|
||||
measurement,host=${mdns},device=${id},temp-format=${temp-unit},gravity-format=${gravity-unit} gravity=${gravity},corr-gravity=${corr-gravity},angle=${angle},temp=${temp},battery=${battery},rssi=${rssi}
|
||||
|
||||
|
||||
.. _data-formats-mqtt:
|
||||
|
||||
MQTT
|
||||
====
|
||||
|
||||
This is the format used to send data to MQTT. Each of the lines are specific topics
|
||||
|
||||
.. code-block::
|
||||
|
||||
ispindel/device_name/tilt 89.96796
|
||||
ispindel/device_name/temperature 21.375
|
||||
ispindel/device_name/temp_units C
|
||||
ispindel/device_name/battery 0.04171
|
||||
ispindel/device_name/gravity 33.54894
|
||||
ispindel/device_name/interval 1
|
||||
ispindel/device_name/RSSI -58
|
||||
|
||||
|
||||
This is the format template used to create the json above.
|
||||
|
||||
.. tip::
|
||||
|
||||
Each line in the format is treated as one topic. The `|` is used as separator between lines and the first `:` is used as separator between topic and value. Each line is formatted as `<topic>:<value>`
|
||||
|
||||
.. code-block::
|
||||
|
||||
ispindel/${mdns}/tilt:${angle}|
|
||||
ispindel/${mdns}/temperature:${temp}|
|
||||
ispindel/${mdns}/temp_units:${temp-unit}|
|
||||
ispindel/${mdns}/battery:${battery}|
|
||||
ispindel/${mdns}/gravity:${gravity}|
|
||||
ispindel/${mdns}/interval:${sleep-interval}|
|
||||
ispindel/${mdns}/RSSI:${rssi}|
|
||||
|
||||
This is a format template that is compatible with v0.6. Just replace the `topic` with the topic you want to post data to.
|
||||
|
||||
.. code-block::
|
||||
|
||||
topic:{"name":"gravmon","ID":"${id}","token":"gravmon","interval": ${sleep-interval},"temperature": ${temp},"temp-units": "${temp-unit}","gravity":${gravity},"angle": ${angle},"battery":${battery},"rssi": ${rssi},"corr-gravity":${corr-gravity},"gravity-unit": "${gravity-unit}","run-time": ${run-time}}|
|
||||
|
||||
|
||||
version.json
|
||||
============
|
||||
@ -604,11 +790,12 @@ they can be uploaded manually afterwards.
|
||||
|
||||
{
|
||||
"project":"gravmon",
|
||||
"version":"0.4.10",
|
||||
"version":"0.7.0",
|
||||
"html": [
|
||||
"index.min.htm",
|
||||
"device.min.htm",
|
||||
"config.min.htm",
|
||||
"format.min.htm",
|
||||
"calibration.min.htm",
|
||||
"about.min.htm"
|
||||
]
|
||||
|
@ -3,36 +3,57 @@
|
||||
Functionallity
|
||||
==============
|
||||
|
||||
The main differences
|
||||
--------------------
|
||||
The main features
|
||||
-----------------
|
||||
|
||||
* **Operates in two modes gravity monitoring and configuration mode**
|
||||
|
||||
In ``gravity monitoring`` 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.
|
||||
In ``gravity monitoring`` 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.
|
||||
|
||||
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
|
||||
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
|
||||
via an REST API so data can be pushed to the device via scripts (see API section for more information).
|
||||
|
||||
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
|
||||
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
|
||||
sequence can be handled via the web interface without need for additional software tools.
|
||||
|
||||
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**
|
||||
|
||||
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 a lot of battery power so use only as many as needed.
|
||||
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.
|
||||
|
||||
Currently the device supports the following endpoints: http (2 different), influxdb2 and Brewfather
|
||||
Currently the device supports the following endpoints: http (2 different), influxdb2, Brewfather and MQTT.
|
||||
|
||||
If you want additional targets please raise a feature request in the github repo.
|
||||
|
||||
* **Build in function to create gravity formulas, so no need for using other tools for this part**
|
||||
* **Create gravity formulas on the device**
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
.. note::
|
||||
|
||||
This feature needs more testing to be validated.
|
||||
|
||||
* **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
|
||||
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
|
||||
for other users to enjoy. See the :ref:`format-editor` for more information.
|
||||
|
||||
.. note::
|
||||
|
||||
This feature needs more testing to be validated.
|
||||
|
||||
* **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 feature that can correct the gravity as a second step making this independant of the formula.
|
||||
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.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -98,11 +119,16 @@ Experimental features
|
||||
Battery life
|
||||
------------
|
||||
|
||||
I'm currently measuring battery life of v0.5 but previous versions have been able to measure gravity for a 2-3 weeks without issues (Using 900 seconds as interval).
|
||||
I'm currently measuring battery life of v0.5 but previous versions have been able to measure gravity for
|
||||
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
|
||||
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
|
||||
can take around 400ms but can in some cases take up to 8 seconds.
|
||||
|
||||
*More on this topics once my tests are done*
|
||||
|
||||
|
||||
Performance
|
||||
-----------
|
||||
|
||||
|
@ -7,11 +7,13 @@ Welcome to GravityMon's documentation!
|
||||
######################################
|
||||
|
||||
.. note::
|
||||
This documentation reflects **v0.6**. Last updated 2022-01-15
|
||||
This documentation reflects **v0.7**. Last updated 2022-01-23
|
||||
|
||||
|
||||
GravityMon is a replacement firmare for the iSpindle firmware, it uses the same hardware configuration so
|
||||
you can easily switch between them. It's used to measure gravity in beer and show the progress of fermentation.
|
||||
you can easily switch between them.
|
||||
|
||||
It's used to measure gravity in beer and show the progress of fermentation.
|
||||
|
||||
For more information on this topic and function please visit `iSpindel Homepage <https://www.ispindel.de>`_ .
|
||||
|
||||
@ -23,9 +25,6 @@ The hardware design comes from the fantastic iSpindle project so that is not cov
|
||||
My approach to this software is a little different from that the original ispindle firmware. The github repository can
|
||||
be found here; `GravityMon on Github <https://github.com/mp-se/gravitymon>`_
|
||||
|
||||
|
||||
|
||||
|
||||
.. note::
|
||||
This software is in the early stages even though its more than one year old so if you find issues, please
|
||||
open a ticket on github.
|
||||
@ -46,6 +45,8 @@ The main differences:
|
||||
* Visual graph showing how formula will be interpreted
|
||||
* 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.
|
||||
* Option to customize data posted to endpoints using template from the UI.
|
||||
|
||||
For a complete breakdown see the :ref:`functionallity`
|
||||
|
||||
|
@ -6,3 +6,4 @@ My device is no going in to sleep after fully charged
|
||||
- Calibrate the device in the web interface
|
||||
- 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.
|
||||
- Check in reported voltage of the battery in the web interface. If this is higher than 4.15V the device belives its beeing charged. In that case adjust the voltage factor under hardware so the voltage drops below 4.15V.
|
||||
- Check if the `always on` option is activated in the web interface.
|
||||
|
@ -3,10 +3,36 @@
|
||||
Releases
|
||||
########
|
||||
|
||||
v0.7.0
|
||||
------
|
||||
|
||||
Latest stable version. `Release v0.6 on Github <https://github.com/mp-se/gravitymon/releases/tag/v0.6.0>`_
|
||||
|
||||
* SSL support for HTTP targets
|
||||
* SSL support for MQTT targets
|
||||
* SSL support for OTA
|
||||
* Added error handling for calibration page.
|
||||
* Added experimental target ESP32 (using an ESP32 D1 Mini which is pin compatible with ESP8266). Not
|
||||
really usable since wifi connection is extreamly slow with current Arduino releases (3-8 seconds).
|
||||
* Added experimental format editor so users can customize their data format used for pushing data.
|
||||
This will reduce the need for custom push targets. As long as the service is supporting http
|
||||
or https then the data format can be customized.
|
||||
* Added check so that pushing data is not done if memory is low (this will make it crash)
|
||||
* MQTT topic has been removed from config (handled via format templates)
|
||||
* MQTT port port number added. Port over 8000 will activate SSL.
|
||||
|
||||
* **Breaking change**: To simplify the internal structure the
|
||||
temp sensor adjustment is now stored in C. So if you have
|
||||
enabled this function using F you will need to go into
|
||||
the configuration and update the adjustment factor again (hardware config).
|
||||
|
||||
* **Breaking change**: The MQTT push option has been changed to match the iSpindle behaviour. If
|
||||
the behaviour in v0.6 is wanted this can be done via the format editor.
|
||||
|
||||
v0.6.0
|
||||
------
|
||||
|
||||
Latest stable version.
|
||||
`Release v0.6 on Github <https://github.com/mp-se/gravitymon/releases/tag/v0.6.0>`_
|
||||
|
||||
* Changed the wifi manager and refactored wifi.cpp
|
||||
* LED is now turned on when Wifi Portal is open
|
||||
@ -19,11 +45,11 @@ Latest stable version.
|
||||
* Added support for MQTT
|
||||
* Bug: MPU init sometimes caused crash during startup.
|
||||
|
||||
`Release v0.6 on Github <https://github.com/mp-se/gravitymon/releases/tag/v0.6.0>`_
|
||||
|
||||
v0.5.0
|
||||
------
|
||||
|
||||
`Release v0.5 on Github <https://github.com/mp-se/gravitymon/releases/tag/v0.5.0>`_
|
||||
|
||||
* Added feature to calcuate formula on device
|
||||
* Total rewrite of documentation
|
||||
* WIFI settings are now stored in config file
|
||||
@ -31,9 +57,9 @@ v0.5.0
|
||||
* Cleanup of code
|
||||
* Refactor code from C to C++
|
||||
|
||||
`Release v0.5 on Github <https://github.com/mp-se/gravitymon/releases/tag/v0.5.0>`_
|
||||
|
||||
v0.4.0
|
||||
------
|
||||
|
||||
`Release v0.4 on Github <https://github.com/mp-se/gravitymon/releases/tag/v0.4.0>`_
|
||||
|
||||
* First release
|
3
docs/_static/basic.css
vendored
3
docs/_static/basic.css
vendored
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Sphinx stylesheet -- basic theme.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
@ -757,6 +757,7 @@ span.pre {
|
||||
-ms-hyphens: none;
|
||||
-webkit-hyphens: none;
|
||||
hyphens: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div[class*="highlight-"] {
|
||||
|
5
docs/_static/doctools.js
vendored
5
docs/_static/doctools.js
vendored
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Sphinx JavaScript utilities for all documentation.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
@ -264,6 +264,9 @@ var Documentation = {
|
||||
hideSearchWords : function() {
|
||||
$('#searchbox .highlight-link').fadeOut(300);
|
||||
$('span.highlighted').removeClass('highlighted');
|
||||
var url = new URL(window.location);
|
||||
url.searchParams.delete('highlight');
|
||||
window.history.replaceState({}, '', url);
|
||||
},
|
||||
|
||||
/**
|
||||
|
2
docs/_static/documentation_options.js
vendored
2
docs/_static/documentation_options.js
vendored
@ -1,6 +1,6 @@
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||
VERSION: '0.6.0',
|
||||
VERSION: '0.7.0',
|
||||
LANGUAGE: 'None',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
|
2
docs/_static/language_data.js
vendored
2
docs/_static/language_data.js
vendored
@ -5,7 +5,7 @@
|
||||
* This script contains the language-specific data used by searchtools.js,
|
||||
* namely the list of stopwords, stemmer, scorer and splitter.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
2
docs/_static/searchtools.js
vendored
2
docs/_static/searchtools.js
vendored
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Sphinx JavaScript utilities for the full-text search.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
@ -4,8 +4,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="prev" title="Q & A" href="q_and_a.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Backlog of changes - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Backlog of changes - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
@ -201,6 +202,7 @@
|
||||
<ul class="simple">
|
||||
<li><p>Write contribution instructions</p></li>
|
||||
<li><p>Example project for creating integrations and instructions</p></li>
|
||||
<li><p>Add instructions for other services</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="code">
|
||||
@ -209,7 +211,8 @@
|
||||
<li><p>Support for plato</p></li>
|
||||
<li><p>Use pre-commit for validating check-in</p></li>
|
||||
<li><p>Show indicated battery life based on interval (check if its feasable)</p></li>
|
||||
<li><p>Use brewflasher for flashing</p></li>
|
||||
<li><p>Add possibility to add one certificate for proper SSL authentication.</p></li>
|
||||
<li><p>Add configurable Authentication/Token header to http/https requests</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -4,8 +4,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="Contributing" href="contributing.html" /><link rel="prev" title="Setting up device" href="configuration.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Compiling the software - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Compiling the software - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
@ -221,13 +222,18 @@
|
||||
<li><p>gravity-debug; Maximum logging for trouble shooting, deep sleep is disabled.</p></li>
|
||||
<li><p>gravity-release; Standard release</p></li>
|
||||
<li><p>gravity-perf; Standard release but contains code for measuring performance</p></li>
|
||||
<li><p>gravity32-perf: Experimental version for ESP32.</p></li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>There is an experimental ESP32 target but since platformio only supports SDK 1.0.6 and the WIFI connection is really slow compared to ESP8266,
|
||||
so the recommendation is to wait for support on 2.0.x branch. With the tested version an wifi connection takes 3-8s on a ESP32 compared
|
||||
to 0.5s on an ESP8266. There is also a bug in OneWire connected to ESP32 that has not been fixed in the main repository yet.</p>
|
||||
</div>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>The debug target can be unsable and crash the device under certain circumstanses.
|
||||
Excessive logging to the serial port can cause corruption and crashes. I’m still
|
||||
trying to figure out what causes these issues in the debug target. Other targets are
|
||||
stable and works fine.</p>
|
||||
<p>The debug target can be unstable and crash the device under certain circumstanses. Excessive logging to the serial port can cause corruption and crashes.
|
||||
So only enable enough debugging to troubleshoot your changes.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="source-structure">
|
||||
@ -299,39 +305,24 @@ stable and works fine.</p>
|
||||
<td><p>Enables the OTA functionallity in the code</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>SKIP_SLEEPMODE</p></td>
|
||||
<td><p>THe device never goes into sleep mode, useful when developing.</p></td>
|
||||
<td><p>The device never goes into sleep mode, useful when developing.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>CFG_DISABLE_LOGGING</p></td>
|
||||
<td><p>Done include verbose logging in Config class. Excessive logging may crash device.</p></td>
|
||||
<tr class="row-even"><td><p>xxx_DISABLE_LOGGING</p></td>
|
||||
<td><p>Done include verbose logging in the corresponding class. Excessive logging may crash device.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>GYRO_DISABLE_LOGGING</p></td>
|
||||
<td><p>Done include verbose logging in Gyro class. Excessive logging may crash device.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>PUSH_DISABLE_LOGGING</p></td>
|
||||
<td><p>Done include verbose logging in PushTarget class. Excessive logging may crash device.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>TSEN_DISABLE_LOGGING</p></td>
|
||||
<td><p>Done include verbose logging in TempSensor class. Excessive logging may crash device.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>WEB_DISABLE_LOGGING</p></td>
|
||||
<td><p>Done include verbose logging in WebServer class. Excessive logging may crash device.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>MAIN_DISABLE_LOGGING</p></td>
|
||||
<td><p>Done include verbose logging in Main class. Excessive logging may crash device.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>USE_LITTLEFS</p></td>
|
||||
<tr class="row-odd"><td><p>USE_LITTLEFS</p></td>
|
||||
<td><p>Use the new filesystem in Ardurino</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>EMBED_HTML</p></td>
|
||||
<tr class="row-even"><td><p>EMBED_HTML</p></td>
|
||||
<td><p>Html files are included in code, if not defined they are served from the file system.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>USER_SSID</p></td>
|
||||
<tr class="row-odd"><td><p>USER_SSID</p></td>
|
||||
<td><p>If defined the device will always use this SSID</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>USER_SSID_PWD</p></td>
|
||||
<tr class="row-even"><td><p>USER_SSID_PWD</p></td>
|
||||
<td><p>Password to the SSID</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>CFG_APPVER</p></td>
|
||||
<tr class="row-odd"><td><p>CFG_APPVER</p></td>
|
||||
<td><p>Defines the version of the compiled software</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -4,8 +4,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="Compiling the software" href="compiling.html" /><link rel="prev" title="Installation" href="installation.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Setting up device - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Setting up device - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="#data-formats">Data Formats</a></li>
|
||||
@ -279,25 +280,34 @@ you are collecting angle/tilt for calibration. If this is unchecked the device w
|
||||
<div class="section" id="push-settings">
|
||||
<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>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>When enabling SSL this will not validate the root CA of the remote service, this is a design decision based on two aspects. Enabling CA validation will take 3-4s extra on each connection which means way less
|
||||
battery life, so the decision is to prioritize battery life over security. The data transmitted is not really that sensitive anyway so I belive this is a good balance.</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li><p><strong>HTTP URL 1:</strong></p>
|
||||
<blockquote>
|
||||
<div><p>Endpoint to send data via http. Format used Format used <a class="reference internal" href="#data-formats-ispindle"><span class="std std-ref">iSpindle format</span></a></p>
|
||||
<div><p>Endpoint to send data via http. Default format used Format used <a class="reference internal" href="#data-formats-ispindle"><span class="std std-ref">iSpindle format</span></a>. You can customize the format using <a class="reference internal" href="#format-editor"><span class="std std-ref">Format editor</span></a>.</p>
|
||||
<p>If you add the prefix <cite>https://</cite> then the device will use SSL when sending data.</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>HTTP URL 2:</strong></p>
|
||||
<blockquote>
|
||||
<div><p>Endpoint to send data via http. Format used <a class="reference internal" href="#data-formats-ispindle"><span class="std std-ref">iSpindle format</span></a></p>
|
||||
<div><p>Endpoint to send data via http. Default format used <a class="reference internal" href="#data-formats-ispindle"><span class="std std-ref">iSpindle format</span></a>. You can customize the format using <a class="reference internal" href="#format-editor"><span class="std std-ref">Format editor</span></a>.</p>
|
||||
<p>If you add the prefix <cite>https://</cite> then the device will use SSL when sending data.</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>Brewfather URL:</strong></p>
|
||||
<blockquote>
|
||||
<div><p>Endpoint to send data via http to brewfather. Format used <a class="reference internal" href="#data-formats-brewfather"><span class="std std-ref">Brewfather format</span></a></p>
|
||||
<p>SSL is not supported for this target.</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>Influx DB v2 URL:</strong></p>
|
||||
<blockquote>
|
||||
<div><p>Endpoint to send data via http to InfluxDB. Format used <a class="reference internal" href="#data-formats-influxdb2"><span class="std std-ref">Influx DB v2</span></a></p>
|
||||
<div><p>Endpoint to send data via http to InfluxDB. Format used <a class="reference internal" href="#data-formats-influxdb2"><span class="std std-ref">Influx DB v2</span></a>. You can customize the format using <a class="reference internal" href="#format-editor"><span class="std std-ref">Format editor</span></a>.</p>
|
||||
<p>SSL is not supported for this target. Raise a issue on github if this is wanted.</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>Influx DB v2 Organisation:</strong></p>
|
||||
@ -317,12 +327,12 @@ you are collecting angle/tilt for calibration. If this is unchecked the device w
|
||||
</li>
|
||||
<li><p><strong>MQTT server:</strong></p>
|
||||
<blockquote>
|
||||
<div><p>IP or name of server to send data to. Format used <a class="reference internal" href="#data-formats-ispindle"><span class="std std-ref">iSpindle format</span></a></p>
|
||||
<div><p>IP or name of server to send data to. Default format used <a class="reference internal" href="#data-formats-mqtt"><span class="std std-ref">MQTT</span></a>. You can customize the format using <a class="reference internal" href="#format-editor"><span class="std std-ref">Format editor</span></a>.</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>MQTT Topic:</strong></p>
|
||||
<li><p><strong>MQTT Port:</strong></p>
|
||||
<blockquote>
|
||||
<div><p>Name of topic to publish sensor readings to, iSpindle format is used.</p>
|
||||
<div><p>Which port should be used for communication, default is 1883 (standard port). For SSL use 8883 (any port over 8000 is treated as SSL).</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>MQTT user:</strong></p>
|
||||
@ -341,6 +351,11 @@ you are collecting angle/tilt for calibration. If this is unchecked the device w
|
||||
<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>
|
||||
<ul>
|
||||
<li><p><strong>Gravity format:</strong></p>
|
||||
<blockquote>
|
||||
<div><p>Gravity format can be eihter <cite>SG</cite> or <cite>Plato</cite>. The device will use SG Internally and convert to Plato when displaying data.</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><p><strong>Gravity formula:</strong></p>
|
||||
<blockquote>
|
||||
<div><p>Gravity formula is compatible with standard iSpindle formulas so any existing calculation option can be used. You can also use
|
||||
@ -355,9 +370,9 @@ the feature to create the formula by supplying the raw data. See <a class="refer
|
||||
</ul>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>This formula assumes that the calibration has been done at 20C.</p>
|
||||
<p>This formula assumes that the calibration has been done at 20°C / 68°F.</p>
|
||||
</div>
|
||||
<p>Formula used in temperature correction:</p>
|
||||
<p>Formula used in temperature correction.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">gravity</span><span class="o">*</span><span class="p">((</span><span class="mf">1.00130346</span><span class="o">-</span><span class="mf">0.000134722124</span><span class="o">*</span><span class="n">temp</span><span class="o">+</span><span class="mf">0.00000204052596</span><span class="o">*</span><span class="n">temp</span><span class="o">^</span><span class="mi">2</span><span class="o">-</span><span class="mf">0.00000000232820948</span><span class="o">*</span><span class="n">temp</span><span class="o">^</span><span class="mi">3</span><span class="p">)</span><span class="o">/</span>
|
||||
<span class="p">(</span><span class="mf">1.00130346</span><span class="o">-</span><span class="mf">0.000134722124</span><span class="o">*</span><span class="n">cal</span><span class="o">+</span><span class="mf">0.00000204052596</span><span class="o">*</span><span class="n">cal</span><span class="o">^</span><span class="mi">2</span><span class="o">-</span><span class="mf">0.00000000232820948</span><span class="o">*</span><span class="n">cal</span><span class="o">^</span><span class="mi">3</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
@ -391,6 +406,7 @@ been running the value would be totally off.</p>
|
||||
<div><p>Should point to a URL where the .bin file + version.json file is located.</p>
|
||||
<p>For the OTA to work, place the following files (version.json + firmware.bin) at the location that you pointed out in OTA URL. If the version number in the json file is newer than in the
|
||||
code the update will be done during startup.</p>
|
||||
<p>If you have the previx <cite>https://</cite> then the device will use secure transfer without CA validation.</p>
|
||||
<p>Example; OTA URL (don’t forget trailing dash), the name of the file should be firmware.bin</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
@ -401,15 +417,123 @@ code the update will be done during startup.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="format-editor">
|
||||
<span id="id2"></span><h1>Format editor<a class="headerlink" href="#format-editor" title="Permalink to this headline">¶</a></h1>
|
||||
<p>To reduce the need for adding custom endpoints for various services there is an built in format editor that allows the user to customize the format being sent to the push target.</p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>Since the format templates can be big this function can be quite slow on a small device such as the esp8266.</p>
|
||||
</div>
|
||||
<a class="reference internal image-reference" href="_images/format.png"><img alt="Format editor" src="_images/format.png" style="width: 800px;"/></a>
|
||||
<p>You enter the format data in the text field and the test button will show an example on what the output would look like. If the data cannot be formatted in json it will just be displayed as a long string.
|
||||
The save button will save the current formla and reload the data from the device.</p>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Tip</p>
|
||||
<p>If you save a blank string the default template will be loaded.</p>
|
||||
</div>
|
||||
<p>These are the format keys available for use in the format.</p>
|
||||
<div class="table-wrapper"><table class="colwidths-given docutils align-default" id="id6">
|
||||
<caption><span class="caption-text">Directory structure</span><a class="headerlink" href="#id6" title="Permalink to this table">¶</a></caption>
|
||||
<colgroup>
|
||||
<col style="width: 30%"/>
|
||||
<col style="width: 50%"/>
|
||||
<col style="width: 20%"/>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>key</p></th>
|
||||
<th class="head"><p>description</p></th>
|
||||
<th class="head"><p>example</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p>${mdns}</p></td>
|
||||
<td><p>Name of the device</p></td>
|
||||
<td><p>gravmon2</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${id}</p></td>
|
||||
<td><p>Unique id of the device</p></td>
|
||||
<td><p>e422a3</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${sleep-interval}</p></td>
|
||||
<td><p>Seconds between data is pushed</p></td>
|
||||
<td><p>900</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${temp}</p></td>
|
||||
<td><p>Temperature in format configured on device, one decimal</p></td>
|
||||
<td><p>21.2</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${temp-c}</p></td>
|
||||
<td><p>Temperature in C, one decimal</p></td>
|
||||
<td><p>21.2</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${temp-f}</p></td>
|
||||
<td><p>Temperature in F, one decimal</p></td>
|
||||
<td><p>58.0</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${temp-unit}</p></td>
|
||||
<td><p>Temperature format <cite>C</cite> or <cite>F</cite></p></td>
|
||||
<td><p>C</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${battery}</p></td>
|
||||
<td><p>Battery voltage, two decimals</p></td>
|
||||
<td><p>3.89</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${rssi}</p></td>
|
||||
<td><p>Wifi signal strength</p></td>
|
||||
<td><p>-75</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${run-time}</p></td>
|
||||
<td><p>How long the last measurement took, two decimals</p></td>
|
||||
<td><p>3.87</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${angle}</p></td>
|
||||
<td><p>Angle of the gyro, two decimals</p></td>
|
||||
<td><p>28.67</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${tilt}</p></td>
|
||||
<td><p>Same as angle.</p></td>
|
||||
<td><p>28.67</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${gravity}</p></td>
|
||||
<td><p>Calculated gravity, 4 decimals for SG and 1 for Plato.</p></td>
|
||||
<td><p>1.0456</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${gravity-sg}</p></td>
|
||||
<td><p>Calculated gravity in SG, 4 decimals</p></td>
|
||||
<td><p>1.0456</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${gravity-plato}</p></td>
|
||||
<td><p>Calculated gravity in Plato, 1 decimal</p></td>
|
||||
<td><p>8.5</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${corr-gravity}</p></td>
|
||||
<td><p>Temperature corrected gravity, 4 decimals for SG and 1 for Plato.</p></td>
|
||||
<td><p>1.0456</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${corr-gravity-sg}</p></td>
|
||||
<td><p>Temperature corrected gravity in SG, 4 decimals</p></td>
|
||||
<td><p>1.0456</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>${corr-gravity-plato}</p></td>
|
||||
<td><p>Temperature corrected gravity in Plato, 1 decimal</p></td>
|
||||
<td><p>8.5</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>${gravity-unit}</p></td>
|
||||
<td><p>Gravity format, <cite>G</cite> or <cite>P</cite></p></td>
|
||||
<td><p>G</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section" id="create-formula">
|
||||
<span id="id2"></span><h1>Create formula<a class="headerlink" href="#create-formula" title="Permalink to this headline">¶</a></h1>
|
||||
<span id="id3"></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>
|
||||
<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>
|
||||
<p>Once the formula is created a graph over the entered values and a simulation of the formula will give you a nice overview on how the formula will work.</p>
|
||||
</div>
|
||||
<div class="section" id="rest-api">
|
||||
<span id="id3"></span><h1>REST API<a class="headerlink" href="#rest-api" title="Permalink to this headline">¶</a></h1>
|
||||
<span id="id4"></span><h1>REST API<a class="headerlink" href="#rest-api" title="Permalink to this headline">¶</a></h1>
|
||||
<p>All the API’s 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">
|
||||
<h2>GET: /api/config<a class="headerlink" href="#get-api-config" title="Permalink to this headline">¶</a></h2>
|
||||
@ -432,7 +556,7 @@ code the update will be done during startup.</p>
|
||||
<span class="w"> </span><span class="nt">"influxdb2-bucket"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"influxdb2-auth"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-push"</span><span class="p">:</span><span class="w"> </span><span class="s2">"192.168.1.50"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-topic"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-port"</span><span class="p">:</span><span class="w"> </span><span class="mi">1883</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-user"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-pass"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"sleep-interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"></span>
|
||||
@ -496,7 +620,7 @@ code the update will be done during startup.</p>
|
||||
<p>Retrive the data used for formula calculation data via an HTTP GET command. Payload is in JSON format.</p>
|
||||
<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">g1</span></code>-<code class="docutils literal notranslate"><span class="pre">g4</span></code> are the corresponding gravity reaadings (in SG)</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">g1</span></code>-<code class="docutils literal notranslate"><span class="pre">g4</span></code> are the corresponding gravity reaadings in SG or Plato depending on the device-format.</p></li>
|
||||
</ul>
|
||||
<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">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ee1bfc"</span><span class="p">,</span><span class="w"></span>
|
||||
@ -509,8 +633,9 @@ code the update will be done during startup.</p>
|
||||
<span class="w"> </span><span class="nt">"g2"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.053</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"g3"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.062</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"g4"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"g5"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"gravity-formula"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0*tilt^3+0.0*tilt^2+0.0017978*tilt+0.9436"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"g5"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"gravity-format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"G"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"gravity-formula"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0*tilt^3+0.0*tilt^2+0.0017978*tilt+0.9436"</span><span class="w"></span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -519,7 +644,7 @@ code the update will be done during startup.</p>
|
||||
<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. Payload is in JSON format.</p>
|
||||
<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> (Celcius) or <code class="docutils literal notranslate"><span class="pre">F</span></code> (Farenheight)</p></li>
|
||||
</ul>
|
||||
<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">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ee1bfc"</span><span class="p">,</span><span class="w"></span>
|
||||
@ -543,7 +668,7 @@ code the update will be done during startup.</p>
|
||||
<span class="w"> </span><span class="nt">"influxdb2-bucket"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"influxdb2-auth"</span><span class="p">:</span><span class="w"> </span><span class="nt">"Qwerty"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-push"</span><span class="p">:</span><span class="w"> </span><span class="s2">"192.168.1.50"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-topic"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-port"</span><span class="p">:</span><span class="w"> </span><span class="mi">1883</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-user"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"mqtt-pass"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Qwerty"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
@ -555,6 +680,7 @@ code the update will be done during startup.</p>
|
||||
<p>Used to update gravity settings via an HTTP POST command. Payload is in JSON format.</p>
|
||||
<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-format</span></code> can be either <code class="docutils literal notranslate"><span class="pre">G</span></code> (SG) or <code class="docutils literal notranslate"><span class="pre">P</span></code> (PLATO)</p></li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
@ -564,6 +690,7 @@ from a checkbox, when reading data it’s sent as boolean (true,false).</p>
|
||||
<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">"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">"gravity-formula"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.0*tilt^3+0.0*tilt^2+0.0017978*tilt+0.9436"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"gravity-format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"P"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"gravity-temp-adjustment"</span><span class="p">:</span><span class="w"> </span><span class="s2">"off"</span><span class="w"></span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
</pre></div>
|
||||
@ -647,7 +774,7 @@ present or the API call will fail.</p>
|
||||
<span class="s2">"influxdb2-bucket"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
|
||||
<span class="s2">"influxdb2-auth"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
|
||||
<span class="s2">"mqtt-push"</span><span class="p">:</span> <span class="s2">"192.168.1.50"</span><span class="p">,</span>
|
||||
<span class="s2">"mqtt-topic"</span><span class="p">:</span> <span class="s2">"Qwerty"</span><span class="p">,</span>
|
||||
<span class="s2">"mqtt-port"</span><span class="p">:</span> <span class="mi">1883</span><span class="p">,</span>
|
||||
<span class="s2">"mqtt-user"</span><span class="p">:</span> <span class="s2">"Qwerty"</span><span class="p">,</span>
|
||||
<span class="s2">"mqtt-pass"</span><span class="p">:</span> <span class="s2">"Qwerty"</span>
|
||||
<span class="p">}</span>
|
||||
@ -656,6 +783,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/gravity"</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">"gravity-formula"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
|
||||
<span class="s2">"gravity-format"</span><span class="p">:</span> <span class="s2">"P"</span><span class="p">,</span>
|
||||
<span class="s2">"gravity-temp-adjustment"</span><span class="p">:</span> <span class="s2">"off"</span> <span class="c1"># Adjust gravity (on/off)</span>
|
||||
<span class="p">}</span>
|
||||
<span class="n">set_config</span><span class="p">(</span> <span class="n">url</span><span class="p">,</span> <span class="n">json</span> <span class="p">)</span>
|
||||
@ -688,12 +816,13 @@ present or the API call will fail.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="data-formats">
|
||||
<span id="id4"></span><h1>Data Formats<a class="headerlink" href="#data-formats" title="Permalink to this headline">¶</a></h1>
|
||||
<span id="id5"></span><h1>Data Formats<a class="headerlink" href="#data-formats" title="Permalink to this headline">¶</a></h1>
|
||||
<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>
|
||||
<p>This is the format used for standard http posts.</p>
|
||||
<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">gravity-format</span></code> is an extended parameter containing the gravity format (G or P).</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">run-time</span></code> is an extended parameter containing the number of seconds the execution took.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="w"></span>
|
||||
@ -704,22 +833,42 @@ present or the API call will fail.</p>
|
||||
<span class="w"> </span><span class="nt">"temperature"</span><span class="p">:</span><span class="w"> </span><span class="mf">20.5</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"temp-units"</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">"gravity"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0050</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"corr-gravity"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0050</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">45.34</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">3.67</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"rssi"</span><span class="p">:</span><span class="w"> </span><span class="mi">-12</span><span class="p">,</span><span class="w"></span>
|
||||
|
||||
<span class="w"> </span><span class="nt">"corr-gravity"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.0050</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"gravity-unit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"G"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"run-time"</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="w"></span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>This is the format template used to create the json above.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>{
|
||||
"name" : "gravmon", "
|
||||
"ID": "${id}", "
|
||||
"token" : "gravmon", "
|
||||
"interval": ${sleep-interval}, "
|
||||
"temperature": ${temp}, "
|
||||
"temp-units": "${temp-unit}", "
|
||||
"gravity": ${gravity}, "
|
||||
"angle": ${angle}, "
|
||||
"battery": ${battery}, "
|
||||
"rssi": ${rssi}, "
|
||||
"corr-gravity": ${corr-gravity}, "
|
||||
"gravity-unit": "${gravity-unit}", "
|
||||
"run-time": ${run-time} "
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
<p>This is the format for Brewfather</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>
|
||||
<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">"temp"</span><span class="p">:</span><span class="w"> </span><span class="mf">20.5</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"temp-unit"</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_unit"</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">"battery"</span><span class="p">:</span><span class="w"> </span><span class="mf">3.67</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.0050</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"gravity_unit"</span><span class="p">:</span><span class="w"> </span><span class="s2">"G"</span><span class="p">,</span><span class="w"></span>
|
||||
@ -733,6 +882,41 @@ present or the API call will fail.</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">=<</span><span class="n">mdns</span><span class="o">></span><span class="p">,</span><span class="n">device</span><span class="o">=<</span><span class="nb">id</span><span class="o">></span><span class="p">,</span><span class="n">temp</span><span class="o">-</span><span class="nb">format</span><span class="o">=<</span><span class="n">C</span><span class="o">|</span><span class="n">F</span><span class="o">></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>
|
||||
</div>
|
||||
<p>This is the format template used to create the json above.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>measurement,host=${mdns},device=${id},temp-format=${temp-unit},gravity-format=${gravity-unit} gravity=${gravity},corr-gravity=${corr-gravity},angle=${angle},temp=${temp},battery=${battery},rssi=${rssi}
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
<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>
|
||||
<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">temp_units</span> <span class="n">C</span>
|
||||
<span class="n">ispindel</span><span class="o">/</span><span class="n">device_name</span><span class="o">/</span><span class="n">battery</span> <span class="mf">0.04171</span>
|
||||
<span class="n">ispindel</span><span class="o">/</span><span class="n">device_name</span><span class="o">/</span><span class="n">gravity</span> <span class="mf">33.54894</span>
|
||||
<span class="n">ispindel</span><span class="o">/</span><span class="n">device_name</span><span class="o">/</span><span class="n">interval</span> <span class="mi">1</span>
|
||||
<span class="n">ispindel</span><span class="o">/</span><span class="n">device_name</span><span class="o">/</span><span class="n">RSSI</span> <span class="o">-</span><span class="mi">58</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>This is the format template used to create the json above.</p>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Tip</p>
|
||||
<p>Each line in the format is treated as one topic. The <cite>|</cite> is used as separator between lines and the first <cite>:</cite> is used as separator between topic and value. Each line is formatted as <cite><topic>:<value></cite></p>
|
||||
</div>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>ispindel/${mdns}/tilt:${angle}|
|
||||
ispindel/${mdns}/temperature:${temp}|
|
||||
ispindel/${mdns}/temp_units:${temp-unit}|
|
||||
ispindel/${mdns}/battery:${battery}|
|
||||
ispindel/${mdns}/gravity:${gravity}|
|
||||
ispindel/${mdns}/interval:${sleep-interval}|
|
||||
ispindel/${mdns}/RSSI:${rssi}|
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>This is a format template that is compatible with v0.6. Just replace the <cite>topic</cite> with the topic you want to post data to.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>topic:{"name":"gravmon","ID":"${id}","token":"gravmon","interval": ${sleep-interval},"temperature": ${temp},"temp-units": "${temp-unit}","gravity":${gravity},"angle": ${angle},"battery":${battery},"rssi": ${rssi},"corr-gravity":${corr-gravity},"gravity-unit": "${gravity-unit}","run-time": ${run-time}}|
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="version-json">
|
||||
<h2>version.json<a class="headerlink" href="#version-json" title="Permalink to this headline">¶</a></h2>
|
||||
@ -741,11 +925,12 @@ upgrade to a version that serve the html files from the file system. If they don
|
||||
they can be uploaded manually afterwards.</p>
|
||||
<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">"project"</span><span class="p">:</span><span class="s2">"gravmon"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="s2">"0.4.10"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="s2">"0.7.0"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">"html"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"index.min.htm"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"device.min.htm"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"config.min.htm"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"format.min.htm"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"calibration.min.htm"</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="s2">"about.min.htm"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">]</span><span class="w"></span>
|
||||
@ -814,6 +999,7 @@ they can be uploaded manually afterwards.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#format-editor">Format editor</a></li>
|
||||
<li><a class="reference internal" href="#create-formula">Create formula</a></li>
|
||||
<li><a class="reference internal" href="#rest-api">REST API</a><ul>
|
||||
<li><a class="reference internal" href="#get-api-config">GET: /api/config</a></li>
|
||||
@ -832,6 +1018,7 @@ they can be uploaded manually afterwards.</p>
|
||||
<li><a class="reference internal" href="#ispindle-format">iSpindle format</a></li>
|
||||
<li><a class="reference internal" href="#brewfather-format">Brewfather format</a></li>
|
||||
<li><a class="reference internal" href="#influx-db-v2">Influx DB v2</a></li>
|
||||
<li><a class="reference internal" href="#mqtt">MQTT</a></li>
|
||||
<li><a class="reference internal" href="#version-json">version.json</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
@ -4,8 +4,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 & A" href="q_and_a.html" /><link rel="prev" title="Compiling the software" href="compiling.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Contributing - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Contributing - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
|
@ -4,8 +4,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="Installation" href="installation.html" /><link rel="prev" title="Releases" href="releases.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Functionallity - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Functionallity - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
@ -195,27 +196,51 @@
|
||||
<article role="main">
|
||||
<div class="section" id="functionallity">
|
||||
<span id="id1"></span><h1>Functionallity<a class="headerlink" href="#functionallity" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="section" id="the-main-differences">
|
||||
<h2>The main differences<a class="headerlink" href="#the-main-differences" title="Permalink to this headline">¶</a></h2>
|
||||
<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>
|
||||
<ul>
|
||||
<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 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 angle/tilt values, change configuration options and more. When in this mode you can also interact with the device
|
||||
<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>
|
||||
<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
|
||||
via an REST API so data can be pushed to the device via scripts (see API section for more information).</p>
|
||||
<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 don’t needs to wait for the device to wake up and push the data. The entire calibration
|
||||
<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 don’t 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>
|
||||
<p>See the <a class="reference internal" href="configuration.html#setting-up-device"><span class="std std-ref">Setting up device</span></a> section for more information on how to trigger the configuration mode.</p>
|
||||
</li>
|
||||
<li><p><strong>Can send data to multiple endpoints at once</strong></p>
|
||||
<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 a lot of battery power so use only as many as needed.</p>
|
||||
<p>Currently the device supports the following endpoints: http (2 different), influxdb2 and Brewfather</p>
|
||||
<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>
|
||||
<p>Currently the device supports the following endpoints: http (2 different), influxdb2, Brewfather and MQTT.</p>
|
||||
<p>If you want additional targets please raise a feature request in the github repo.</p>
|
||||
</li>
|
||||
<li><p><strong>Build in function to create gravity formulas, so no need for using other tools for this part</strong></p>
|
||||
<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>
|
||||
<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
|
||||
angle/gravity data that you have collected. You will also see a graph simulating how the formula would work.</p>
|
||||
</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>
|
||||
<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.
|
||||
If you have a good template please share it on the girhub repository and I will add it to the documentation
|
||||
for other users to enjoy. See the <a class="reference internal" href="configuration.html#format-editor"><span class="std std-ref">Format editor</span></a> for more information.</p>
|
||||
</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>
|
||||
<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>
|
||||
<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>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
@ -272,7 +297,12 @@ be 0.5-1.0C higher.</p>
|
||||
</div>
|
||||
<div class="section" id="battery-life">
|
||||
<h2>Battery life<a class="headerlink" href="#battery-life" title="Permalink to this headline">¶</a></h2>
|
||||
<p>I’m currently measuring battery life of v0.5 but previous versions have been able to measure gravity for a 2-3 weeks without issues (Using 900 seconds as interval).</p>
|
||||
<p>I’m currently measuring battery life of v0.5 but previous versions have been able to measure gravity for
|
||||
a 2-3 weeks without issues (Using 900 seconds as interval).</p>
|
||||
<p>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. From what I have discovered
|
||||
it’s 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 class="section" id="performance">
|
||||
@ -334,7 +364,7 @@ temperature would reduce the total runtime with 25%. Sending data over http take
|
||||
<div class="toc-tree">
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">Functionallity</a><ul>
|
||||
<li><a class="reference internal" href="#the-main-differences">The main differences</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>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<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="generator" content="sphinx-4.3.2, furo 2022.01.02"/><title>Index - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/><title>Index - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -121,7 +121,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -144,7 +144,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -159,6 +159,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
|
@ -4,8 +4,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="Licence" href="license.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="#"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="#"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="#">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
@ -197,10 +198,11 @@
|
||||
<h1>Welcome to GravityMon’s documentation!<a class="headerlink" href="#welcome-to-gravitymon-s-documentation" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>This documentation reflects <strong>v0.6</strong>. Last updated 2022-01-15</p>
|
||||
<p>This documentation reflects <strong>v0.7</strong>. Last updated 2022-01-23</p>
|
||||
</div>
|
||||
<p>GravityMon is a replacement firmare for the iSpindle firmware, it uses the same hardware configuration so
|
||||
you can easily switch between them. It’s used to measure gravity in beer and show the progress of fermentation.</p>
|
||||
you can easily switch between them.</p>
|
||||
<p>It’s used to measure gravity in beer and show the progress of fermentation.</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>
|
||||
<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>
|
||||
@ -227,6 +229,8 @@ over the last 6 months without any issues.</p>
|
||||
<li><p>Visual graph showing how formula will be interpreted</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>Option to customize data posted to endpoints using template from the UI.</p></li>
|
||||
</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>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
|
||||
@ -283,13 +287,14 @@ the following libraries and without these this would have been much more difficu
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="license.html">Licence</a></li>
|
||||
<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-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-5-0">v0.5.0</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="releases.html#v0-4-0">v0.4.0</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<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-differences">The main differences</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>
|
||||
@ -309,6 +314,7 @@ the following libraries and without these this would have been much more difficu
|
||||
<li class="toctree-l2"><a class="reference internal" href="configuration.html#configuration">Configuration</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="configuration.html#get-api-config">GET: /api/config</a></li>
|
||||
@ -327,6 +333,7 @@ the following libraries and without these this would have been much more difficu
|
||||
<li class="toctree-l2"><a class="reference internal" href="configuration.html#ispindle-format">iSpindle format</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="configuration.html#brewfather-format">Brewfather format</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="configuration.html#influx-db-v2">Influx DB v2</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="configuration.html#mqtt">MQTT</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="configuration.html#version-json">version.json</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
@ -4,8 +4,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="Setting up device" href="configuration.html" /><link rel="prev" title="Functionallity" href="functionallity.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Installation - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Installation - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
|
@ -4,8 +4,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="Releases" href="releases.html" /><link rel="prev" title="Welcome to GravityMon’s documentation!" href="index.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Licence - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Licence - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
|
@ -2,7 +2,5 @@
|
||||
# Project: GravityMon
|
||||
# Version:
|
||||
# The remainder of this file is compressed using zlib.
|
||||
x<EFBFBD><EFBFBD>Tֻn<EFBFBD>0¼כ+X4ט<34><05>cnq׃ְ‰פ¬ָ•D”"U’rג[~£¿׳/)MךAֺ.×›4;3;»$X<02>)uM¬ד7\3B?‘2B׳J²ך÷"¬U£-˜n;!…ֺDe<>'<27>k<EFBFBD>X]¹08K©‡י %ֺs§קW<D7A7>צR•¨{Nh•GI
|
||||
1־<1E>;פבx,¨<>eן־ז˜סq”)˜ApH+m<>^ֲ2ר²ן)|<10>APppװאל
|
||||
ץ<EFBFBD>§“<EFBFBD>Hֿ´´4רR<EFBFBD>_ˆYa³™ֹQ<EFBFBD>{ Uֹ•—׳+¬¶<C2AC>Kמ6הp½p±<70>P\ג
|
||||
±¨C<C2A8>×WלT)…;¦ַ‘Wג<57><D792>g״%סװ‚<E2808E>·_װ¨||ֽ¥#{nO<6E>ֵLג%<25>(ֽEג4שjאא<D790>´תףצ<D7A3>ֿם[T.¬א<C2AC>7±־w>»¶)>6<>‘Bת[«״b»´8צ-r<>N<>Sזִk5¿0yw₪c!ׂ4ןaֵ$ױ<>ָvG׳ר3ץ¯gP<67>ׂd5<>ה¹-J‹6¥<36>Xה=
9uֺ’‘b÷u:±ג’>}<7D>'·»makrEִֶַ%װwP£ח†‡†צ<1D>ֽ<>Fח<46>׃_ִt*
|
||||
xÚ<EFBFBD>”MnÛ0…÷<‹Ý±@³ì.n’Â@
8±<38>.JID)R!GN¼Ë5r½ž¤”¨Òvíâ7ß{3œPÌxþW™’:?„É)ûN³ }«°Vt5ÔMAóŠëÉMÝH%ubšÄ`û91Xu¦Àgna¶2/³QîsÏ@<40>'}þò~–.dÙZŽÒèt”¨ÆÙbÐ6TÀAæ½ÌZ<;Ǭ<C387>G™’[à¬0¶n?ü´o7|o ƒ<C2A0>޼wstÜ7§wO¼,³ð\p¿» f5ÃÁŸfI]¨öEdW¢Ö=KoVôpu’â©…‚!r7 —¦©Ÿdlî÷{<„D³da•4ð¤huÞU¹R<12>ñ-H+áÜ%Ú%óÔû‚½kž” ýà%µŽjè¹îþ$36Œ@ù(úËòƒÞýïõÍQ϶5hìðɇ8ô<38>Ͼ–X›Î
|
||||
QþcÑùÉ?µŒû2ÈqzLN\mÄ…“7G6¾1¢õw$ì ª~`Û±òGLÜO<C39C>\‹GO6HÁsO¿ÒkbAwàblÔ÷0üJÑi–ö‹‰p‡Œ7rÁ}¸ÝíéõvMp›W©#hã›Ö×·¼ÏöïkÞ·<05>ÎßÄÿH½,‘
|
@ -4,8 +4,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="Backlog of changes" href="backlog.html" /><link rel="prev" title="Contributing" href="contributing.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Q & A - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Q & A - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
@ -201,6 +202,7 @@
|
||||
<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 in reported voltage of the battery in the web interface. If this is higher than 4.15V the device belives its beeing charged. In that case adjust the voltage factor under hardware so the voltage drops below 4.15V.</p></li>
|
||||
<li><p>Check if the <cite>always on</cite> option is activated in the web interface.</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -4,8 +4,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="Functionallity" href="functionallity.html" /><link rel="prev" title="Licence" href="license.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-4.3.2, furo 2022.01.02"/>
|
||||
<title>Releases - GravityMon 0.6.0 documentation</title>
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/>
|
||||
<title>Releases - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
@ -122,7 +122,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -145,7 +145,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.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">
|
||||
@ -160,6 +160,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
@ -195,9 +196,33 @@
|
||||
<article role="main">
|
||||
<div class="section" id="releases">
|
||||
<span id="id1"></span><h1>Releases<a class="headerlink" href="#releases" title="Permalink to this headline">¶</a></h1>
|
||||
<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>
|
||||
<p>Latest stable version. <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">
|
||||
<li><p>SSL support for HTTP targets</p></li>
|
||||
<li><p>SSL support for MQTT targets</p></li>
|
||||
<li><p>SSL support for OTA</p></li>
|
||||
<li><p>Added error handling for calibration page.</p></li>
|
||||
<li><p>Added experimental target ESP32 (using an ESP32 D1 Mini which is pin compatible with ESP8266). Not
|
||||
really usable since wifi connection is extreamly slow with current Arduino releases (3-8 seconds).</p></li>
|
||||
<li><p>Added experimental format editor so users can customize their data format used for pushing data.
|
||||
This will reduce the need for custom push targets. As long as the service is supporting http
|
||||
or https then the data format can be customized.</p></li>
|
||||
<li><p>Added check so that pushing data is not done if memory is low (this will make it crash)</p></li>
|
||||
<li><p>MQTT topic has been removed from config (handled via format templates)</p></li>
|
||||
<li><p>MQTT port port number added. Port over 8000 will activate SSL.</p></li>
|
||||
<li><p><strong>Breaking change</strong>: To simplify the internal structure the
|
||||
temp sensor adjustment is now stored in C. So if you have
|
||||
enabled this function using F you will need to go into
|
||||
the configuration and update the adjustment factor again (hardware config).</p></li>
|
||||
<li><p><strong>Breaking change</strong>: The MQTT push option has been changed to match the iSpindle behaviour. If
|
||||
the behaviour in v0.6 is wanted this can be done via the format editor.</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<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>
|
||||
<p>Latest stable version.</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">
|
||||
<li><p>Changed the wifi manager and refactored wifi.cpp</p></li>
|
||||
<li><p>LED is now turned on when Wifi Portal is open</p></li>
|
||||
@ -210,10 +235,10 @@
|
||||
<li><p>Added support for MQTT</p></li>
|
||||
<li><p>Bug: MPU init sometimes caused crash during startup.</p></li>
|
||||
</ul>
|
||||
<p><a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.6.0">Release v0.6 on Github</a></p>
|
||||
</div>
|
||||
<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>
|
||||
<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">
|
||||
<li><p>Added feature to calcuate formula on device</p></li>
|
||||
<li><p>Total rewrite of documentation</p></li>
|
||||
@ -222,11 +247,13 @@
|
||||
<li><p>Cleanup of code</p></li>
|
||||
<li><p>Refactor code from C to C++</p></li>
|
||||
</ul>
|
||||
<p><a class="reference external" href="https://github.com/mp-se/gravitymon/releases/tag/v0.5.0">Release v0.5 on Github</a></p>
|
||||
</div>
|
||||
<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>
|
||||
<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">
|
||||
<li><p>First release</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -278,6 +305,7 @@
|
||||
<div class="toc-tree">
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">Releases</a><ul>
|
||||
<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-5-0">v0.5.0</a></li>
|
||||
<li><a class="reference internal" href="#v0-4-0">v0.4.0</a></li>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<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="generator" content="sphinx-4.3.2, furo 2022.01.02"/><title>Search - GravityMon 0.6.0 documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<meta name="generator" content="sphinx-4.4.0, furo 2022.01.02"/><title>Search - GravityMon 0.7.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-extensions.css?digest=fade93df149f7c5fedb3ff897f799dc7d283b420" />
|
||||
|
||||
@ -120,7 +120,7 @@
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="index.html"><div class="brand">GravityMon 0.6.0 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">GravityMon 0.7.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="theme-toggle-container theme-toggle-header">
|
||||
@ -143,7 +143,7 @@
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">GravityMon 0.6.0 documentation</span>
|
||||
<span class="sidebar-brand-text">GravityMon 0.7.0 documentation</span>
|
||||
|
||||
</a><form class="sidebar-search-container" method="get" action="#" role="search">
|
||||
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
|
||||
@ -158,6 +158,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Setting up device</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#format-editor">Format editor</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#create-formula">Create formula</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#rest-api">REST API</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html#data-formats">Data Formats</a></li>
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user