Compare commits
5 Commits
28c0eda917
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e36ad54fc | ||
|
|
0885b10f1c | ||
|
|
271624ca32 | ||
|
|
4f5bfa2e4d | ||
|
|
020927c268 |
1
.idea/.idea.EdenicExporter/.idea/.name
generated
Normal file
1
.idea/.idea.EdenicExporter/.idea/.name
generated
Normal file
@@ -0,0 +1 @@
|
||||
EdenicExporter
|
||||
22
Program.cs
22
Program.cs
@@ -27,6 +27,7 @@ namespace PrometheusExporterEdenic
|
||||
private readonly string _orgid;
|
||||
private readonly string _apimainurl = "https://api.edenic.io/api/v1";
|
||||
private string _devicename;
|
||||
public string DeviceName => _devicename;
|
||||
public string DeviceId { get; private set; }
|
||||
public int ph { get; private set; }
|
||||
public int temperature { get; private set; }
|
||||
@@ -201,9 +202,18 @@ namespace PrometheusExporterEdenic
|
||||
});
|
||||
});
|
||||
|
||||
var ph = Metrics.CreateGauge("edenic_ph", "Edenic ph");
|
||||
var temperature = Metrics.CreateGauge("edenic_temperature", "Edenic temperature");
|
||||
var ec = Metrics.CreateGauge("edenic_ec", "Edenic EC");
|
||||
var phGauge = Metrics.CreateGauge("edenic_ph", "Edenic ph", new GaugeConfiguration
|
||||
{
|
||||
LabelNames = new[] { "device_name" }
|
||||
});
|
||||
var temperatureGauge = Metrics.CreateGauge("edenic_temperature", "Edenic temperature", new GaugeConfiguration
|
||||
{
|
||||
LabelNames = new[] { "device_name" }
|
||||
});
|
||||
var ecGauge = Metrics.CreateGauge("edenic_ec", "Edenic EC", new GaugeConfiguration
|
||||
{
|
||||
LabelNames = new[] { "device_name" }
|
||||
});
|
||||
|
||||
string EDENIC_API_TOKEN = Environment.GetEnvironmentVariable("EDENIC_API_TOKEN");
|
||||
string EDENIC_ORG_ID = Environment.GetEnvironmentVariable("EDENIC_ORG_ID");
|
||||
@@ -217,9 +227,9 @@ namespace PrometheusExporterEdenic
|
||||
while (true)
|
||||
{
|
||||
await client.GetTelemetry();
|
||||
ph.Set(client.ph / 100.0); // Convert back to float
|
||||
temperature.Set(client.temperature / 100.0); // Convert back to float
|
||||
ec.Set(client.ec / 100.0); // Convert back to float
|
||||
phGauge.WithLabels(client.DeviceName).Set(client.ph / 100.0);
|
||||
temperatureGauge.WithLabels(client.DeviceName).Set(client.temperature / 100.0);
|
||||
ecGauge.WithLabels(client.DeviceName).Set(client.ec / 100.0);
|
||||
await Task.Delay(60000);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
edenic-exporter:
|
||||
image: michalzxc/edenic-exporter:latest
|
||||
# depends_on:
|
||||
# - prometheus
|
||||
#Your current internal network with Prometheus
|
||||
# networks:
|
||||
# - back-tier
|
||||
restart: always
|
||||
edenic-exporter:
|
||||
image: michalzxc/edenic-exporter:latest
|
||||
environment:
|
||||
- EDENIC_API_TOKEN=$EDENIC_API_TOKEN
|
||||
- EDENIC_DEVICENAME=$EDENIC_DEVICENAME
|
||||
- EDENIC_ORG_ID=$EDENIC_ORG_ID
|
||||
- ASPNETCORE_HTTP_PORTS=5000
|
||||
networks:
|
||||
- back-tier
|
||||
restart: always
|
||||
|
||||
|
||||
Reference in New Issue
Block a user