namespace InnovEnergy.Lib.Victron.VictronVRM;

public static class Details
{

    public static String? MachineSerial    (this IEnumerable<Detail> ds) => ds.GetDetail(556);
    public static String? RemoteSupportIp  (this IEnumerable<Detail> ds) => ds.GetDetail(543)?.Split(";").FirstOrDefault();
    public static String? RemoteSupportPort(this IEnumerable<Detail> ds) => ds.GetDetail(543)?.Split(";").LastOrDefault();
    

    private static String? GetDetail(this IEnumerable<Detail> details, Int32 code)
    {
        return details
              .Where(r => r.IdDataAttribute == code)
              .Select(r => r.FormattedValue)
              .SingleOrDefault();
    }
    
}