using InnovEnergy.Lib.Devices.Adam6360D; using InnovEnergy.Lib.Protocols.Modbus.Channels; namespace InnovEnergy.App.SaliMax.SaliMaxRelays; public class RelaysDevice { private Adam6360DDevice AdamDevice { get; } public RelaysDevice(String hostname) => AdamDevice = new Adam6360DDevice(hostname, 2); public RelaysDevice(Channel channel) => AdamDevice = new Adam6360DDevice(channel, 2); public RelaysRecord? Read() { try { return AdamDevice.Read(); } catch (Exception e) { $"Failed to read from {nameof(RelaysDevice)}\n{e}".LogError(); // TODO: log return null; } } public void Write(RelaysRecord r) { try { AdamDevice.Write(r); } catch (Exception e) { $"Failed to write to {nameof(RelaysDevice)}\n{e}".LogError(); } } }