README.md — Documentation complète du projet

Refonte action Write : modifier les XML existants au lieu de les regenerer
This commit is contained in:
2026-03-04 08:16:23 +01:00
parent c75c731ddc
commit 83df3cc4ef
5 changed files with 467 additions and 46 deletions

View File

@@ -71,4 +71,30 @@ function New-EnoceanDeviceXml {
return $xml
}
Export-ModuleMember -Function Get-DeviceListFromJson, Parse-EnoceanDeviceXml, New-EnoceanDeviceXml
function Update-EnoceanDeviceId {
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[string]$XmlContent,
[Parameter(Mandatory)]
[string]$NewDeviceId
)
# Parser pour extraire les valeurs actuelles
[xml]$xml = $XmlContent
$config = $xml.EnOceanDevice.Configuration
$oldDeviceId = $config.DeviceId
$deviceType = $config.DeviceType
# Remplacement par regex sur le XML brut (preserve l'encodage et le formatage original)
$modifiedXml = $XmlContent -replace "<DeviceId>[^<]*</DeviceId>", "<DeviceId>$NewDeviceId</DeviceId>"
return @{
ModifiedXml = $modifiedXml
OldDeviceId = $oldDeviceId
DeviceType = $deviceType
}
}
Export-ModuleMember -Function Get-DeviceListFromJson, Parse-EnoceanDeviceXml, New-EnoceanDeviceXml, Update-EnoceanDeviceId