Skip to content

refactor(config): remove ADS MQTT topics, add stubs#116

Merged
q-soriarty merged 4 commits intodevelopfrom
feature/ads-mqtt-cleanup
Feb 14, 2026
Merged

refactor(config): remove ADS MQTT topics, add stubs#116
q-soriarty merged 4 commits intodevelopfrom
feature/ads-mqtt-cleanup

Conversation

@q-soriarty
Copy link
Collaborator

Summary

  • Remove AdsRead(), AdsWrite(), AdsNotification() from MqttTopics.cs — ADS is now direct
  • Add DeployStatus(Guid deployId) MQTT topic for deploy progress notifications
  • Update DeployService with IMqttService and TODO stubs (request, approve, get status)
  • Update TargetService with TODO stubs (list targets, deploy lock, deploy permission check)
  • Update doc/BUILD_SERVER_DESIGN.md and doc/MODULE_ARCHITECTURE.md with ADS-direct architecture
  • Update doc/ARCHITECTURE.md to replace all "ADS over MQTT" references

Dependencies

Test plan

  • dotnet build src/FlowForge.sln compiles (0 warnings, 0 errors)
  • dotnet test src/FlowForge.sln passes all tests

🤖 Generated with Claude Code

q-soriarty and others added 4 commits February 14, 2026 15:45
Add PlcAdsState enum, PlcStateDto, AdsConnectionInfo, and
AdsVariableSubscription to FlowForge.Shared for use across monitor and
build server without requiring Beckhoff NuGet dependencies. Update
PlcTargetDto with CurrentState and DeployRequestDto with AdsPort.
Create doc/ADS_INTEGRATION.md documenting the decision to use direct
Beckhoff.TwinCAT.Ads instead of custom MQTT ADS relay topics.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add IAdsDeployClient/AdsDeployClient using Beckhoff.TwinCAT.Ads for
deploy-time ADS operations (state read, config mode switch, restart).
Update DeployStep with IAdsDeployClient + IAutomationInterface injection
and documented deploy sequence. Add TargetConnectionInfo to BuildContext.
Clarify MqttHandler is for FlowForge internal messaging only.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace IMqttAdsClient/MqttAdsClient with IAdsClient/AdsClientWrapper
using Beckhoff.TwinCAT.Ads + TcpRouter for direct ADS-over-TCP from
Linux Docker containers. Add batch read (Sum Commands), PLC state read,
and ADS notification subscription to the interface. Update PlcDataHub to
use IAdsClient with SubscriptionManager. Add ADS connection config
(TargetHostname, AdsPort, AdsTcpPort) to MonitorOptions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove AdsRead/AdsWrite/AdsNotification MQTT topics — ADS communication
now uses Beckhoff.TwinCAT.Ads directly. Add DeployStatus topic for
deploy progress. Update DeployService with IMqttService dependency and
TODO stubs for deploy request/approval/status. Add TODO stubs to
TargetService for target listing, deploy lock, and permission checks.
Create BUILD_SERVER_DESIGN.md and MODULE_ARCHITECTURE.md. Update
ARCHITECTURE.md to reflect ADS-direct architecture throughout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@q-soriarty q-soriarty merged commit 9c3875b into develop Feb 14, 2026
2 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Feb 14, 2026
@q-soriarty q-soriarty deleted the feature/ads-mqtt-cleanup branch February 14, 2026 14:52
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant