-
+
-
-
- IgnoreLeadingNaN
+ IgnoreLeadingNaN
@@ -584,14 +536,17 @@ textarea {
- MQTT
+
+
+
+ MQTT
+
+
-
+
-
-
- Uri
+ Uri
@@ -601,11 +556,9 @@ textarea {
-
+
-
-
- MainTopic
+ MainTopic
@@ -621,11 +574,9 @@ textarea {
-
+
-
-
- ClientID
+ ClientID
@@ -635,11 +586,9 @@ textarea {
-
+
-
-
- user
+ user
@@ -649,11 +598,9 @@ textarea {
-
+
-
-
- password
+ password
@@ -663,11 +610,9 @@ textarea {
-
+
-
-
- Enable MQTT Retain Flag
+ Enable MQTT Retain Flag
@@ -679,16 +624,65 @@ textarea {
Enable or disable the retain flag for all MQTT entries
-
- InfluxDB
+
+ Homeassistant Discovery (using MQTT)
+ The discovery topics and the static topics (IP, MAC, Hostname, Interval, ...) only get sent on startup.
+ To send them again, you can call the following URL: http://<IP>/mqtt_publish_discovery
+
+
+
+
+
+ Homeassistant Discovery
+
+
+
+ true
+ false
+
+
+
+ Enable or disable the Homeassistant Discovery
+
+
+
+
+
+ Meter Type
+
+
+
+ Other (no Units)
+ Watermeter (Value: m³, Rate: m³/h)
+ Watermeter (Value: l, Rate: l/h)
+ Watermeter (Value: gal, Rate: gal/h)
+ Watermeter (Value: ft³, Rate: ft³/m)
+ Gasmeter (Value: m³, Rate: m³/h)
+ Gasmeter (Value: ft³, Rate: ft³/m)
+ Energymeter (Value: Wh, Rate: W)
+ Energymeter (Value: kWh, Rate: kW)
+ Energymeter (Value: MWh, Rate: MW)
+
+
+
+ Select the meter type so the sensors have the right units in Homeassistant.
+ Note: For 'Watermeter' you need to have Homeassistant 2022.11 or never!
+
+
+
+
+
+
+
+
+ InfluxDB Only InfluxDB v1.x is supported, v2.x has a changed interface
+
-
+
-
-
- Uri
+ Uri
@@ -698,11 +692,9 @@ textarea {
-
+
-
-
- Database
+ Database
@@ -712,11 +704,9 @@ textarea {
-
+
-
-
- Measurement
+ Measurement
@@ -726,11 +716,9 @@ textarea {
-
+
-
-
- user
+ user
@@ -740,11 +728,9 @@ textarea {
-
+
-
-
- password
+ password
@@ -753,81 +739,42 @@ textarea {
Password for InfluxDB authentication
-
-
-
- AutoTimer
-
-
-
-
-
- AutoStart
-
-
-
- true
- false
-
-
-
- Start the image recognition immediatly after power up. false is basically for debugging.
-
-
-
-
-
-
- Intervall
-
-
-
-
-
- Intervall in which the counter is read (in minutes). Number must be greater than 3 minutes.
-
-
-
+
- GPIO Settings
- - Enabling GPIO handler, disable by default integrated flash light. Please enable it with GPIO4 (internal flash LED) settings or GPIO12 (external LED).
-
+ GPIO Settings
+
+ Enabling GPIO handler, disable by default integrated flash light. Please enable it with GPIO4 (internal flash LED) settings or GPIO12 (external LED).
+
-
+
+ GPIO 0 state
- GPIO 0 state
-
-
-
input
input pullup
input pulldown
output
-
GPIO 0 Usable with restrictions.
- Must be disabled when camera is used.
- Pin is used to activate flash mode and must therefore be HIGH when booting.
+ Must be disabled when camera is used.
+ Pin is used to activate flash mode and must therefore be HIGH when booting.
-
-
+
GPIO 0 use interrupt
-
disabled
rising edge
@@ -837,55 +784,42 @@ textarea {
high level trigger
-
GPIO 0 enable interrupt trigger
-
-
+
GPIO 0 PWM duty resolution
-
-
-
+
GPIO 0 LEDC PWM duty resolution in bit
-
-
+
GPIO 0 enable MQTT
-
-
-
+
GPIO 0 enable MQTT publishing/subscribing
-
-
+
GPIO 0 enable HTTP
-
-
-
+
GPIO 0 enable HTTP write/read
-
-
+
GPIO 0 name
-
-
-
+
GPIO 0 MQTT topic name (empty = GPIO0). Allowed characters (a-z, A-Z, 0-9, _, -)
@@ -894,91 +828,72 @@ textarea {
-
+
+ GPIO 1 state
- GPIO 1 state
-
-
-
input
input pullup
input pulldown
output
-
GPIO 1 Used by default for serial communication as TX pin. Required for seriales monitor.
-
-
+
GPIO 1 use interrupt
-
-
- disabled
- rising edge
- falling edge
- rising and falling
- low level trigger
- high level trigger
-
-
+
+ disabled
+ rising edge
+ falling edge
+ rising and falling
+ low level trigger
+ high level trigger
+
GPIO 1 enable interrupt trigger
-
-
+
GPIO 1 PWM duty resolution
-
-
-
+
GPIO 1 LEDC PWM duty resolution in bit
-
-
+
GPIO 1 enable MQTT
-
-
-
+
GPIO 1 enable MQTT publishing/subscribing
-
-
+
GPIO 1 enable HTTP
-
-
-
+
GPIO 1 enable HTTP write/read
-
-
+
GPIO 1 name
-
-
-
+
GPIO 1 MQTT topic name (empty = GPIO1). Allowed characters (a-z, A-Z, 0-9, _, -)
@@ -987,91 +902,72 @@ textarea {
-
+
+ GPIO 3 state
- GPIO 3 state
-
-
-
-
- input
- input pullup
- input pulldown
- output
-
-
+
+ input
+ input pullup
+ input pulldown
+ output
+
GPIO 3 Used by default for serial communication as RX pin.
-
-
+
GPIO 3 use interrupt
-
-
- disabled
- rising edge
- falling edge
- rising and falling
- low level trigger
- high level trigger
-
-
+
+ disabled
+ rising edge
+ falling edge
+ rising and falling
+ low level trigger
+ high level trigger
+
GPIO 3 Used by default for serial communication as RX pin.
-
-
+
GPIO 3 PWM duty resolution
-
-
-
+
GPIO 3 LEDC PWM duty resolution in bit
-
-
+
GPIO 3 enable MQTT
-
-
-
+
GPIO 3 enable MQTT publishing/subscribing
-
-
+
GPIO 3 enable HTTP
-
-
-
+
GPIO 3 enable HTTP write/read
-
-
+
GPIO 3 name
-
-
-
+
GPIO 3 MQTT topic name (empty = GPIO3). Allowed characters (a-z, A-Z, 0-9, _, -)
@@ -1080,93 +976,74 @@ textarea {
-
+
+ GPIO 4 state
- GPIO 4 state
-
-
-
-
- input
- input pullup
- input pulldown
- output
- built-in led flash light
-
-
+
+ input
+ input pullup
+ input pulldown
+ output
+ built-in led flash light
+
GPIO 4 Usable with restrictions.
- Pin is used for build-in flash light.
+ Pin is used for build-in flash light.
-
-
+
GPIO 4 use interrupt
-
-
- disabled
- rising edge
- falling edge
- rising and falling
- low level trigger
- high level trigger
-
-
+
+ disabled
+ rising edge
+ falling edge
+ rising and falling
+ low level trigger
+ high level trigger
+
GPIO 4 enable interrupt trigger
-
-
+
GPIO 4 PWM duty resolution
-
-
-
+
GPIO 4 LEDC PWM duty resolution in bit
-
-
+
GPIO 4 enable MQTT
-
-
-
+
GPIO 4 enable MQTT publishing/subscribing
-
-
+
GPIO 4 enable HTTP
-
-
-
+
GPIO 4 enable HTTP write/read
-
-
+
GPIO 4 name
-
-
-
+
GPIO 4 MQTT topic name (empty = GPIO4). Allowed characters (a-z, A-Z, 0-9, _, -)
@@ -1175,101 +1052,80 @@ textarea {
-
+
+ GPIO 12 state
- GPIO 12 state
-
-
-
-
- input
- input pullup
- input pulldown
- output
- external flash light ws281x controlled
-
-
+
+ input
+ input pullup
+ input pulldown
+ output
+ external flash light ws281x controlled
+
GPIO 12 is usable without restrictions
-
-
+
GPIO 12 use interrupt
-
-
- disabled
- rising edge
- falling edge
- rising and falling
- low level trigger
- high level trigger
-
-
+
+ disabled
+ rising edge
+ falling edge
+ rising and falling
+ low level trigger
+ high level trigger
+
GPIO 12 enable interrupt trigger
-
-
+
GPIO 12 PWM duty resolution
-
-
-
+
GPIO 12 LEDC PWM duty resolution in bit
-
-
+
GPIO 12 enable MQTT
-
-
-
+
GPIO 12 enable MQTT publishing/subscribing
-
-
+
GPIO 12 enable HTTP
-
-
-
+
GPIO 12 enable HTTP write/read
-
-
+
GPIO 12 name
-
-
-
+
GPIO 12 MQTT topic name (empty = GPIO12). Allowed characters (a-z, A-Z, 0-9, _, -)
-
-
-
+
LED-Type
@@ -1286,9 +1142,7 @@ textarea {
-
-
-
+
Numbers of LEDs
@@ -1299,12 +1153,10 @@ textarea {
-
-
-
+
LED Color
-
+
R
G
B
@@ -1319,33 +1171,27 @@ textarea {
-
+
+ GPIO 13 state
- GPIO 13 state
-
-
-
input
input pullup
input pulldown
output
-
GPIO 13 is usable without restrictions
-
-
+
GPIO 13 use interrupt
-
disabled
rising edge
@@ -1355,55 +1201,42 @@ textarea {
high level trigger
-
GPIO 13 enable interrupt trigger
-
-
+
GPIO 13 PWM duty resolution
-
-
-
+
GPIO 13 LEDC PWM duty resolution in bit
-
-
+
GPIO 13 enable MQTT
-
-
-
+
GPIO 13 enable MQTT publishing/subscribing
-
-
+
GPIO 13 enable HTTP
-
-
-
+
GPIO 13 enable HTTP write/read
-
-
+
GPIO 13 name
-
-
-
+
GPIO 13 MQTT topic name (empty = GPIO13). Allowed characters (a-z, A-Z, 0-9, _, -)
@@ -1411,34 +1244,89 @@ textarea {
- Debug
-
-
-
-
-
-
- Logfile
+ AutoTimer
+
+
+
+ AutoStart
-
+
+ true
+ false
+
+
+
+ Start the image recognition immediatly after power up. false is basically for debugging.
+
+
+
+
+ Interval
+
+
+
+
+
+ Interval in which the number(s) are read (in minutes). If a run takes longer than this interval, the next run gets postponed until the current run completes.
+
+
+
+
+ DataLogging
+
+
+
+ DataLogActive
+
+
+
true
false
- Turn on/off the extended logging
+ Activate data log to SD card
+
-
-
+
+ DataLogRetentionInDays
+
+
+
+ Time to keep the data files (in days - "0" = forever)
+
+
+
+
+ Debug
+
+
+
+ Logfile Log Level
+
+
+
+ ERROR
+ WARNING
+ INFO
+ DEBUG
+
+
+
+ Set the level of the logging to the SD-Card.Warning: DEBUG or INFO might damage the SD-Card if enabled longterm due to excessive writes to the SD-Card!
+
+
+
+
LogfileRetentionInDays
-
+
Time to keep the log files (in days - "0" = forever)
@@ -1446,14 +1334,12 @@ textarea {
- System
+ System
-
-
-
-
- TimeZone
+
+
+ TimeZone
@@ -1463,11 +1349,9 @@ textarea {
-
-
-
-
- TimeServer
+
+
+ TimeServer
@@ -1477,15 +1361,12 @@ textarea {
-
-
-
-
- Hostname
+
+
+ Hostname
-
Hostname for server - will be transfered to wlan.ini at next startup)
@@ -1609,7 +1490,7 @@ function WriteParameter(_param, _category, _cat, _name, _optional, _number = -1)
}
if (!_isFound)
{
- _zw_txt = "In the selectd field the value '" + textToFind + "' in the parameter '";
+ _zw_txt = "In the selected field the value '" + textToFind + "' in the parameter '";
_zw_txt = _zw_txt + _cat + "' in the field '" + _name + "' is invalid.\nPLEASE CHECK BEFORE SAVING!";
alert(_zw_txt);
}
@@ -1650,7 +1531,7 @@ function WriteParameter(_param, _category, _cat, _name, _optional, _number = -1)
}
if (!_isFound)
{
- _zw_txt = "In the selectd field the value '" + textToFind + "' in the section '";
+ _zw_txt = "In the selected field the value '" + textToFind + "' in the section '";
_zw_txt = _zw_txt + _cat + "' in the field '" + _name + "' is invalid.\nPLEASE CHECK BEFORE SAVING!";
alert(_zw_txt);
}
@@ -1674,7 +1555,7 @@ function WriteParameter(_param, _category, _cat, _name, _optional, _number = -1)
document.getElementById(_cat+"_"+_name+"_value"+j).disabled = true;
}
}
- document.getElementById(_cat+"_"+_name+"_text").style="color:lightgrey;"
+ document.getElementById(_cat+"_"+_name+"_text").style="color: gray;"
setEnabled(_cat+"_"+_name, false);
}
@@ -1850,6 +1731,7 @@ function UpdateInputIndividual()
if (NUNBERSAkt != -1)
{
ReadParameter(param, "PostProcessing", "DecimalShift", true, NUNBERSAkt)
+ ReadParameter(param, "PostProcessing", "AnalogDigitalTransitionStart", true, NUNBERSAkt)
ReadParameter(param, "PostProcessing", "MaxRateValue", true, NUNBERSAkt)
ReadParameter(param, "PostProcessing", "MaxRateType", true, NUNBERSAkt)
ReadParameter(param, "PostProcessing", "ExtendedResolution", true, NUNBERSAkt)
@@ -1859,6 +1741,7 @@ function UpdateInputIndividual()
var sel = document.getElementById("Numbers_value1");
NUNBERSAkt = sel.selectedIndex;
WriteParameter(param, category, "PostProcessing", "DecimalShift", true, NUNBERSAkt);
+ WriteParameter(param, category, "PostProcessing", "AnalogDigitalTransitionStart", true, NUNBERSAkt);
WriteParameter(param, category, "PostProcessing", "MaxRateValue", true, NUNBERSAkt);
WriteParameter(param, category, "PostProcessing", "MaxRateType", true, NUNBERSAkt);
WriteParameter(param, category, "PostProcessing", "ExtendedResolution", true, NUNBERSAkt);
@@ -1891,11 +1774,9 @@ function UpdateInput() {
WriteParameter(param, category, "Digits", "CNNGoodThreshold", true);
WriteParameter(param, category, "Digits", "LogImageLocation", true);
WriteParameter(param, category, "Digits", "LogfileRetentionInDays", true);
-// WriteParameter(param, category, "Digits", "ModelInputSize", false);
WriteParameter(param, category, "Analog", "LogImageLocation", true);
WriteParameter(param, category, "Analog", "LogfileRetentionInDays", true);
-// WriteParameter(param, category, "Analog", "ModelInputSize", false);
WriteParameter(param, category, "PostProcessing", "PreValueUse", true);
WriteParameter(param, category, "PostProcessing", "PreValueAgeStartup", true);
@@ -1909,6 +1790,8 @@ function UpdateInput() {
WriteParameter(param, category, "MQTT", "user", true);
WriteParameter(param, category, "MQTT", "password", true);
WriteParameter(param, category, "MQTT", "SetRetainFlag", true);
+ WriteParameter(param, category, "MQTT", "HomeassistantDiscovery", true);
+ WriteParameter(param, category, "MQTT", "MeterType", true);
WriteParameter(param, category, "InfluxDB", "Uri", true);
WriteParameter(param, category, "InfluxDB", "Database", true);
@@ -1929,8 +1812,11 @@ function UpdateInput() {
WriteParameter(param, category, "AutoTimer", "AutoStart", false);
WriteParameter(param, category, "AutoTimer", "Intervall", false);
- WriteParameter(param, category, "Debug", "Logfile", true);
- WriteParameter(param, category, "Debug", "LogfileRetentionInDays", true);
+ WriteParameter(param, category, "DataLogging", "DataLogActive", false);
+ WriteParameter(param, category, "DataLogging", "DataLogRetentionInDays", false);
+
+ WriteParameter(param, category, "Debug", "Logfile", false);
+ WriteParameter(param, category, "Debug", "LogfileRetentionInDays", false);
WriteParameter(param, category, "System", "TimeZone", true);
WriteParameter(param, category, "System", "Hostname", true);
@@ -1956,12 +1842,12 @@ function WriteModelFiles()
var text = list_tflite[i].replace("/config/", "");
- if (list_tflite[i].includes("/dig-")) { // Its a digital file, only show in the digital list box
+ if (list_tflite[i].includes("/dig")) { // Its a digital file, only show in the digital list box
optionDig.text = text;
optionDig.value = list_tflite[i];
_indexDig.add(optionDig);
}
- else if (list_tflite[i].includes("/ana-")) { // Its a digital file, only show in the analog list box
+ else if (list_tflite[i].includes("/ana")) { // Its a digital file, only show in the analog list box
optionAna.text = text;
optionAna.value = list_tflite[i];
_indexAna.add(optionAna);
@@ -2008,12 +1894,10 @@ function ReadParameterAll()
ReadParameter(param, "Digits", "CNNGoodThreshold", true);
ReadParameter(param, "Digits", "LogImageLocation", true);
ReadParameter(param, "Digits", "LogfileRetentionInDays", true);
-// ReadParameter(param, "Digits", "ModelInputSize", false);
ReadParameter(param, "Analog", "Model", false);
ReadParameter(param, "Analog", "LogImageLocation", true);
ReadParameter(param, "Analog", "LogfileRetentionInDays", true);
-// ReadParameter(param, "Analog", "ModelInputSize", false);
ReadParameter(param, "PostProcessing", "PreValueUse", true);
ReadParameter(param, "PostProcessing", "PreValueAgeStartup", true);
@@ -2027,6 +1911,8 @@ function ReadParameterAll()
ReadParameter(param, "MQTT", "user", true);
ReadParameter(param, "MQTT", "password", true);
ReadParameter(param, "MQTT", "SetRetainFlag", true);
+ ReadParameter(param, "MQTT", "HomeassistantDiscovery", true);
+ ReadParameter(param, "MQTT", "MeterType", true);
ReadParameter(param, "InfluxDB", "Uri", true);
ReadParameter(param, "InfluxDB", "Database", true);
@@ -2053,9 +1939,12 @@ function ReadParameterAll()
ReadParameter(param, "AutoTimer", "AutoStart", false);
ReadParameter(param, "AutoTimer", "Intervall", false);
+
+ ReadParameter(param, "DataLogging", "DataLogActive", false);
+ ReadParameter(param, "DataLogging", "DataLogRetentionInDays", false);
- ReadParameter(param, "Debug", "Logfile", true);
- ReadParameter(param, "Debug", "LogfileRetentionInDays", true);
+ ReadParameter(param, "Debug", "Logfile", false);
+ ReadParameter(param, "Debug", "LogfileRetentionInDays", false);
ReadParameter(param, "System", "TimeZone", true);
ReadParameter(param, "System", "Hostname", true);