Skip to content

Gude PDU support#334

Open
JonasLoeffelholz wants to merge 1 commit into
BlindspotSoftware:mainfrom
9elements:feat/add-gude-pdu-support
Open

Gude PDU support#334
JonasLoeffelholz wants to merge 1 commit into
BlindspotSoftware:mainfrom
9elements:feat/add-gude-pdu-support

Conversation

@JonasLoeffelholz

Copy link
Copy Markdown

Add Multi-PDU Support with Gude Implementation

Summary

This PR refactors the PDU module to support multiple PDU vendors through a pluggable interface architecture and adds full support for Gude brand PDUs. The original Intellinet/LogiLink-specific implementation has been abstracted to support different PDU types while maintaining backward compatibility.

Architecture Refactoring

Introduced PDU backend interface pattern: Created a pluggable architecture where different PDU implementations conform to a common interface
Extracted Intellinet implementation: Moved Intellinet/LogiLink-specific code from pdu.go to intellinet.go
Simplified core PDU logic: pdu.go now acts as a dispatcher that delegates to the appropriate backend based on pdutype configuratio

Gude PDU

Implemented Support for GUDE PDU API (for currently supported functionality of the pre existant PDU module)

@JonasLoeffelholz JonasLoeffelholz force-pushed the feat/add-gude-pdu-support branch 2 times, most recently from e54c6e4 to 077bcce Compare May 18, 2026 10:24
@JonasLoeffelholz JonasLoeffelholz force-pushed the feat/add-gude-pdu-support branch from 077bcce to b5081f0 Compare May 28, 2026 07:58

@jenstopp jenstopp left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice approach with the backend!
Need to look at the explicit implementations in more depth (it looks a bit weird that the general PDU type has an interface and the concrete implementations need that general type itself passed during their init).

Anyway, here is some first feedback.

Comment thread pkg/module/pdu/pdu.go Outdated
Comment thread pkg/module/pdu/pdu.go Outdated
Comment thread pkg/module/pdu/pdu.go Outdated
Comment thread pkg/module/pdu/pdu.go Outdated
Comment thread pkg/module/pdu/pdu.go Outdated
Comment thread pkg/module/pdu/README.md
Comment thread pkg/module/pdu/README.md Outdated
Comment thread pkg/module/pdu/pdu.go Outdated
Comment thread pkg/module/pdu/pdu.go Outdated
Comment thread pkg/module/pdu/pdu.go Outdated
@jenstopp jenstopp changed the title Feat/add gude pdu support Gude PDU support Jun 11, 2026
@JonasLoeffelholz JonasLoeffelholz force-pushed the feat/add-gude-pdu-support branch from b5081f0 to 34e3572 Compare June 11, 2026 09:04
@JonasLoeffelholz JonasLoeffelholz force-pushed the feat/add-gude-pdu-support branch from 34e3572 to 519899d Compare June 19, 2026 10:40
	*adds support for flexible pdu apis through backend interface pattern
	*moves intellinet (style) api interface to separate file
	*adds support for gude api

Signed-off-by: jonas loeffelholz <jonas.loeffelholz@9elements.com>
@JonasLoeffelholz JonasLoeffelholz force-pushed the feat/add-gude-pdu-support branch from 519899d to b94832f Compare June 19, 2026 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants