## Config.ini: | Expert Mode

Enable | Parameter | Value | Information
--- | --- | --- | ---
#### MakeImage
| LogImageLocation |  | Location to store raw images for logging
| LogfileRetentionInDays |  | Time to keep the raw image (in days -"0" = forever)
| WaitBeforeTakingPicture |  | Wait time between illumination switch on and take the picture (in seconds)
| ImageQuality |  | Quality index for picture (default = "12" - "0" high ... "63" low) Remark: values smaller than 12 can result in a reboot, as the bigger sized JPEG might not fit in the available RAM!
| ImageSize |  | Picture size camera (default = "VGA")
| LEDIntensity |  | Internal LED Flash Intensity (PWM from 0% - 100%). Remark: as the camera autoillumination settings are used, this is rather for energy saving, than reducing reflections.
| Brightness |  | Image Brightness (-2 .. 2 - default = "0")
| Contrast |  | Image Contrast (-2 .. 2 - default = "0") Remark: camera driver is not fully supporting this setting yet (no impact on image)
| Saturation |  | Image Saturation (-2 .. 2 - default = "0") Remark: camera driver is not fully supporting this setting yet (no impact on image)
| FixedExposure |  | Fixes the illumination setting of camera at the startup and uses this later --> individual round is faster
#### Alignment
| SearchFieldX |  | x size (width) in which the reference is searched (default = "20")
| SearchFieldY |  | y size (height) in which the reference is searched (default = "20")
| AlignmentAlgo |  | "Default" = use only R-Channel, "HighAccurity" = use all Channels (RGB, 3x slower), "Fast" (First time RGB, then only check if image is shifted)
#### Digits
| Model |  | Path to CNN model file for image recognition
| LogImageLocation |  | Location to store separated digits for logging
| LogfileRetentionInDays |  | Time to keep the separated digit images (in days -"0" = forever)
| ModelInputSize | x: y: | Size of the input image for the CNN model
#### Analog
| Model |  | Path to CNN model file for image recognition
| LogImageLocation |  | Location to store separated digits for logging
| LogfileRetentionInDays |  | Time to keep the separated digit images (in days -"0" = forever)
| ModelInputSize | x: y: | Size of the input image for the CNN model
#### PostProcessing
| PreValueUse |  | Enable to use the previous read value for consistency checks - also on reboots
| PreValueAgeStartup |  | Time (in minutes), how long a previous read value is valid after reboot (default = 720 min)
| AllowNegativeRates |  | Set on "false" to ensure, that only positive changes are accepted (typically for counter)
| ErrorMessage |  | Do not show error message in return value - in error case, the last valid number will be send out
| CheckDigitIncreaseConsistency |  | Enable additional consistency check - especially zero crossing check between digits
Postprocessing Individual Parameters:
| DecimalShift |  | Shift the digit separator within the digital digits (positiv and negativ)
| MaxRateValue |  | Maximum change of a reading - if threated as absolute or relative change see next parameter.
| MaxRateType |  | Defines if the change rate compared to the previous value is calculated as absolute change (AbsoluteChange) or as rate normalized to the intervall (RateChange = change/minute).
| ExtendedResolution |  | Enable to use the after point resolution for the last analog counter
| IgnoreLeadingNaN |  | Leading "N"'s will be deleted before further processing
#### MQTT
| Uri |  | URI to the MQTT broker including port e.g.: mqtt://IP-Address:Port
| MainTopic |  | MQTT main topic, under which the counters are published. The single value will be published with the following key: MAINTOPIC/VALUE_NAME/PARAMETER where parameters are: value, rate, timestamp, error The general connection status can be found in MAINTOPIC/CONNECTION
| ClientID |  | ClientID to connect to the MQTT broker
| user |  | User for MQTT authentication
| password |  | Password for MQTT authentication
#### AutoTimer
| AutoStart |  | 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 0 state |  | 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.
| GPIO 0 use interrupt |  | 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, _, -)
| GPIO 1 state |  | GPIO 1 Used by default for serial communication as TX pin. Required for seriales monitor.
| GPIO 1 use interrupt |  | 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, _, -)
| GPIO 3 state |  | GPIO 3 Used by default for serial communication as RX pin.
| GPIO 3 use interrupt |  | 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, _, -)
| GPIO 4 state |  | GPIO 4 Usable with restrictions. Pin is used for build-in flash light.
| GPIO 4 use interrupt |  | 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, _, -)
| GPIO 12 state |  | GPIO 12 is usable without restrictions
| GPIO 12 use interrupt |  |  | 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 |  | Type of WS2812x, that is connected to GPIO12
| Numbers of LEDs |  | Number of LEDs on the external LED-stripe
| LED Color | R G B | Color of LEDs in (R)ed, (G)reen (B)lue from 0...255
| GPIO 13 state |  | GPIO 13 is usable without restrictions
| GPIO 13 use interrupt |  | 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, _, -)
#### Debug
| Logfile |  | Turn on/off the extended logging
| LogfileRetentionInDays |  | Time to keep the log files (in days - "0" = forever)
#### System
| TimeZone |  | Time zone in POSIX syntax (Europe/Berlin = "CET-1CEST,M3.5.0,M10.5.0/3" - incl. daylight saving)
| TimeServer |  | Time server to synchronize system time (default: "pool.ntp.org" - used if nothing is specified)
| Hostname |  | Hostname for server - will be transfered to wlan.ini at next startup)