jomjol / AI-on-the-edge-device

Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world
https://jomjol.github.io/AI-on-the-edge-device-docs/
5.75k stars 618 forks source link

Full value sent to home assistant instead of change only. #3117

Closed araminimichael closed 2 months ago

araminimichael commented 3 months ago

The Problem

Since the last version (I went from 15..) to Release: v15.7.0 (Commit: 0d0b018+) due to a dead SD card.

I did a clean install with reflashing but periodically the full value is sent to home assistant (via mqtt) instead of just the change. I have another device that doesn't seem to have the problem. However, both devices have the same versions, the same SD card (new) and the same configuration except the name and IP.

Exemple in image SmartSelect_20240618_010738_Chrome SmartSelect_20240618_010755_Home Assistant SmartSelect_20240618_010805_Home Assistant We can see that the value detected is received on home assistant is identical (differences of 1) the next day I have no problem with this same device.

I don't have any logs from today (it says failed to load) but those from previous days are readable. I put the most recent.

Thank you very much for this great project and the time you put into it. It's great for me, who is an old meter, to be able to follow my consumption.

Version

Release: v15.7.0 (Commit: 0d0b018+)

Logfile

[0d00h00m00s] 2024-06-13T04:23:05   <INF>   [MAIN] =================================================
[0d00h00m00s] 2024-06-13T04:23:05   <INF>   [MAIN] ==================== Start ======================
[0d00h00m00s] 2024-06-13T04:23:05   <INF>   [MAIN] =================================================
[0d00h00m00s] 2024-06-13T04:23:05   <INF>   [MAIN] PSRAM size: 8388608 byte (8MB / 64MBit)
[0d00h00m00s] 2024-06-13T04:23:05   <INF>   [MAIN] Total heap: 4380199 byte
[0d00h00m04s] 2024-06-13T04:23:10   <INF>   [MAIN] Camera info: PID: 0x26, VER: 0x42, MIDL: 0x7f, MIDH: 0xa2
[0d00h00m04s] 2024-06-13T04:23:10   <INF>   [SDCARD] Basic R/W check started...
[0d00h00m04s] 2024-06-13T04:23:10   <INF>   [SDCARD] Basic R/W check successful
[0d00h00m04s] 2024-06-13T04:23:10   <INF>   [SNTP] TimeServer not defined, using default: pool.ntp.org
[0d00h00m04s] 2024-06-13T04:23:10   <INF>   [SNTP] Configuring NTP Client...
[0d00h00m04s] 2024-06-13T06:23:10   <INF>   [SNTP] Time zone set to CET-1CEST,M3.5.0,M10.5.0/3
[0d00h00m04s] 2024-06-13T06:23:10   <INF>   [SNTP] time zone: +0200 Delta to UTC: 7200 seconds
[0d00h00m04s] 2024-06-13T06:23:10   <INF>   [SNTP] Time is already set: 2024-06-13 06:23:10
[0d00h00m04s] 2024-06-13T06:23:10   <INF>   [MAIN] CPU frequency: 160 MHz
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [SDCARD] Folder/file presence check started...
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [SDCARD] Folder/file presence check successful
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [MAIN] Tag: 'v15.7.0', Release: v15.7.0 (Commit: 0d0b018+), Date/Time: 2024-02-17 00:15, Web UI: Release: v15.7.0 (Commit: 0d0b018+)
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [MAIN] Reset reason: Brownout
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WLANINI] SSID: IOT-Device
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WLANINI] Password: XXXXXXXX
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WLANINI] Hostname: mainpowermeter
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WLANINI] IP-Address: 192.168.1.60
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WLANINI] Gateway: 192.168.1.1
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WLANINI] Netmask: 255.255.255.0
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WLANINI] DNS: 192.168.1.76
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WLANINI] RSSIThreshold: 0
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [MAIN] WLAN config loaded, init WIFI...
[0d00h00m05s] 2024-06-13T06:23:10   <INF>   [WIFI] Manual interface config -> IP: 192.168.1.60, Gateway: 192.168.1.1, Netmask: 255.255.255.0
[0d00h00m05s] 2024-06-13T06:23:11   <INF>   [WIFI] Manual interface config -> DNS: 192.168.1.76
[0d00h00m05s] 2024-06-13T06:23:11   <INF>   [WIFI] Set hostname to: mainpowermeter
[0d00h00m05s] 2024-06-13T06:23:11   <INF>   [WIFI] Init successful
[0d00h00m07s] 2024-06-13T06:23:13   <WRN>   [WIFI] Disconnected (202, Auth fail)
[0d00h00m10s] 2024-06-13T06:23:16   <WRN>   [WIFI] Disconnected (205)
[0d00h00m00s] 2024-06-13T04:23:20   <INF>   [MAIN] =================================================
[0d00h00m00s] 2024-06-13T04:23:20   <INF>   [MAIN] ==================== Start ======================
[0d00h00m00s] 2024-06-13T04:23:20   <INF>   [MAIN] =================================================
[0d00h00m00s] 2024-06-13T04:23:20   <INF>   [MAIN] PSRAM size: 8388608 byte (8MB / 64MBit)
[0d00h00m00s] 2024-06-13T04:23:20   <INF>   [MAIN] Total heap: 4380199 byte
[0d00h00m04s] 2024-06-13T04:23:24   <INF>   [MAIN] Camera info: PID: 0x26, VER: 0x42, MIDL: 0x7f, MIDH: 0xa2
[0d00h00m04s] 2024-06-13T04:23:24   <INF>   [SDCARD] Basic R/W check started...
[0d00h00m04s] 2024-06-13T04:23:24   <INF>   [SDCARD] Basic R/W check successful
[0d00h00m04s] 2024-06-13T04:23:24   <INF>   [SNTP] TimeServer not defined, using default: pool.ntp.org
[0d00h00m04s] 2024-06-13T04:23:24   <INF>   [SNTP] Configuring NTP Client...
[0d00h00m04s] 2024-06-13T06:23:24   <INF>   [SNTP] Time zone set to CET-1CEST,M3.5.0,M10.5.0/3
[0d00h00m04s] 2024-06-13T06:23:24   <INF>   [SNTP] time zone: +0200 Delta to UTC: 7200 seconds
[0d00h00m04s] 2024-06-13T06:23:24   <INF>   [SNTP] Time is already set: 2024-06-13 06:23:24
[0d00h00m04s] 2024-06-13T06:23:24   <INF>   [MAIN] CPU frequency: 160 MHz
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [SDCARD] Folder/file presence check started...
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [SDCARD] Folder/file presence check successful
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [MAIN] Tag: 'v15.7.0', Release: v15.7.0 (Commit: 0d0b018+), Date/Time: 2024-02-17 00:15, Web UI: Release: v15.7.0 (Commit: 0d0b018+)
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [MAIN] Reset reason: Brownout
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WLANINI] SSID: IOT-Device
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WLANINI] Password: XXXXXXXX
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WLANINI] Hostname: mainpowermeter
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WLANINI] IP-Address: 192.168.1.60
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WLANINI] Gateway: 192.168.1.1
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WLANINI] Netmask: 255.255.255.0
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WLANINI] DNS: 192.168.1.76
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WLANINI] RSSIThreshold: 0
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [MAIN] WLAN config loaded, init WIFI...
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WIFI] Manual interface config -> IP: 192.168.1.60, Gateway: 192.168.1.1, Netmask: 255.255.255.0
[0d00h00m05s] 2024-06-13T06:23:25   <INF>   [WIFI] Manual interface config -> DNS: 192.168.1.76
[0d00h00m00s] 2024-06-13T04:23:27   <INF>   [MAIN] =================================================
[0d00h00m00s] 2024-06-13T04:23:27   <INF>   [MAIN] ==================== Start ======================
[0d00h00m00s] 2024-06-13T04:23:27   <INF>   [MAIN] =================================================
[0d00h00m00s] 2024-06-13T04:23:27   <INF>   [MAIN] PSRAM size: 8388608 byte (8MB / 64MBit)
[0d00h00m00s] 2024-06-13T04:23:27   <INF>   [MAIN] Total heap: 4380199 byte
[0d00h00m04s] 2024-06-13T04:23:31   <INF>   [MAIN] Camera info: PID: 0x26, VER: 0x42, MIDL: 0x7f, MIDH: 0xa2
[0d00h00m04s] 2024-06-13T04:23:31   <INF>   [SDCARD] Basic R/W check started...
[0d00h00m04s] 2024-06-13T04:23:31   <INF>   [SDCARD] Basic R/W check successful
[0d00h00m04s] 2024-06-13T04:23:31   <INF>   [SNTP] TimeServer not defined, using default: pool.ntp.org
[0d00h00m04s] 2024-06-13T04:23:31   <INF>   [SNTP] Configuring NTP Client...
[0d00h00m04s] 2024-06-13T06:23:31   <INF>   [SNTP] Time zone set to CET-1CEST,M3.5.0,M10.5.0/3
[0d00h00m04s] 2024-06-13T06:23:31   <INF>   [SNTP] time zone: +0200 Delta to UTC: 7200 seconds
[0d00h00m04s] 2024-06-13T06:23:31   <INF>   [SNTP] Time is already set: 2024-06-13 06:23:31
[0d00h00m04s] 2024-06-13T06:23:31   <INF>   [MAIN] CPU frequency: 160 MHz
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [SDCARD] Folder/file presence check started...
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [SDCARD] Folder/file presence check successful
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [MAIN] Tag: 'v15.7.0', Release: v15.7.0 (Commit: 0d0b018+), Date/Time: 2024-02-17 00:15, Web UI: Release: v15.7.0 (Commit: 0d0b018+)
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [MAIN] Reset reason: Brownout
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WLANINI] SSID: IOT-Device
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WLANINI] Password: XXXXXXXX
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WLANINI] Hostname: mainpowermeter
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WLANINI] IP-Address: 192.168.1.60
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WLANINI] Gateway: 192.168.1.1
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WLANINI] Netmask: 255.255.255.0
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WLANINI] DNS: 192.168.1.76
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WLANINI] RSSIThreshold: 0
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [MAIN] WLAN config loaded, init WIFI...
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WIFI] Manual interface config -> IP: 192.168.1.60, Gateway: 192.168.1.1, Netmask: 255.255.255.0
[0d00h00m05s] 2024-06-13T06:23:32   <INF>   [WIFI] Manual interface config -> DNS: 192.168.1.76
[0d00h00m00s] 2024-06-13T04:23:34   <INF>   [MAIN] =================================================
[0d00h00m00s] 2024-06-13T04:23:34   <INF>   [MAIN] ==================== Start ======================
[0d00h00m00s] 2024-06-13T04:23:34   <INF>   [MAIN] =================================================
[0d00h00m00s] 2024-06-13T04:23:34   <INF>   [MAIN] PSRAM size: 8388608 byte (8MB / 64MBit)
[0d00h00m00s] 2024-06-13T04:23:34   <INF>   [MAIN] Total heap: 4380199 byte
[0d00h00m04s] 2024-06-13T04:23:38   <INF>   [MAIN] Camera info: PID: 0x26, VER: 0x42, MIDL: 0x7f, MIDH: 0xa2
[0d00h00m04s] 2024-06-13T04:23:38   <INF>   [SDCARD] Basic R/W check started...
[0d00h00m04s] 2024-06-13T04:23:38   <INF>   [SDCARD] Basic R/W check successful
[0d00h00m04s] 2024-06-13T04:23:38   <INF>   [SNTP] TimeServer not defined, using default: pool.ntp.org
[0d00h00m04s] 2024-06-13T04:23:38   <INF>   [SNTP] Configuring NTP Client...
[0d00h00m04s] 2024-06-13T06:23:38   <INF>   [SNTP] Time zone set to CET-1CEST,M3.5.0,M10.5.0/3
[0d00h00m04s] 2024-06-13T06:23:38   <INF>   [SNTP] time zone: +0200 Delta to UTC: 7200 seconds
[0d00h00m04s] 2024-06-13T06:23:38   <INF>   [SNTP] Time is already set: 2024-06-13 06:23:38
[0d00h00m04s] 2024-06-13T06:23:38   <INF>   [MAIN] CPU frequency: 160 MHz
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [SDCARD] Folder/file presence check started...
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [SDCARD] Folder/file presence check successful
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [MAIN] Tag: 'v15.7.0', Release: v15.7.0 (Commit: 0d0b018+), Date/Time: 2024-02-17 00:15, Web UI: Release: v15.7.0 (Commit: 0d0b018+)
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [MAIN] Reset reason: Brownout
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WLANINI] SSID: IOT-Device
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WLANINI] Password: XXXXXXXX
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WLANINI] Hostname: mainpowermeter
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WLANINI] IP-Address: 192.168.1.60
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WLANINI] Gateway: 192.168.1.1
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WLANINI] Netmask: 255.255.255.0
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WLANINI] DNS: 192.168.1.76
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WLANINI] RSSIThreshold: 0
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [MAIN] WLAN config loaded, init WIFI...
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WIFI] Manual interface config -> IP: 192.168.1.60, Gateway: 192.168.1.1, Netmask: 255.255.255.0
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WIFI] Manual interface config -> DNS: 192.168.1.76
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WIFI] Set hostname to: mainpowermeter
[0d00h00m05s] 2024-06-13T06:23:39   <INF>   [WIFI] Init successful
[0d00h00m07s] 2024-06-13T06:23:42   <INF>   [WIFI] Connected to: IOT-Device, RSSI: -65
[0d00h00m07s] 2024-06-13T06:23:42   <INF>   [WIFI] Assigned IP: 192.168.1.60
[0d00h00m10s] 2024-06-13T06:22:41   <INF>   [SNTP] Time is synced with NTP Server pool.ntp.org: 2024-06-13 06:22:41
[0d00h00m11s] 2024-06-13T06:22:41   <INF>   [MAIN] Device info: CPU cores: 2, Chip revision: 100
[0d00h00m11s] 2024-06-13T06:22:41   <INF>   [MAIN] SD card info: Name: asdfg, Capacity: 7680MB, Free: 7653MB
[0d00h00m13s] 2024-06-13T06:22:43   <INF>   [MAIN] Initialization completed successfully
[0d00h00m15s] 2024-06-13T06:22:45   <INF>   [LOGFILE] Set log level to ERROR

Expected Behavior

The expected behavior is to receive only the change value (the difference) and not an integer value.

Screenshots

I'll put it back here if it's not visible in my first message. (The mainpowermeter7 is because 4,5,6 the same error appened since the update) and on home assistant it is impossible to delete a value. Or at least impossible for me, because I don't know how to do database manipulation). SmartSelect_20240618_010738_Chrome SmartSelect_20240618_010755_Home Assistant SmartSelect_20240618_010805_Home Assistant 20240618_012108

Additional Context

No response

henrythasler commented 3 months ago

HA always uses the current meter value that is provided by your AI-on-the-edge-device via MQTT-messages: image

The calculations for consumption/rate are done HA-internally. So I guess that your device sporadically provides a wrong reading (e.g. 0) that translates to a very high consumption when the next correct reading is received.

To verify that, you can check the data stored in the AI-on-the-edge device (Data -> Data Table). Please do also check that in your configuration (section Post-Processing) you have disabled negative rates.

araminimichael commented 3 months ago

Thank you, I will see. I had the negative rate from the start (1yr or so) otherwise I had lots of errors. It's never been a problem until now. I'm going to look at what you told me and try to reflash. But via cable this time and not with the Ota procedure for the esp32cam. I don't know why a device behaves well with the same settings. Thanks anyway for the explanations. If it's sending error is therefore not software but more of an acquisition problem.