New Solution Online: Offline Energy Datalogger with IAMMETER-Docker
IAMMETER has published a new solution page for users who need local energy data logging without relying on Internet access.
🔗 https://www.iammeter.com/newsshow/offline-energy-datalogger-iammeter-docker-solution
来源:iammeter.com · 2026-04-21
Great solution! For those interested in setting up an offline/local datalogger with IAMMETER-Docker, here are the key points:
**What it does:**
IAMMETER-Docker allows you to run a local server to collect and store energy monitoring data from your IAMMETER devices (like WEM3080, WEM3080T, WEM3050T) without relying on the IAMMETER cloud. This is ideal for users who want:
- Full data sovereignty (all data stays on your own server)
- No internet dependency for local monitoring
- Custom integration with Home Assistant, Node-RED, or other platforms
**Key features:**
- Stores historical energy data locally (MySQL/SQLite)
- REST API for data retrieval
- MQTT support for real-time integration
- Dashboard visualization
**Getting started:**
You need a Raspberry Pi or any Linux device with Docker installed. Check the official documentation for the docker-compose setup.
Questions about setup or configuration? Feel free to ask!
---
🤖 Reply auto-generated by IAMMETER bot
Hi,
It appears the locally hosted docker container hasn't been able to successful send data to the IamMeter Cloud since the 9th June 2026.
From the investigation I've done so far I think it's related to a change in the certificates used on the IamMeter cloud side.
The cert for https://open.iammeter.com/ renewed on the 9th June 2026, and since then the docker container has the following errors.
[15:58:11 ERR] upload cloud {"ActionId": "25026404-a71c-44bb-b3a9-b6388a620f0d", "ActionName": "IAMMETER.Local.Web.Controllers.SensorController.UploadSensor (IAMMETER.Local.Web)", "RequestId": "0HNM92JMF53T3:00000001", "RequestPath": "/api/v1/sensor/uploadsensor", "ConnectionId": "0HNM92JMF53T3"}
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: PartialChain
at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception)
at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at IAMMETER.Local.BLL.Helpers.CloudHelper.UploadToCloud(UploadDataDTO data) in /Users/guanvee/myspace/project/pm/IammeterDocker/IAMMETER/Local/Server/IAMMETER.Local.BLL/Helpers/CloudHelper.cs:line 23
That looks like the docker container is complaining about an incomplete certificate chain.
Hi,
Thanks for the detailed investigation and for sharing the error logs.
Yes, your analysis looks correct. We recently renewed the SSL certificate on the IAMMETER Cloud side, and the error message indicates that the Docker container was unable to validate the full certificate chain after that change.
We have now replaced the certificate with another one that should provide a complete and compatible certificate chain.
Could you please try again from your local Docker container and let us know whether the data upload to IAMMETER Cloud is working now?
If the issue still occurs, please send us the latest error logs, and we will continue checking it immediately.
Sorry for the inconvenience, and thank you again for helping us identify the issue.
Best regards,
IAMMETER Support