From 15be0aba0dff9b797e717ed778529f4bd286735b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 30 Oct 2025 23:07:10 +0000 Subject: [PATCH] Deployed 0cd98c6 with MkDocs version: 1.6.1 --- Alignment/index.html | 8 +- Choosing-the-Model/index.html | 8 +- Configuration/index.html | 8 +- Correction Algorithm/index.html | 120 ++++++++++++++----------- Demo-Mode/index.html | 62 ++++++------- Error-Codes/index.html | 4 +- Error-Debugging/index.html | 2 +- External-LED/index.html | 10 +-- FAQs/index.html | 18 ++-- Frequent-Reboots/index.html | 122 +++++++++++++++----------- Installation/index.html | 48 +++++----- Integration-Home-Assistant/index.html | 22 ++--- Neural-Network-Types/index.html | 50 +++++------ New-Releases-Notification/index.html | 2 +- Password-Protection/index.html | 4 +- ROI-Configuration/index.html | 28 +++--- Reference-Image/index.html | 8 +- Upload-files-by-script/index.html | 4 +- collect-new-images/index.html | 2 +- index.html | 10 +-- initial-setup/index.html | 6 +- search/search_index.json | 2 +- unstable-installation/index.html | 4 +- 23 files changed, 293 insertions(+), 259 deletions(-) diff --git a/Alignment/index.html b/Alignment/index.html index e7077ef..4fd486f 100644 --- a/Alignment/index.html +++ b/Alignment/index.html @@ -697,21 +697,21 @@

1. Alignment References

-

The alignment references are used in every round to re-align the taken image to the reference coordinates. +

The alignment references are used in every round to re-align the taken image to the reference coordinates. Two alignment structures must be defined and the taken image then in each round is shifted and rotated according to their position with the target to be in exactly the same position as the reference image.

Note

-

The alignment structures needs to be unique and have a good contrast. +

The alignment structures needs to be unique and have a good contrast. It is advised to have them as far apart as possible.

1.1 Precondition

Please make sure to have setup your camera properly and taken a good Reference Image.

1.2 Define two Reference Images

-

+

Initial Setup Alignment Marks

You can switch between this two marks with (1).

Then define the reference area in the image by either directly drag and drop with the mouse or use the input boxes below. -To apply the currently marked image part you need to push "Update Reference" (2).

+To apply the currently marked image part you need to push "Update Reference" (2).

In some cases it might be useful to use a reference with a higher contrast. This can be achieved by pushing Enhance Contrast" (3). The result will be calculated on the ESP32 - so be a bit patient, before you see it active.

To save push "Save to config.ini" (4).

diff --git a/Choosing-the-Model/index.html b/Choosing-the-Model/index.html index ebfcaa2..4ea1de5 100644 --- a/Choosing-the-Model/index.html +++ b/Choosing-the-Model/index.html @@ -828,7 +828,7 @@ For more technical/deeper explanations have a look on 1.1.1 dig-class11

This model can recognize full digits. It was the first model version. All intermediate states shown a N for not-a-number (aka. NaN). But in post process it uses older values to fill up the N values if possible.

-

+

Dig Class11

It's possibly a good fallback, if dig-cont or dig-class100 results are not good.

Main features:

diff --git a/Correction Algorithm/index.html b/Correction Algorithm/index.html index bec7e27..e797d7f 100644 --- a/Correction Algorithm/index.html +++ b/Correction Algorithm/index.html @@ -360,7 +360,7 @@
diff --git a/Demo-Mode/index.html b/Demo-Mode/index.html index 89fb8e0..5d44c91 100644 --- a/Demo-Mode/index.html +++ b/Demo-Mode/index.html @@ -819,12 +819,12 @@ +
  520.8983.jpg
+  520.9086.jpg
+  520.9351.jpg
+

1.2 Collecting images of your device

There are several ways to collect images from your device:

    @@ -832,32 +832,32 @@
  1. Use the Webhook to send the raw image on each round to a dedicated server, see Webhook resp. ../Parameter UploadImg.
  2. Another option is to pull the images periodically from http://<IP>/img_tmp/raw.jpg. Eg. with an external service. Below is a (Linux)-Bash script to do it:

    -
    #!/bin/bash
    -while [[ true ]]; do
    -    echo "fetching value..."
    -    wget -q http://192.168.1.151/value -O value.txt
    -
    -    value=`cat value.txt`
    -    echo "Value: $value"
    -
    -    diff=`diff value.txt value_previous.txt`
    -    changed=$?
    -    #echo "Diff: $diff"
    -
    -        if [[ $changed -ne 0 ]]; then
    -            echo "Value changed:"
    -            echo $diff
    -            echo "fetching image..."
    -            wget -q http://192.168.1.151/img_tmp/raw.jpg -O $value.jpg
    -        else
    -            echo "Value did not change, skipping image fetching!"
    -        fi
    -
    -        cp value.txt value_previous.txt
    -
    -        echo "waiting 60s..."
    -        sleep 60
    -done
    +
    #!/bin/bash
    +while [[ true ]]; do
    +    echo "fetching value..."
    +    wget -q http://192.168.1.151/value -O value.txt
    +
    +    value=`cat value.txt`
    +    echo "Value: $value"
    +
    +    diff=`diff value.txt value_previous.txt`
    +    changed=$?
    +    #echo "Diff: $diff"
    +
    +        if [[ $changed -ne 0 ]]; then
    +            echo "Value changed:"
    +            echo $diff
    +            echo "fetching image..."
    +            wget -q http://192.168.1.151/img_tmp/raw.jpg -O $value.jpg
    +        else
    +            echo "Value did not change, skipping image fetching!"
    +        fi
    +
    +        cp value.txt value_previous.txt
    +
    +        echo "waiting 60s..."
    +        sleep 60
    +done
     
diff --git a/Error-Codes/index.html b/Error-Codes/index.html index 9ca3b3d..9f2280a 100644 --- a/Error-Codes/index.html +++ b/Error-Codes/index.html @@ -823,10 +823,10 @@ Most likely they are caused by a hardware issue!

1.1.1 0x00000001 PSRAM bad

Your device most likely has no PSRAM at all or it is too small (needs to have at least 4 MBytes)! See Hardware Compatibility.

-

Usually the log shows something like this: +

Usually the log shows something like this:

psram: PSRAM ID read error: 0xffffffff
 cpu_start: Failed to init external RAM!
-

+

1.1.2 0x00000002 Heap too small

The firmware failed to allocate enough memory. This most likely is a consequential error of a bad PSRAM!

1.1.3 0x00000004 Cam bad

diff --git a/Error-Debugging/index.html b/Error-Debugging/index.html index 8b36af1..25179dc 100644 --- a/Error-Debugging/index.html +++ b/Error-Debugging/index.html @@ -743,7 +743,7 @@

  1. First, check that your ROI are correctly defined (yey!)
  2. -
  3. Second, verify that the name of your ROI analog and digit ROIs are different
  4. +
  5. Second, verify that the name of your ROI analog and digit ROIs are different

1.4 Recognition is working well, but number aren't sorted correctly

You have to sort your ROI correctly (Bigger to smaller). Select your ROI and click either "move next" or "move previous". Repeat until your ROI are correctly sorted

diff --git a/External-LED/index.html b/External-LED/index.html index 6e6a4f5..a5bd48b 100644 --- a/External-LED/index.html +++ b/External-LED/index.html @@ -703,12 +703,12 @@ To circumvent this problem, it is now possible to control external LEDs, which t

There is also a new meter adapter available. This has two features: designed for small clearings in front of the meter and prepared for WS2812 LEDs.

1.1 1. Hardware installation of the LED stripe

-

The control line of the LED stripe is connected with a 470 Ohm resistor to the GPIO12. +

The control line of the LED stripe is connected with a 470 Ohm resistor to the GPIO12. For power supply stabilization a capacitor between 5V and ground is recommended. Here a 470µF polymer capacitor is used. As a power supply a 5V from the ESP32 is used like in the following wiring.

-

+

1.2 2. Software configuration

-

The handling of the WS2812 LED controller needs some other libraries, therefore it is controlled within a dedicated section called GPIO Settings. The external LED stripe is connected to GPIO12. After activating the "GPIO Settings" section, the internal flash is per default disabled. In order to activate the external LED, you need to activate GPIO 12 state and select "extern flash light ws281x ...".

-

+

The handling of the WS2812 LED controller needs some other libraries, therefore it is controlled within a dedicated section called GPIO Settings. The external LED stripe is connected to GPIO12. After activating the "GPIO Settings" section, the internal flash is per default disabled. In order to activate the external LED, you need to activate GPIO 12 state and select "extern flash light ws281x ...".

+

@@ -731,7 +731,7 @@ For power supply stabilization a capacitor between 5V and ground is recommended.
-

Enabling the GPIO settings automatically disables the flash LED. Therefore you can enable it here manually by checking GPIO4 and choose "build-in led flash light". It is not recommended to use both illumination parallel.

+

Enabling the GPIO settings automatically disables the flash LED. Therefore you can enable it here manually by checking GPIO4 and choose "build-in led flash light". It is not recommended to use both illumination parallel.

diff --git a/FAQs/index.html b/FAQs/index.html index cf081e1..c0b8ee2 100644 --- a/FAQs/index.html +++ b/FAQs/index.html @@ -823,7 +823,7 @@ -

Anecdotally, the authors of this page have great success with the meter. While the AI algorithm itself is not perfect and sometimes returns NaN or incorrect values, other post-processing / prevalue / sanity checks help ensure such invalid values are filtered out. With the correct settings, one author has been running this device for 1 month without any incorrect values reported.

+

Anecdotally, the authors of this page have great success with the meter. While the AI algorithm itself is not perfect and sometimes returns NaN or incorrect values, other post-processing / prevalue / sanity checks help ensure such invalid values are filtered out. With the correct settings, one author has been running this device for 1 month without any incorrect values reported.

See the FAQs below for more details and configuration hints.

1.4 My numbers are not correctly detected. What can I do?

1.7 Pre-Value

PreValue is here a bit missleading, because normally it is the same as the last value. In the next round of reading it will be used to check negative rates, high rates (MaxRateValue / MaxRateType) and CheckDigitIncreaseConsistency (dig-class11 only). Either from a previous correctly identified value or manual setting by the user.

-

If you use post processes, enable the pre-value. The pre-value must be set at first time. Set it to the current raw value.

+

If you use post processes, enable the pre-value. The pre-value must be set at first time. Set it to the current raw value.

If the device runs in errors, the pre-value will not be updated, as long as the preValueAgeStartup time between the last valid value (or startup time) and current time is not exceeded. After it the preValue will be set again, if no other error occured. So the device can not run in an endless error, like high rate.

1.8 "Rate too high - Read: ..."

In configuration you can set the MaxRateValue and MaxRateType. The settings suppress improbably high values that can come from false readings. To do this, the value must be set correctly depending on your meter.

Before doing this, you should be clear about the type of rating you want to use.

-

If there is an interval of 5 minutes between readings and a MaxRateValue of 1, an error "Rate too high - Read: ..." if

+

If there is an interval of 5 minutes between readings and a MaxRateValue of 1, an error "Rate too high - Read: ..." if