Entwicklung/Sensormat/Shelly/Shelly3PM/SensorEntity.cs
2025-09-23 10:21:23 +02:00

48 lines
1.5 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Shelly.Shelly3PM.SensorEntity
// Assembly: Shelly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 2DDB6D74-8C37-490A-B928-07FB0E37240C
// Assembly location: \\192.168.178.26\Freigabe\Shelly.dll
using Newtonsoft.Json;
using Sensormat;
using Sensormat.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
#nullable disable
namespace Shelly.Shelly3PM
{
public class SensorEntity : ISensor
{
private Config cfg;
public override bool Execute()
{
try
{
this.cfg = this.getConfiguration<Config>();
new ResultSet().XMLSerializeData<ResultSet>();
string str = this.HttpRequest(this.Sensor.URL);
if (str != null)
{
ResultSet resultSet = JsonConvert.DeserializeObject<ResultSet>(str);
if (this.cfg.Sum)
this.LastValue = ((IEnumerable<ResultMeters>)resultSet.emeters).Sum<ResultMeters>((Func<ResultMeters, Decimal>)(f => f.total)).ToString();
else
this.LastValue = resultSet.emeters?[this.cfg.index]?.total.ToString();
this.LastValueDate = new DateTime?(DateTime.Now);
return true;
}
}
catch (Exception ex)
{
Console.WriteLine((object)ex);
this.ErrorMsg = ex.Message;
}
return false;
}
}
}