using InnovEnergy.Lib.Protocols.Modbus.Channels; using InnovEnergy.Lib.Protocols.Modbus.Clients; using InnovEnergy.Lib.Protocols.Modbus.Slaves; using InnovEnergy.Lib.Utils; namespace InnovEnergy.Lib.Devices.EmuMeter; public class EmuMeterDevice: ModbusDevice { public EmuMeterDevice(String hostname, UInt16 port = 502, Byte slaveId = 1) : this(new TcpChannel(hostname, port), slaveId) { } public EmuMeterDevice(Channel channel, Byte slaveId = 1) : base(new ModbusTcpClient(channel, slaveId)) { } public EmuMeterDevice(ModbusClient client) : base(client) { } public new EmuMeterRegisters? Read() { try { return base.Read(); } catch { "Failed to read data from EmuMeter".WriteLine(); return null; } } public new void Write(EmuMeterRegisters registers) { try { base.Write(registers); } catch (Exception e) { // TODO: Log Console.WriteLine(e); } } }