diff --git a/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Modbus/ModbusDriverProbe.cs b/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Modbus/ModbusDriverProbe.cs
index f115dd25..8bb88235 100644
--- a/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Modbus/ModbusDriverProbe.cs
+++ b/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Modbus/ModbusDriverProbe.cs
@@ -26,7 +26,7 @@ public sealed class ModbusDriverProbe : IDriverProbe
private static readonly byte[] Fc03Pdu = [0x03, 0x00, 0x00, 0x00, 0x01];
///
- public string DriverType => "ModbusTcp";
+ public string DriverType => "Modbus";
///
public async Task ProbeAsync(string configJson, TimeSpan timeout, CancellationToken ct)
diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/DriverEditRouter.razor b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/DriverEditRouter.razor
index dfbf30e0..45224b8a 100644
--- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/DriverEditRouter.razor
+++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/DriverEditRouter.razor
@@ -52,7 +52,7 @@ else
private static readonly IReadOnlyDictionary _componentMap =
new Dictionary(StringComparer.OrdinalIgnoreCase)
{
- ["ModbusTcp"] = typeof(ModbusDriverPage),
+ ["Modbus"] = typeof(ModbusDriverPage),
["AbCip"] = typeof(AbCipDriverPage),
["AbLegacy"] = typeof(AbLegacyDriverPage),
["S7"] = typeof(S7DriverPage),
diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/DriverTypePicker.razor b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/DriverTypePicker.razor
index ec513615..9985605d 100644
--- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/DriverTypePicker.razor
+++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/DriverTypePicker.razor
@@ -37,7 +37,7 @@
private static readonly IReadOnlyList _types = new[]
{
- new DriverTypeEntry("ModbusTcp", "modbustcp", "[M]", "Modbus/TCP — generic registers/coils via port 502."),
+ new DriverTypeEntry("Modbus TCP", "modbustcp", "[M]", "Modbus/TCP — generic registers/coils via port 502."),
new DriverTypeEntry("AbCip", "abcip", "[CIP]", "Allen-Bradley CompactLogix/ControlLogix via CIP."),
new DriverTypeEntry("AbLegacy", "ablegacy", "[AB]", "Allen-Bradley PLC-5/SLC-500/MicroLogix via DF1."),
new DriverTypeEntry("S7", "s7", "[S7]", "Siemens S7-300/400/1200/1500 via ISO-on-TCP."),
diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/ModbusDriverPage.razor b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/ModbusDriverPage.razor
index d16a9112..59089643 100644
--- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/ModbusDriverPage.razor
+++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Pages/Clusters/Drivers/ModbusDriverPage.razor
@@ -321,7 +321,7 @@ else
[Parameter] public string ClusterId { get; set; } = "";
[Parameter] public string? DriverInstanceId { get; set; }
- private const string DriverTypeKey = "ModbusTcp";
+ private const string DriverTypeKey = "Modbus";
private bool IsNew => string.IsNullOrEmpty(DriverInstanceId);
diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Drivers/DriverIdentitySection.razor b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Drivers/DriverIdentitySection.razor
index a1354355..f642687a 100644
--- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Drivers/DriverIdentitySection.razor
+++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Drivers/DriverIdentitySection.razor
@@ -28,7 +28,7 @@
-
+
@@ -73,7 +73,7 @@
[Required, RegularExpression("^[A-Za-z0-9_-]+$", ErrorMessage = "Use letters, digits, dash, underscore.")]
public string DriverInstanceId { get; set; } = "";
[Required] public string Name { get; set; } = "";
- [Required] public string DriverType { get; set; } = "ModbusTcp";
+ [Required] public string DriverType { get; set; } = "Modbus";
[Required] public string NamespaceId { get; set; } = "";
public bool Enabled { get; set; } = true;
}
diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/TagConfigEditorMap.cs b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/TagConfigEditorMap.cs
index dc929706..7da79860 100644
--- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/TagConfigEditorMap.cs
+++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/TagConfigEditorMap.cs
@@ -10,7 +10,7 @@ public static class TagConfigEditorMap
private static readonly IReadOnlyDictionary Map =
new Dictionary(StringComparer.OrdinalIgnoreCase)
{
- ["ModbusTcp"] = typeof(Components.Shared.Uns.TagEditors.ModbusTagConfigEditor),
+ ["Modbus"] = typeof(Components.Shared.Uns.TagEditors.ModbusTagConfigEditor),
["S7"] = typeof(Components.Shared.Uns.TagEditors.S7TagConfigEditor),
["AbCip"] = typeof(Components.Shared.Uns.TagEditors.AbCipTagConfigEditor),
["AbLegacy"] = typeof(Components.Shared.Uns.TagEditors.AbLegacyTagConfigEditor),
diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/TagConfigValidator.cs b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/TagConfigValidator.cs
index e37b3d44..f126a1cd 100644
--- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/TagConfigValidator.cs
+++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/TagConfigValidator.cs
@@ -12,7 +12,7 @@ public static class TagConfigValidator
private static readonly IReadOnlyDictionary> Validators =
new Dictionary>(StringComparer.OrdinalIgnoreCase)
{
- ["ModbusTcp"] = j => ModbusTagConfigModel.FromJson(j).Validate(),
+ ["Modbus"] = j => ModbusTagConfigModel.FromJson(j).Validate(),
["S7"] = j => S7TagConfigModel.FromJson(j).Validate(),
["AbCip"] = j => AbCipTagConfigModel.FromJson(j).Validate(),
["AbLegacy"] = j => AbLegacyTagConfigModel.FromJson(j).Validate(),
diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/TagConfigValidatorTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/TagConfigValidatorTests.cs
index 160382c3..93917cf4 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/TagConfigValidatorTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/TagConfigValidatorTests.cs
@@ -16,7 +16,12 @@ public sealed class TagConfigValidatorTests
[Fact]
public void Modbus_has_no_required_field_so_empty_config_is_valid()
- => TagConfigValidator.Validate("ModbusTcp", "{}").ShouldBeNull();
+ => TagConfigValidator.Validate("Modbus", "{}").ShouldBeNull();
+
+ [Fact]
+ public void Resolve_Modbus_dispatches_typed_editor()
+ => TagConfigEditorMap.Resolve("Modbus")
+ .ShouldBe(typeof(ZB.MOM.WW.OtOpcUa.AdminUI.Components.Shared.Uns.TagEditors.ModbusTagConfigEditor));
// Drivers whose Validate() requires a field: blank config must return an error string.
[Theory]
diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceAreaLineTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceAreaLineTests.cs
index 20f05463..efefed76 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceAreaLineTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceAreaLineTests.cs
@@ -114,7 +114,7 @@ public sealed class UnsTreeServiceAreaLineTests
ClusterId = "MAIN",
NamespaceId = "NS-1",
Name = "drv",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
db.SaveChanges();
@@ -156,7 +156,7 @@ public sealed class UnsTreeServiceAreaLineTests
ClusterId = "SITE-A",
NamespaceId = "NS-1",
Name = "drv",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
db.Equipment.Add(new Equipment
@@ -358,7 +358,7 @@ public sealed class UnsTreeServiceAreaLineTests
ClusterId = "MAIN",
NamespaceId = "NS-1",
Name = "drv",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
db.Equipment.Add(new Equipment
diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceDeleteClusterTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceDeleteClusterTests.cs
index 4af90ffd..4ad0aa42 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceDeleteClusterTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceDeleteClusterTests.cs
@@ -107,7 +107,7 @@ public sealed class UnsTreeServiceDeleteClusterTests
ClusterId = "CL-DRV",
NamespaceId = "NS-1",
Name = "drv",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
db.SaveChanges();
diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceEquipmentTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceEquipmentTests.cs
index 2c4ec37d..2a3c54e4 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceEquipmentTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceEquipmentTests.cs
@@ -43,7 +43,7 @@ public sealed class UnsTreeServiceEquipmentTests
ClusterId = driverCluster,
NamespaceId = "NS-1",
Name = "drv",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
}
@@ -174,7 +174,7 @@ public sealed class UnsTreeServiceEquipmentTests
ClusterId = "MAIN",
NamespaceId = "NS-1",
Name = "drv",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
db.SaveChanges();
diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceImportTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceImportTests.cs
index 45ffd48f..9ae706ed 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceImportTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceImportTests.cs
@@ -38,7 +38,7 @@ public sealed class UnsTreeServiceImportTests
ClusterId = driverCluster,
NamespaceId = "NS-1",
Name = "drv",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
}
diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceLoadEditTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceLoadEditTests.cs
index 798e2e5b..6fb14c66 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceLoadEditTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceLoadEditTests.cs
@@ -110,7 +110,7 @@ public sealed class UnsTreeServiceLoadEditTests
ClusterId = UnsTreeTestDb.PopulatedClusterId,
NamespaceId = "NS-1",
Name = "modbus-b",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
db.DriverInstances.Add(new DriverInstance
@@ -141,7 +141,7 @@ public sealed class UnsTreeServiceLoadEditTests
drivers[0].DriverInstanceId.ShouldBe("DRV-A");
drivers[0].Display.ShouldBe("DRV-A — galaxy-a (Galaxy)");
drivers[1].DriverInstanceId.ShouldBe("DRV-B");
- drivers[1].Display.ShouldBe("DRV-B — modbus-b (ModbusTcp)");
+ drivers[1].Display.ShouldBe("DRV-B — modbus-b (Modbus)");
}
/// Loading a seeded tag maps its fields, owning equipment, and a non-empty RowVersion.
diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceTagDriversTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceTagDriversTests.cs
index c61ba1f5..fae92934 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceTagDriversTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceTagDriversTests.cs
@@ -58,7 +58,7 @@ public sealed class UnsTreeServiceTagDriversTests
ClusterId = "MAIN",
NamespaceId = "NS-EQ",
Name = "equipment driver",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = """{"endpoint":"10.0.0.1:502"}""",
});
db.SaveChanges();
@@ -70,7 +70,7 @@ public sealed class UnsTreeServiceTagDriversTests
drivers.Count.ShouldBe(1);
drivers[0].DriverInstanceId.ShouldBe("DRV-EQ");
- drivers[0].DriverType.ShouldBe("ModbusTcp");
+ drivers[0].DriverType.ShouldBe("Modbus");
// The picker (Galaxy live-browse) opens its session against the selected driver's config.
drivers[0].DriverConfig.ShouldBe("""{"endpoint":"10.0.0.1:502"}""");
}
diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceTagTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceTagTests.cs
index 99f9e9ee..59a9449c 100644
--- a/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceTagTests.cs
+++ b/tests/Server/ZB.MOM.WW.OtOpcUa.AdminUI.Tests/Uns/UnsTreeServiceTagTests.cs
@@ -76,7 +76,7 @@ public sealed class UnsTreeServiceTagTests
ClusterId = equipmentCluster,
NamespaceId = "NS-EQ",
Name = "equipment driver",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
}
@@ -89,7 +89,7 @@ public sealed class UnsTreeServiceTagTests
ClusterId = equipmentCluster,
NamespaceId = "NS-SP",
Name = "non-equipment driver",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
}
@@ -110,7 +110,7 @@ public sealed class UnsTreeServiceTagTests
ClusterId = otherCluster,
NamespaceId = "NS-OTHER",
Name = "other-cluster driver",
- DriverType = "ModbusTcp",
+ DriverType = "Modbus",
DriverConfig = "{}",
});
}