Den Gaszähler auslesen (Pipersberg G4 RF1c)
Wie viele Andere sicherlich auch, haben wir einen Gaszähler für unsere Wärmeentwicklung im Haus. Ich hatte versucht ihn mit einem Magnetsensor zur Bereitstellung seiner digitalen Werte zu bewegen, aber leider recht erfolglos.
Warum denn also nicht das "AI on the edge" Projekt nutzen um die Werte zu erhalten. Zumal meine Lieferung von AliExpress mit jeder Menge neuer ESP32s angekommen ist.
Wie man auf dem Bild gut erkennen kann, klappt die korrekte Erkennung der Werte einwandfrei. Das Ganze an den ioBroker angebunden und per Grafana visualisiert.
Meine Konfiguration zur Information (XXX bitte Individualisieren):
[TakeImage]
RawImagesLocation = /log/source
WaitBeforeTakingPicture = 5
RawImagesRetention = 7
Demo = false
Brightness = 0
Contrast = 10
Saturation = 200
LEDIntensity = 2
ImageQuality = 12
ImageSize = VGA
FixedExposure = false
[Alignment]
InitialRotate = 1
InitialMirror = false
SearchFieldX = 20
SearchFieldY = 20
AlignmentAlgo = default
FlipImageSize = false
/config/ref0.jpg 346 163
/config/ref1.jpg 370 377
[Digits]
Model = /config/dig-class100_0160_s2_q.tflite
CNNGoodThreshold = 0.5
ROIImagesLocation = /log/digit
ROIImagesRetention = 3
main.dig1 268 216 29 50 0
main.dig2 310 218 30 50 0
main.dig3 354 218 30 50 0
main.dig4 400 213 30 50 0
main.dig5 446 213 30 50 0
main.dig6 493 218 30 50 0
main.dig7 542 218 30 50 0
main.dig8 594 218 30 50 0
;[Analog]
Model = /config/ana-cont_1105_s2_q.tflite
;ROIImagesLocation = /log/analog
;ROIImagesRetention = 3
main.ana1 314 150 118 118 true
[PostProcessing]
main.DecimalShift = 0
main.AnalogDigitalTransitionStart = 9.2
PreValueUse = true
PreValueAgeStartup = 720
main.AllowNegativeRates = true
main.MaxRateValue = 0.05
;main.MaxRateType = AbsoluteChange
main.ExtendedResolution = false
main.IgnoreLeadingNaN = true
ErrorMessage = true
CheckDigitIncreaseConsistency = false
[MQTT]
Uri = mqtt://XXX.XXX.XXX.XXX:1884
MainTopic = gasmeter
ClientID = gas
user = XXX
password = XXX
RetainMessages = true
HomeassistantDiscovery = true
MeterType = water_m3
;[InfluxDB]
;Uri = undefined
;Database = undefined
;user = undefined
;password = undefined
;main.Measurement = undefined
;main.Field =
;[InfluxDBv2]
;Uri = undefined
;Database = undefined
;Org = undefined
;Token = undefined
;main.Measurement = undefined
main.Field = undefined
;[GPIO]
;IO0 = input disabled 10 false false
;IO1 = input disabled 10 false false
;IO3 = input disabled 10 false false
;IO4 = built-in-led disabled 10 false false
;IO12 = input-pullup disabled 10 false false
;IO13 = input-pullup disabled 10 false false
LEDType = WS2812
LEDNumbers = 2
LEDColor = 150 150 150
[AutoTimer]
AutoStart = true
Interval = 5
[DataLogging]
DataLogActive = true
DataFilesRetention = 3
[Debug]
LogLevel = 3
LogfilesRetention = 3
[System]
TimeZone = CET-1CEST,M3.5.0,M10.5.0/3
TimeServer = pool.ntp.org
Hostname = gasmeter
;RSSIThreshold = 0
CPUFrequency = 160
SetupMode = false