diff --git a/internal/device/logic.go b/internal/device/logic.go index b74ed25..0b6948c 100644 --- a/internal/device/logic.go +++ b/internal/device/logic.go @@ -56,13 +56,13 @@ func (s *DeviceState) handleWriteCommand(cmd string) string { return "ERRORE: I comandi 'W' sono accettati solo in modalità programmazione." } - // Parse command format: "W " - parts := strings.Fields(cmd) + // Parse command format: "W=" + parts := strings.SplitN(cmd, "=", 2) if len(parts) != 2 { return "ERRORE: Formato comando non valido" } - // Extract parameter ID + // Extract parameter ID (remove "W" prefix from first part) idStr := strings.TrimPrefix(parts[0], "W") id, err := strconv.Atoi(idStr) if err != nil {